Usare un ricevitore IR e telecomando con Arduino

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.

Modulo sensore a infrarossi Arduino pinout, datasheet
Modulo sensore a infrarossi Arduino pinout, datasheet

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

Come usare ricevitore a infrarossi Arduino Uno
Come usare ricevitore a infrarossi (IR) Arduino Uno

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:



  1. la funzione irrecv.decode_results() della libreria IRremote.h assegna il nome della variabile results.value ai segnali ricevuti dal telecomando;
  2. 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

Collegamento servo e ricevitore IR ad Arduino
Collegamento servomotore e ricevitore IR 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:

  1. 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.

5/5 - (1 vote)


Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.