Go Down

Topic: Télécommande IR (Read 734 times) previous topic - next topic

dcharletoux

Bonjour,

Je suis nouveau sur le forum et débute dans la programmation arduino.

je souhaite commander mon appareil photo avec un signal IR issue de ma carte arduino.

J'ai utiliser le programme IRrecvDump de la librairie IRremote pour obtenir les données relatives à ma télécommande. Voici ce qu'il m'indique :

Unknown encoding: 22AE7A29 (32 bits)
Raw (6): -27700 450 -1500 450 -3900 450

Question : Somment utiliser ces données pour générer mon signal IR sur la broche 3 de ma carte ?

Merci d'avance.

Didier

grosmatou2

salut adapte et teste si cela te va


Code: [Select]
/*************Telecommande_et_LEDs *********************
* 8 LEDs branchées aux sorties 2-9 de l'Arduino sont contrôlées
* au moyen d'une télécommande recyclée suivant le protocole RC5.
* Utilisation de la librairie IRremote de Ken Shirriff
********************************************************/
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#include <IRremote.h>
LiquidCrystal_I2C lcd(0x20,20,4);
int RECV_PIN = A0; // récepteur IR à la pin 11
 
IRrecv irrecv(RECV_PIN);
 
decode_results results;
 
int LED_state [8]; // 0 quand la LED est éteinte
 
void setup()
{
Serial.begin(9600);
lcd.init();
    lcd.backlight();
    lcd.print("Module: R.DERDERIAN");
     delay(3000);
           lcd.clear();
irrecv.enableIRIn();
 
for (int i=0; i <= 7; i++){
pinMode(i+2, OUTPUT);
}
 
}
 
 
void action(decode_results *results) {
int count = results->rawlen;
 
//if (results->decode_type == RC5) {
 
switch (results->value) {
 
case 0x1:
case 0xF786:
Serial.println("Commande 1");
    lcd.setCursor(0, 0);
    lcd.print("Commande 1");
LED_state[0] = !(LED_state[0]);//2
break;

case 0x2:
case 0xF746:
Serial.println("Commande 2");
    lcd.setCursor(0, 0);
    lcd.print("Commande 2");
LED_state[1] = !(LED_state[1]);//3
break;

case 0x3:
case 0xF7C6:
Serial.println("Commande 3");
    lcd.setCursor(0, 0);
    lcd.print("Commande 3");

LED_state[2] = !(LED_state[2]);//4
break;
case 0x4:
case 0xF726:
Serial.println("Commande 4");
    lcd.setCursor(0, 0);
    lcd.print("Commande 4");

LED_state[3] = !(LED_state[3]);//5
break;
case 0x5:
case 0xF7A6:
Serial.println("Commande 5");
    lcd.setCursor(0, 0);
    lcd.print("Commande 5");

LED_state[4] = !(LED_state[4]);//6
break;
case 0x6:
case 0xF766:
Serial.println("Commande 6");
    lcd.setCursor(0, 0);
    lcd.print("Commande 6");

LED_state[5] = !(LED_state[5]);//7
break;
case 0x7:
case 0xF7E6:
Serial.println("Commande 7");
    lcd.setCursor(0, 0);
    lcd.print("Bouton 7");
LED_state[6] = !(LED_state[6]);//7
break;

case 0x8:
case 0xF716:
Serial.println("Commande 8");
    lcd.setCursor(0, 0);
    lcd.print("Commande 8");
LED_state[7] = !(LED_state[7]);//8
break;

}
 
for (int i=0; i <= 7; i++){
digitalWrite(i+2, LED_state[i]);
}
}
 
 
void loop() {
if (irrecv.decode(&results)) {
action(&results);
irrecv.resume(); // Receive the next value
}
}

Go Up