Controlla una lampadina a LED con corrente alternata usando un telecomando infrarossi e un Arduino con un relè.

Controlla una lampadina a LED con corrente alternata usando un telecomando infrarossi e un Arduino con un relè.

In questo tutorial, impareremo come utilizzare un telecomando a infrarossi per controllare una lampadina AC tramite un Arduino e un modulo relè. Questo progetto prevede la decodifica dei segnali dal telecomando e il loro uso per controllare il relè, che a sua volta accenderà e spegnerà la lampadina AC. Alla fine di questo tutorial, sarai in grado di utilizzare qualsiasi telecomando a infrarossi per controllare il tuo apparecchio di illuminazione.

Utilizzeremo un ricevitore a infrarossi per catturare i segnali del telecomando, e l'Arduino interpreterà questi segnali per eseguire azioni specifiche. Il codice fornito ti permetterà di selezionare il tipo di telecomando (nero o bianco) e se stai utilizzando un PCB o un modulo nudo per il ricevitore. Assicurati di guardare il video associato per ulteriori dettagli e chiarimenti (nel video a :00).

Hardware Spiegato

Per questo progetto, i componenti principali includono la scheda Arduino, un modulo ricevitore a infrarossi e un modulo relè. Il ricevitore a infrarossi è responsabile della cattura dei segnali dal telecomando e dell'invio a Arduino. Il modulo relè funge da interruttore per controllare la lampadina AC, consentendole di accendersi e spegnersi in base ai segnali ricevuti.

Modulo relè a trigger di livello alto 5V
Modulo relè a trigger di livello alto 5V

Il ricevitore a infrarossi opera tipicamente a una frequenza di 38 kHz e può rilevare segnali da una distanza di circa 10 a 15 metri. Una volta che l'Arduino riceve il segnale, lo decodifica e utilizza il relè per controllare l'alimentazione della lampadina.

Istruzioni di cablaggio

IR_remote_AC_relay_wiring

Inizia il cablaggio collegando il modulo ricevitore a infrarossi all'Arduino. Il pin VCC del ricevitore si collega al pin 5V sull'Arduino e il pin di terra si collega a un pin GND. Il pin di segnale del ricevitore a infrarossi dovrebbe essere collegato a un pin digitale.11sull'Arduino.

Successivamente, collega il modulo relè. Il pin di controllo del relè dovrebbe essere collegato al pin digitale2sull'Arduino. Collega anche i pin VCC e GND del relè ai 5V e GND dell'Arduino, rispettivamente. Infine, collega la lampadina AC al relè secondo le specifiche del relè per garantire un funzionamento sicuro.

Esempi di codice e guida passo passo

Nella fase di impostazione del programma, inizializziamo la comunicazione seriale e configuriamo il pin del relè. L'identificatoreRECV_PINè impostato per11, dove è collegato il pin del segnale del ricevitore a infrarossi. Questo ci permette di ricevere dati dal telecomando.

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  pinMode(RELAY_PIN, OUTPUT); // define a pin for relay as OUTPUT
  digitalWrite(RELAY_PIN, HIGH); // set relay to OFF at the beginning
}

Nella funzione loop, controlliamo continuamente i segnali in arrivo dal telecomando. Quando viene rilevato un segnale, il valore viene decodificato e viene intrapresa l'azione corrispondente in base al tasto premuto.

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX); // Print the received value
    robojaxValidateCode(results.value); // Validate the code
    irrecv.resume(); // Receive the next value
  }
  delay(100);
}

IlrobojaxValidateCodeLa funzione controlla il codice ricevuto rispetto ai valori noti per il telecomando. A seconda di quale tasto viene premuto, eseguirà l'azione corrispondente utilizzando il relè.

void robojaxValidateCode(int cd) {
  if (type == 'W' && !PCB) {
    // Check White remote codes
    for (int i = 0; i < sizeof(whiteRemote) / sizeof(int); i++) {
      if (whiteRemote[i] == cd) {
        Serial.print("Key pressed: ");
        Serial.println(whiteRemoteKey[i]);
        relayAction(whiteRemoteKey[i]); // Take action
      }
    }
  }
}

In questa funzione, il codice verifica se il tasto premuto corrisponde ai valori dell'array definiti. Se viene trovata una corrispondenza, chiama ilrelayActionfunzione per accendere o spegnere il relè, a seconda del tasto premuto.

Dimostrazione / Cosa Aspettarsi

Dopo aver completato il cablaggio e caricato il codice, puoi utilizzare il tuo telecomando infrarosso per controllare la lampadina AC. Premi i tasti designati sul telecomando e il relè dovrebbe attivare o disattivare la lampadina di conseguenza. Assicurati di testare ogni tasto per vedere la sua risposta (nel video alle 5:00).

Timestamp video

  • 00:00 Inizio
  • 00:49 Introduzione
  • 02:00 Cablaggio e collegamento
  • 05:27 Codice Arduino spiegato
  • 09:51 Dimostrazione del controllo di una lampadina AC con diversi telecomandi
  • 13:13 Utilizzando il telecomando della TV per controllare la lampadina AC

Immagini

5V LOW-LEVEL trigger relay
5V LOW-LEVEL trigger relay
5V HIGH-level trigger relay module
5V HIGH-level trigger relay module
remote
remote
IR_remote_AC_relay_wiring
IR_remote_AC_relay_wiring
138-Source for controlling an AC load using an Arduino
Lingua: C++
Copia!

Cose di cui potresti avere bisogno

Risorse e riferimenti

Nessuna risorsa ancora.

File📁

Nessun file disponibile.