Vom acționa un LED folosind o telecomandă.
Observație: înainte de a începe să scriem codul trebuie să instalăm o anumită bibliotecă.
În bara de meniu selectăm “Sketch” și apoi “Include Library” à “Manage Library”.
Link:
https://www.tinkercad.com/things/80hqKFDrtL/ima2-led-9
#include <IRremote.h>
int RECV_PIN = 11; // Pinul la care este conectat senzorul IR
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600); // Inițializarea comunicării seriale
irrecv.enableIRIn(); // Pornirea senzorului IR
pinMode(3, OUTPUT); // Setarea pinului 3 ca ieșire pentru bec
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX); // Afișarea valorii codului IR în format hexazecimal
unsigned long val = results.value; // Valoarea codului IR primit
switch(val){
case 0x4EA240AE: // Exemplu de cod hexazecimal pentru o tastă
digitalWrite(3, HIGH); // Aprinderea becului
break;
case 0x39D41DC6: // Exemplu de cod hexazecimal pentru o tastă
digitalWrite(3, LOW); // Stingerea becului
break;
default: // Dacă se primește un cod necunoscut, puteți adăuga un mesaj de eroare
break; }
irrecv.resume(); // Continuarea recepționării semnalelor IR }
}
Fiecare buton de pe telecomandă este asociat cu un cod hexazecimal unic. Când apăsăm un buton, telecomanda trimite acest cod către senzorul IR care primește semnalul infraroșu și îl convertește într-un cod hexazecimal. Arduino interpretează acest cod și decide ce să facă în funcție de valoarea codului. De exemplu, poate aprinde sau stinge un LED sau poate controla alte dispozitive. Acest proiect oferă o introducere captivantă în lumea controlului electronic și poate fi extins pentru a controla o gamă variată de dispozitive.
Aici sunt afișate valorile tastelor de la telecomandă.
Observație: în momentul în care scriem codul trebuie să punem secvența de 0x apoi valoarea citită de senzor, fiindcă 0x specifică faptul că urmează un număr hexazecimal.