emission IR atmega 2560

bonjour,
je cherche à contrôler mes différents appareilles avec mon atmega 2560

j'ai essayé de nombreux tuto. pour la réception et le décodage des ondes, sa marche mais pour l'émission, aucune lumière infrarouge.

mon code
mais sa ne marche pas.

/*
Emission infrarouge
*/

#include <IRremote.h>

IRsend emission_ir; // crée une instance

void setup()
{
}

void loop()
{
emission_ir.sendNEC(0xff38c7, 32); // code télécommande CGV on/off
delay(10000);
}

merci de votre aide

Qu'est ce qui ne marche pas ?

Schéma électronique ? Broche utilisée ? Tu as mis une led normale pour voir si tu as du signal en sortie ? Quelle diode IR utilises-tu ? Tu es sur que c'est le bon code pour commander ta télé ? ...

La liste de questions est plus longue que ton code !

je suis partis de ce tuto: Librairie IRremote pour Arduino | iTechnoFrance

broche utilisé: 3

normalement c'est un code qui fonctionne et la led ir fonctionne bien.

comme l'arduino uno utilise la broche 3

pour l'arduino méga, est ce qu'il y à un port différent pour créer une émission IR dans la bibliothèque #include <IRremote.h>

car ça ne marche.

Quelques recherches avec IRremote.h + mega2560 ... Disent qu'il faut utiliser la pin9 comme émetteur ... Je ne suis pas un pro des ports registres et compagnie

Est-ce que tu voyais des flash ? (Soit avec une led normale, soit parfois les led IR emettent un peu de lumière visible) .. Si oui le problème est ailleurs ( mauvais code, led pas assez puissante, mauvaise frequence, ...), si non mauvais port (ou port grillé)

aucun flash sur la broche 3 mais on m'a dit que pour l'arduino méga que ça pourrai être le pin 9. donc je vais tester.

et aucun de mes pin ne sont griller car j'ai testé avec mes deux arduino méga.

merci

Cherche le fichier IRremoteInt.h dans le répertoire de la librairie. Il indique la broche à utiliser pour chaque type de carte. Pour chaque carte, il y a plusieurs possibilités. Seule une ligne doit être décommentée pour indiquer à la librairie la broche que tu veux utiliser

C'est effectivement le pin 9 merci beaucoup.

pour "voir" une diode ir flasher il suffit de la regarder sur l'ecran lcd d'un apn
test basique d'une tcde ir

j'ai un problème: quand je fait

Include IRremote.h

IRsend irsend;
int a=1;

void loop() {

if (a=1) {
irsend.sendNEC(0xFDB04F, 32);
delay(40);
}
delay(5000);
}

et sa ne marche pas par contre

Include IRremote.h

IRsend irsend;

void loop() {

for (int i = 0; i < 3; i++) {
irsend.sendNEC(0xFDB04F, 32);
delay(40);
}
delay(5000);
}

marche.

le problème, c'est que j'ai besoin d'émettre en infrarouge avec des boucles...
Merci

je pense qu'un :

if (a==1) // test d'égalité
{
.......
}

devrais mieux marcher que ton :

if (a=1) // affecte 1 à la variable a
{
.......
}

j'en profites pour souhaiter de joyeuses fêtes de Noël à toutes et tous, :slight_smile:

oui désolé j'ai fait une faute de frappe
le problème c'est que ces lignes de codes font plater le programmes

Include IRremote.h

IRsend irsend;
int a=1;

void loop() {

if (a==1) {
irsend.sendNEC(0xFDB04F, 32);
delay(40);
}
delay(5000);
}

Et si tu partais simplement d'un code de base fonctionnel pour ensuite l'adapter pas à pas ?

j'ai juste fait 4 ou 5 modifs dans ton code pour arriver à une version de base qui compile (pas essayée pour autant..)

bonne journée,

#include <IRremote.h>
IRsend irsend;

void setup()
{
}

void loop() 
{
  irsend.sendNEC(0xFDB04F, 32);
  delay(5000);
}

en fait il fallait mettre cette ligne de commande pour relancer la réception IR

irrecv.enableIRIn();