Cum se configurează o telecomandă IR Arduino
Biblioteca IRremote: Remote Arduino Code
Pentru a utiliza un receptor IR cu placa Arduino sau cu alte microcontrolere precum ATtiny85 sau ATtiny84, instalați mai întâi biblioteca IRremote de Ken Shirriff. Aceasta poate fi găsită căutând irremotelibrary prin managerul de biblioteci Arduino, sau este disponibilă pe GitHub aici. După instalare, veți avea acces la mai multe exemple noi sub File-Examples-IRremote.
Pentru acest experiment de control, puteți folosi un Arduino Uno, împreună cu un receptor de telecomandă IR Vishay TSOP4838 IR Remote Receiver. Acest receptor special este conceput pentru a lucra cu semnale în intervalul de 38kHz și filtrează cea mai mare parte a luminii naturale, demodulând în același timp semnalele de la unitățile de telecomandă standard de consum. 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. Veți vedea codul IR apărând pe terminal în hexazecimal, indicând că se citește corect.
Arduino IR LED Control
Pentru a face acest lucru un pic mai distractiv, puteți adăuga chiar și feedback de la LED-ul încorporat. Probabil că vă puteți da seama cum să faceți asta, dar această versiune ușor modificată a codului lui Shirriff produce feedback de la LED-ul încorporat la apăsarea oricărui buton. Nu este ceea ce v-ați dori în majoritatea situațiilor, dar dovedește că lucrurile funcționează.
Răspundeți la coduri individuale
Desigur, adevărata putere a acestui tip de telecomandă este că poate schimba canalul, volumul, poziția robotului sau orice altceva. Următorul pas este să identificați butonul pe care doriți să îl utilizați și să faceți ca Arduino să răspundă atunci când vede această intrare. Exemplul anterior identifică codurile particulare ale telecomenzii, iar această versiune extinsă adaugă declarații de tip switch case pentru a declanșa diferite acțiuni.
Acest cod prezintă trei opțiuni de intrare a codurilor, precum și un scenariu implicit „Unknown code” (Cod necunoscut) care este activat atunci când nu recunoaște ceea ce a fost trimis. Aceste opțiuni pot fi copiate, șterse și modificate după cum este necesar și, probabil, veți dori să setați ieșirea la ceva mai interesant decât să vă ofere un feedback despre butonul care a fost apăsat. Înlocuiți propriile coduri de telecomandă pentru a activa fiecare opțiune. Rețineți că această configurație poate funcționa cu diferite tipuri de telecomenzi, chiar și folosind mărci sau stiluri diferite în același program.
După ce v-ați deprins să controlați un Arduino prin intermediul unui controler extern cu infraroșu, puteți, de asemenea, să folosiți Arduino însuși pentru a genera aceste semnale. This could allow it to control another custom receiver setup, or even act as an Arduino universal IR remote control.