How to Set Up an Arduino IR Remote
IRremote Library: Remote Arduino Code
Aby użyć odbiornika IR z płytką Arduino lub innymi mikrokontrolerami, takimi jak ATtiny85 lub ATtiny84, najpierw zainstaluj bibliotekę IRremote autorstwa Kena Shirriffa. Można ją znaleźć, wyszukując irremotelibrary w menedżerze bibliotek Arduino lub jest dostępna na GitHubie tutaj. Po zainstalowaniu będziesz miał dostęp do kilku nowych przykładów pod File-Examples-IRremote.
Do tego eksperymentu kontrolnego możesz użyć Arduino Uno, wraz z odbiornikiem IR Remote Vishay TSOP4838. Ten konkretny odbiornik jest zaprojektowany do pracy z sygnałami w zakresie 38kHz, i filtruje większość naturalnie występującego światła, jednocześnie demodulując sygnały ze standardowych pilotów konsumenckich. 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. Zobaczysz, że kod IR wyskoczy na terminalu w systemie szesnastkowym, wskazując, że odczyt jest prawidłowy.
Sterowanie diodą IR w Arduino
Aby uczynić to trochę bardziej zabawnym, możesz nawet dodać informację zwrotną z wbudowanej diody LED. Prawdopodobnie możesz dowiedzieć się, jak to zrobić, ale ta lekko zmodyfikowana wersja kodu Shirriff’a wytwarza informację zwrotną na wbudowanej diodzie LED po naciśnięciu dowolnego przycisku. To nie jest to, czego byśmy chcieli w większości sytuacji, ale dowodzi, że wszystko działa.
Odpowiedź na poszczególne kody
Oczywiście, prawdziwą mocą tego typu pilota jest to, że może zmienić kanał, głośność, pozycję robota lub cokolwiek innego. Następnym krokiem jest zidentyfikowanie przycisku, którego chcesz użyć i sprawienie, aby twoje Arduino zareagowało, gdy zobaczy to wejście. Wcześniejszy przykład identyfikuje poszczególne kody pilota, a ta rozszerzona wersja dodaje instrukcje switch case, aby wywołać różne akcje.
Ten kod przedstawia trzy opcje wprowadzania kodu, jak również domyślny scenariusz „Nieznany kod”, który jest aktywowany, gdy nie rozpoznaje tego, co zostało wysłane. Opcje te mogą być kopiowane, usuwane i modyfikowane według potrzeb, a Ty prawdopodobnie będziesz chciał ustawić wyjście na coś bardziej interesującego niż informacja zwrotna o przycisku, który został naciśnięty. Zastąp własne kody zdalnego sterowania, aby aktywować każdą opcję. Zauważ, że ta konfiguracja może działać z różnymi typami pilotów, nawet przy użyciu różnych marek lub stylów w tym samym programie.
Gdy już opanujesz sterowanie Arduino za pomocą zewnętrznego kontrolera podczerwieni, możesz także użyć samego Arduino do wygenerowania tych sygnałów. This could allow it to control another custom receiver setup, or even act as an Arduino universal IR remote control.