Emettre et Recevoir avec le même Arduino
Salut à tous,
Fin de Week End pour moi, j'étais chez des amis sur Rennes et du coup , je n'ai pas pu être très actifs.
Néanmoins j'ai enfin pu savourer les pâtisseries d'un ami pâtissier "Ismaël" qui est le chef cuisinier d'une sorte de salon de thé nommé "Le café d'Albertine".
Pour ceux qui souhaite y aller, vraiment vous ne regretterez pas, tout est frais et fait maison (sauf pour le thé, mais c'est du vrai) !
https://www.facebook.com/cafealbertinerennes
Pour ceux qui n'en n'ont rien à secouer des pâtisseries ou du thé, j'irais directement a l'essentiel.
Cet après midi, je me suis mis dans la tête de faire un équivalent de la TV-B-Gone, le gadget qui éteint n'importe qu'elle télé en 2 temps 3 mouvements.
Je savais recevoir l'infrarouge, mais pas l’émettre, et quand j'ai découvert comment que l'on faisait, je ne pouvais plus recevoir, ce qui était un peu gênant ....
Sniff c'est triste ...
En réalité, pour l’émission et la réception infrarouge via la librairie IRremote, il n'est pas possible de faire simultanément les 2 choses, dès lors que vous envoyez un signal, la réception se coupe et il faut la réactiver, il est donc nécessaire pour vous, d'utiliser la méthode "enableIRIn()" de l'objet IRrecv
Exemple, ici je vous ai fait un code qui reçoit un signal et le renvoi :
#include <IRremote.h>
IRrecv irrecv(11);
IRsend irsend;
decode_results results;void setup()
{
irrecv.enableIRIn(); // Start the receiver
}void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irsend.sendSony(0xa90, 12); // Sony TV power code
irrecv.resume(); // Receive the next value
irrecv.enableIRIn();
}}
Dans cet exemple :
J'indique que mon récepteur infrarouge se trouve sur la pin 11.
Dans la fonction setup, j'initialise le récepteur ...
Dans la fonction loop, dès que je reçois un signal, je le renvois, et je réactive la reception.
La pin pour l’émetteur, est un pin par défaut, mais ça n'est pas très clairement documenté sur le Net.
En théorie sur la pin 3 ça marche.