Stap 4: Getting Arduino te decoderen IR
-Volg de instructies in Ken's artikel "A multi-protocol IR Remote Library voor Arduino " u zult het samenstellen van een eenvoudige IR decoder schakeling met behulp van een 38KHz IR-ontvangersmodule opnemen en afspelen van IR-signalen met behulp van de Arduino. De meeste afstandsbedieningen gebruiken deze frequentie om te verzenden en ontvangen. Er zijn verscheidene verschillende IR protocollen die ook moeten worden beschouwd, maar Ken deed een knal van werk van het verklaren van hen hier .
Ik gooi in een plug voor Ladyada de Arduino tutorial site ook. Haar IR sensor tutorial is uitstekend!
Hoe dan ook, met behulp van Ken's circuit, gebruikt u de seriële monitor van de Arduino software-interface om te zien dat de werkelijke IR-codes de externe verzendt naar uw componenten waarmee de verschillende functies. Het is zo eenvoudig als het nemen van uw bestaande externe en schieten van elke knop op de ontvangersmodule. De codes zal verschijnen op de seriële monitor en alles wat je hoeft te doen is knippen en plakken in Kladblok of soortgelijke voor later gebruik in de schets! Hoewel ik gewoon breadboaded dit circuit, ik houd het handig voor eventuele toekomstige IR projecten kan ik verbind mij ertoe op de weg.
Moderne afstandsbedieningen hebben ton van knoppen en controle over tientallen functies. Omdat mijn B-8 stok grip slechts 8 knoppen heeft, moest ik sommige compromissen die nam wat planning. In mijn systeem, zijn alle mijn onderdelen (TV, DVD, muziekserver, iPod-dock, satelliet-TV box) vastgehaakt via HDMI op mijn receiver AVR. Normaal wordt mijn AV-systeem beheerd door een Harmony One remote afstandsbediening,, die gebruik maakt van macro's om te controleren elke "activiteit" geprogrammeerd erin. Bijvoorbeeld, als u druk op "TV kijken", blijkt op de AVR-ontvanger, TV, SAT vak in de reeks, selecteert de juiste TV-uitgang en AVR-modus, dan standaard ingesteld op het vak van de SAT voor het wijzigen van kanalen en de AVR voor het regelen van volume. Helaas niet kon ik gewoon kloon harmonie IR-signalen bij Ken's circuit en een activiteit toewijst aan elke knop, omdat met een bepaalde bedoeling het niet werkte. Dus om dit ding handig die ik moest vinden de 8 belangrijkste functies van de afstandsbediening die waren:
AVR on/off, TV on/off, AVR-modus selecteren (zodat ik tussen TV en muziek schakelen kon), Volume verhogen/verlagen, pijlknoppen op/neer en rechts (naar zenders kiezen of de muziekserver navigeren) en de terugkeer of terug knop. Aangezien dit apparaat is ontworpen voor mijn bar, nodig ik niet echt om te controleren mijn DVD-speler, omdat naast het drinken, ik ben sport kijken of luisteren naar muziek in daar. (Dit is waarschijnlijk 99% van wat ik de harmonie voor gebruiken, maar imho de harmonie is nog de moeite waard de $$ omdat het passeert de test "oppas".)
Met behulp van de Arduino knoppenbibliotheek ik een functie die is toegewezen aan elk van de 8 knoppen en de IR-codes toegevoegd aan de schets.
De meeste van mijn componenten gebruiken wat heet het NEC-protocol, maar voor mijn Samsung plasma, mij had voor toepassing IR Raw.
Een opmerking over de IR LEDs. Ik gebruikte drie van hen om te proberen te maximaliseren dekking wanneer zit aan de bar. De IR-signalen wilt bereiken zowel de plasma-TV en de AV-systeem rek die loodrecht op elkaar in de opmaak over van mijn bar zitten. Aangezien IR-signalen lijn van het zicht zijn, leg ik één elk op de bovenste hoeken van de achterkant van de doos van de controle, en één in het midden. Ze zijn bekabeld parallel zodat wanneer de Arduino de IR-codes verzendt, allemaal tegelijk brand met veel van de stroomsterkte. Ik ook de installatie van een regelmatige blauwe LED na te bootsen de IR zodat ik zien kan of het werkt. Dit zijn alle wired parallel (met hun eigen weerstand) en aangedreven door 2 x 3, 7V Li-Ionen. Ik hen in parallel geschakeld zodat als een uitvalt, de andere blijven werken zal aan maart op.
Ook, aangezien deze IR-DIODEN worden aangedreven door een externe bron in plaats van direct van de Arduino, ze hadden een 2N4401 transistor om over te schakelen. Ik vond een gemakkelijk te volgen uitleg over hoe dit te doen hier.
Een rode bewaakte "Raket" switch is aangesloten op de stroomvoorziening van de Arduino schakelt het systeem in- en uitschakelen. Ik wilde niet de Arduino om voortdurend gevoed worden als de vleermuizen snel omlaag zou lopen. Ik zetten een LED power indicator zodat ik vertellen kon als het systeem bleef op.