CONTENUTO ►
Considereremo come collegare il ricevitore IR alla scheda Arduino. Diremo quale libreria deve essere utilizzata per il ricevitore IR, dimostreremo uno sketch per testare il funzionamento del ricevitore a infrarossi con il telecomando. Analizziamo i comandi nel linguaggio IDE di Arduino per ricevere un segnale e controllare il LED e il servomotore. Va notato che il sensore IR non è adatto a tutti i telecomandi e la frequenza del segnale può essere diversa.
Per questa attività sono necessari:
- Arduino Uno / Arduino Nano / Arduino Mega
- modulo ricevitore infrarossi
- LED e resistenze
- servomotore
- breadboard
- cavi di collegamento
- libreria IRremote.h
Modulo sensore IR Arduino datasheet, pinout
I ricevitori a infrarossi sono oggi ampiamente utilizzati negli elettrodomestici grazie alla loro convenienza, semplicità e facilità d’uso. Questi dispositivi consentono di controllare gli elettrodomestici tramite telecomando e sono presenti in quasi tutti i tipi di apparecchi. Tuttavia, il modulo Bluetooth sta gradualmente guadagnando popolarità per il controllo remoto dei dispositivi, in quanto dispone di un feedback da parte del dispositivo.
Il ricevitore IR è in grado di ricevere ed elaborare un segnale a infrarossi, sotto forma di impulsi di una determinata durata e frequenza. In genere, un ricevitore IR ha tre gambe ed è composto dai seguenti elementi: fotodiodo, amplificatore, filtro passa-banda, rilevatore di ampiezza e transistor di uscita. Il segnale viene inviato a un filtro passa-banda sintonizzato su una frequenza fissa: 30; 33; 36; 38; 40 e 56 kilohertz e protegge il ricevitore dalle interferenze.
Collegamento ricevitore a infrarossi ad Arduino
Per collegare il ricevitore a infrarossi ad Arduino, utilizzare i tre pin che si collegano a – GND, 5V e qualsiasi pin digitale. All’inizio è consigliabile utilizzare 3,3 Volt per non danneggiare il sensore a infrarossi durante la configurazione. Collegare il ricevitore IR come indicato nello schema precedente e collegare il LED al pin 12. Prima di caricare il programma, è necessario installare la libreria IRremote.h, che non fa parte delle librerie standard.
Programma Arduino per sensore infrarossi con LED
#include "IRremote.h" IRrecv irrecv(A1); decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn(); pinMode(12, OUTPUT); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value); if (results.value == 16718055) { digitalWrite(12, HIGH); } if (results.value == 16724175) { digitalWrite(12, LOW); } irrecv.resume(); } }
Spiegazione del codice per sensore infrarossi con LED Arduino:
- la funzione irrecv.decode_results() della libreria IRremote.h assegna il nome della variabile results.value ai segnali ricevuti dal telecomando;
- nelle condizioni if (results.value == 16724175) è necessario inserire i valori che appariranno sul monitor della porta IDE di Arduino quando vengono premuti i pulsanti del telecomando.
Collegamento ricevitore IR e servomotore ad Arduino
Il ricevitore a infrarossi può essere utilizzato in molti dispositivi sul microcontrollore Arduino, compreso il controllo remoto del servoazionamento su Arduino dal ricevitore infrarossi. Durante la configurazione è necessario accendere il monitor della porta IDE di Arduino e scoprire quale segnale invia questo o quel pulsante del telecomando. I codici ottenuti devono essere utilizzati nel programma dopo il doppio segno di uguale nelle condizioni if ().
Programma Arduino per sensore infrarossi con servo
#include "IRremote.h" IRrecv irrecv(A1); decode_results results; #include "Servo.h" Servo myservo; void setup() { Serial.begin(9600); irrecv.enableIRIn(); myservo.attach(9); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value); if (results.value == 16718055) { myservo.write(10); } if (results.value == 16724175) { myservo.write(90); } irrecv.resume(); } }
Spiegazione del codice per sensore infrarossi con servo Arduino:
- nelle condizioni if (results.value == 16724175) è necessario inserire i valori che appariranno sul monitor della porta IDE di Arduino quando vengono premuti i pulsanti del telecomando.
Conclusione. Affinché il segnale del telecomando venga ricevuto dal ricevitore IR di Arduino, il telecomando deve avere la stessa frequenza su cui è impostato il filtro del ricevitore infrarossi. Pertanto, non tutti i telecomandi saranno adatti a controllare il servo, controllo di lampada e gli altri dispositivi collegati al microcontrollore. Questo non vale per il sensore e il telecomando del KIT Arduino. Domande sul lavoro con il sensore IR lasciare nei commenti.
Lascia un commento