• Post category:Nano
  • Commentaires de la publication :0 commentaire
  • Dernière modification de la publication :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