• Post category:Nano
  • Post comments:0 commentaire
  • Post last modified:mars 12, 2022
  • Temps de lecture :4 min de lecture

Allumer des Relais avec une Télécommande IR + récepteur 1838B avec un Arduino nano *

 

 

    Prérequis :

Matériel :

  • 1 x Carte Arduino Nano
  • 1 x Capteur infrarouge
  • 1 x Télécommande infrarouge
  • 1 x Module 4 Relais 5V
  • Fils de connexion
  • 1 x Breadboard

Version IDE :

Bibliothèque :

  • IRemote.h

 

 

Vidéo de démonstration :

 

Schéma de câblage :

 

Code :

const int relais1 = 3;  //Relais n°1 connectée sur PIN3
const int relais2 = 4;  //Relais n°2 connectée sur PIN4
const int relais3 = 5;  //Relais n°3 connectée sur PIN5
const int relais4 = 6;  //Relais n°4 connectée sur PIN6
int IR_RECEIVE_PIN = 2; //Ir Receiver connectée sur PIN2
boolean etatrelais1 = HIGH;
boolean etatrelais2 = HIGH;
boolean etatrelais3 = HIGH;
boolean etatrelais4 = HIGH;

#include <IRremote.h>
long int ir_val;
IRrecv irrecv(IR_RECEIVE_PIN);
decode_results results;

void setup() {
  Serial.begin(9600);
  pinMode(relais1, OUTPUT);
  pinMode(relais2, OUTPUT);
  pinMode(relais3, OUTPUT);
  pinMode(relais4, OUTPUT);
  digitalWrite(relais1, etatrelais1);
  digitalWrite(relais2, etatrelais2);
  digitalWrite(relais3, etatrelais3);
  digitalWrite(relais4, etatrelais4);
  irrecv.enableIRIn();
}

void loop() {
  if (IrReceiver.decode(&results)) {
    Serial.println(results.value, HEX);
    ir_val = results.value;
    Serial.println();
    Serial.println(ir_val);
    irrecv.resume();
  }
  if (ir_val == 0xFF30CF) {
    etatrelais1 = !etatrelais1;
    digitalWrite(relais1, etatrelais1);
    ir_val = 0;
  }
  if (ir_val == 0xFF18E7) {
    etatrelais2 = !etatrelais2;
    digitalWrite(relais2, etatrelais2);
    ir_val = 0;
  }
  if (ir_val == 0xFF7A85) {
    etatrelais3 = !etatrelais3;
    digitalWrite(relais3, etatrelais3);
    ir_val = 0;
  }
  if (ir_val == 0xFF10EF) {
    etatrelais4 = !etatrelais4;
    digitalWrite(relais4, etatrelais4);
    ir_val = 0;
  }
  if (ir_val == 0xFFA25D) {
    etatrelais1 = HIGH;
    etatrelais2 = HIGH;
    etatrelais3 = HIGH;
    etatrelais4 = HIGH;
    digitalWrite(relais1, etatrelais1);
    digitalWrite(relais2, etatrelais2);
    digitalWrite(relais3, etatrelais3);
    digitalWrite(relais4, etatrelais4);
    ir_val = 0;
  }
}

 


 

Laisser un commentaire