Hoe een Arduino IR-afstandsbediening in te stellen
IRremote Bibliotheek: Remote Arduino Code
Om een IR ontvanger te gebruiken met je Arduino board of andere microcontrollers zoals de ATtiny85 of ATtiny84, installeer je eerst de IRremote library van Ken Shirriff. Deze kan worden gevonden door te zoeken naar irremotelibrary in de Arduino bibliotheekmanager, of is hier beschikbaar op GitHub. Na installatie heb je toegang tot verschillende nieuwe voorbeelden onder File-Examples-IRremote.
Voor dit controle-experiment kun je een Arduino Uno gebruiken, samen met een Vishay TSOP4838 IR-afstandsontvanger. Deze specifieke ontvanger is ontworpen om te werken met signalen in het 38kHz bereik, en filtert het meeste natuurlijk voorkomende licht uit, terwijl het signalen demoduleert van standaard consumenten afstandsbedieningen. The TSOP4838’s supply pin is connected to Arduino 5V, ground to ground, and its output pin to Arduino pin 11.
See related product
A000066 | Arduino Uno Rev3
Arduino Corporation Embedded System Development Boards and Kits View
See related product
TSOP4838
Vishay IR Remote Receiver View
Open up the IRrecvDemo example and upload it to your board. With the Arduino still connected, open the serial monitor via Tools-Serial Monitor or Ctrl+Shift+M, and you’ll see a couple initial messages about the enabled IR input. Grab a remote—pretty much any remote—point it at the TSOP4838 and press a button. Je zult de IR code op de terminal zien verschijnen in hexadecimaal, wat aangeeft dat het goed leest.
Arduino IR LED Control
Om dit een beetje leuker te maken, kun je zelfs feedback toevoegen van de ingebouwde LED. Je kan waarschijnlijk zelf wel uitvinden hoe dat moet, maar deze licht aangepaste versie van Shirriff’s code produceert LED feedback op de ingebouwde LED met een druk op een knop. Het is niet wat je zou willen in de meeste situaties, maar het bewijst wel dat de dingen werken.
Reageer op individuele codes
De echte kracht van dit type afstandsbediening is natuurlijk dat het het kanaal, het volume, de robotpositie of iets anders kan veranderen. De volgende stap is het identificeren van de knop die je wilt gebruiken en je Arduino laten reageren wanneer het deze input ziet. Het eerdere voorbeeld identificeert uw specifieke afstandsbediening codes, en deze uitgebreide versie voegt switch case statements toe om verschillende acties te triggeren.
Deze code presenteert drie code input opties, evenals een standaard “Onbekende code” scenario dat wordt geactiveerd wanneer het niet herkent wat er is verzonden. Deze opties kunnen gekopieerd, verwijderd en aangepast worden naar behoefte, en u zult waarschijnlijk de output op iets interessanters willen zetten dan feedback geven over de knop die werd ingedrukt. Voer uw eigen afstandsbedieningscodes in om elke optie te activeren. Merk op dat deze opzet kan werken met verschillende types afstandsbedieningen, zelfs met verschillende merken of stijlen in hetzelfde programma.
Als je eenmaal de besturing van een Arduino via een externe infrarood controller onder de knie hebt, kun je ook de Arduino zelf gebruiken om deze signalen te genereren. This could allow it to control another custom receiver setup, or even act as an Arduino universal IR remote control.