Communication IR

De Wiki L.A.B
Révision de 4 janvier 2016 à 16:57 par Adminsys (discussion | contributions) (PARTIE EMISSION)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
Matériel
  • 2 Arduino Uno
  • LED IR émittrice (exemple TSAL 6200)
  • KIT IR Réception (exemple SGK0002)
  • 2 résistances de 190 ohm (+/-)
  • APN avec déclenchement IR (Nikon D80 par exemple)
Principe

L'arduino couplé avec la LED IR va émettre en direction de l'arduino couplé avec le kit IR. Les exemples de code se basent sur la librairie IR REMOTE Cette librairie permet d’émettre et de recevoir via l’infrarouge; elle permet de gérer les protocoles NEC, Sony, Philips RC5/RC6 et le traitement de données brutes. La librairie comporte 2 fonctions essentielles, IRsend pour émettre un code et IRrecv pour recevoir un code. Article intéressant complémentaire : http://www.righto.com/2009/11/ir-bubbles-controlling-relay-with.html

Il est possible grâce à cette barrière IR de détecter qu'un objet la coupe par exemple et ainsi déclencher une action.

Montage
PARTIE RECEPTION

Recepteur-ir-fritz.jpg Recepteur-ir-photo2.jpeg

PARTIE EMISSION

Attention à bien utiliser le PIN 3 PWM

Emetteur-ir-fritz.jpg Emetteur-ir-photo.jpeg

Programme
PARTIE RECEPTION
#include <IRremote.h>

int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}
void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}
PARTIE EMISSION

Il est nécessaire d'utiliser le PIN 3 PWM d'après la documentation de la librairie

#include <IRremote.h>
IRsend irsend;
void setup()
{
  Serial.begin(9600);
}
void loop() {
    for (int i = 0; i < 3; i++) {
      irsend.sendSony(0xa90, 12); // Sony TV power code
      delay(40);
    }
}