Problème IRremote

Bonjour à tous,

Je suis entrain de codé une télécommande de clim et j’ai un soucis pour passer mon code d’un Arduino mega vers un esp8266 :

  • Lorsque j’envoi mon code avec la mega, la clim se met en route
  • Avec l’esp rien à faire.

Je n’ai aucune erreur de compil, ma led IR marche, j’ai essayé sur différents ports.

Je suis vraiment bloqué, je ne comprends pas ce qui ne marche pas. Je soupçonne un problème de lib mais ou chercher ?

Merci d’avance pour votre aide

IR_send_esp.ino (7.39 KB)

IR_send_mega.ino (5.36 KB)

Les exemples utilisent 38000 plutôt que 38 pour ta variable khz.
Sinon, as-tu testé un exemple de la bibliothèque IRremoteESP8266.h ?

lesept:
Les exemples utilisent 38000 plutôt que 38 pour ta variable khz.
Sinon, as-tu testé un exemple de la bibliothèque IRremoteESP8266.h ?

Je teste ça ce soir. Merci pour l'info. J'avoue avoir repris mon code pompe sur un autre projet un peu bêtement. La valeur de la fréquence pourrait en effet poser problème.

Merci

Je viens de tester en mettant 38000, ca ne change rien. J'ai également changé le type de khz de int en uint_16t mais idem.

Globalement il ne m'est pas possible de prendre un exemple tout fais car ils sont spécifique à chaque appareil.

Une idée ?

J'ai l'impression qu'il existe plusieurs bibliothèques qui ont le même nom IRremoteESP8266.h. Laquelle as-tu installée ? Peux tu indiquer le site ou tu l'as téléchargée, ou copier les premières lignes dans un message ?

je l’ai prise directement depuis l’ide arduino.

IRremoteESP8266.h (19.9 KB)

Hello,

Malgré pas mal d'essais et de recherche, je suis toujours en galère. Quelqu'un aurait une idée ?

Ce n'est pas un problème de niveaux logique différents entre mega et esp?
Si j'ai bien compris le niveau logique du esp et de 3V3, celui du MEGA est de 5V.
Si c'est bien le cas le circuit pour piloter la LED IR sera different. Non?

savoriano:
Ce n'est pas un problème de niveaux logique différents entre mega et esp?
Si j'ai bien compris le niveau logique du esp et de 3V3, celui du MEGA est de 5V.
Si c'est bien le cas le circuit pour piloter la LED IR sera different. Non?

J'ai branché ma led IR en direct sans résistance ni rien sur les deux... Mais a priori la tension de commande est de 1.6v donc si ca passe sur la mega ca devrait aussi marcher sur l'esp non ?

T'as vue ce site?

Typically the output pin of an Arduino cannot supply sufficient current to drive and IR LED so you will want to implement a simple driver circuit using NPN transistor and a 470 ohm resistor is shown here:

Le hasard veux que moi aussi je suis en train de faire presque la même chose que toi.

savoriano:
T'as vue ce site? Le hasard veux que moi aussi je suis en train de faire presque la même chose que toi.

Ok, j'essaierai ce soir avec un transistor et en adaptant la résistance pour avoir la bonne tension. Après, comme j'ai dit, chez moi ça marche sur la mega et pas sur l'ESP. Tu penses que le courant en sortie de l'ESP est plus faible que sur la mega ?

40mA pour Mega
12mA pour esp8266
vu ici

savoriano:
40mA pour Mega
12mA pour esp8266
vu ici

Ceci explique cela. Le courant d'entrée des led doit être de 20ma...

Donc a priori si j'utilise la borne 5v de mon d1 mini pour alimenter mon transistor, j'aurais la limitation de mon alim en ampérage ?

Je viens de tester avec un transistor sur la sortie 5v du d1 mini et ca ne fonctionne toujours pas. Une autre idée?

T'as essayé de regarder la led avec ton téléphone? il faut mettre la camera du tel dans l'axe de la led IR.

je pense d'avoir compris:
Dans ton code pour esp t'as déclaré tes rows comme uint16_t

uint16_t WARM_high{

Après tu calcule le sizeof en utilisant int

int sizeofCOOL = sizeof(COOL) / sizeof(int);
irsend.sendRaw(WARM_high, sizeof(WARM_high) / sizeof(int), khz);

Le problème est uint16_t occupe 2 bytes et int sur esp occupe 4 bytes.
modifie tes sizeof(int) en sizeof(uint16_t)

void IRsend::sendRaw(uint16_t buf, uint16_t len, uint16_t hz)

on dirait que la librairie irRemoteESP8266 veut des Hz et pas de Khz

P.S. j'ai réussi de mon coté a allumer ma clim! :slight_smile:

Trop cool! Ça marche!!! Ça fait un mois que je bloque la dessus. Ça te dit d'échanger sur ce qu'on fait mutuellement sur nos projet de clim?

Mon projet:
Il y a 1 ans j'ai fait un thermostat avec arduino qui est dans le salon,


Cette été j'ai installé une clilm dans la cuisine et je voudrais que mon thermostat commande automatiquement ma clim..
Pour faire ça j'ai l’intention d'utiliser un Nano + module rf 433 mhz que j'ai acheté il y a 1 ans et que je voudrais les utiliser pour comprendre leur fonctionnement.

skarab2201:
Ceci explique cela. Le courant d'entrée des led doit être de 20ma...

Donc a priori si j'utilise la borne 5v de mon d1 mini pour alimenter mon transistor, j'aurais la limitation de mon alim en ampérage ?

skarab2201:
Je viens de tester avec un transistor sur la sortie 5v du d1 mini et ca ne fonctionne toujours pas. Une autre idée?

Je découvre ce sujet que j'ai lu en diagonale.
La question que je me pose : avec tous ces courants et tensions qui ont dépassé les limites garanties par les constructeurs le matériel n'est-il pas détruit ?

Je corrige des informations données :
Micro avr 5V le courant max en service c'est 20 mA et non pas 40 mA : les conneries ont la vie dures sur le net. Il existe même d'autres limitations comme courant d'alimentation sur le Vcc et Gnd limité à 200 mA

Appliquer 5V sur un micro alimenté en 3,3V est interdit : l'E/S correspondante à pu être détruite.

Je conseille de vérifier l'état du matériel avant de se prendre la tête sur le code.
Je conseille aussi de bien lire la documentation avant de brancher, c'est souvent profitable pour le porte-monnaie.

68tjs:
Je découvre ce sujet que j'ai lu en diagonale.
La question que je me pose : avec tous ces courants et tensions qui ont dépassé les limites garanties par les constructeurs le matériel n'est-il pas détruit ?

Effectivement, j'ai pu appliqué des tensions plus élevées sur mes led IR, mais :

  1. Comment aurais je pu dépasser le courant ? Ce n'est pas la led qui impose le courant de sortie ?
  2. Ma d1 ne peux dans tous les cas pas aller au dessus de 12mA sur chaque sortie non ?

68tjs:
Je corrige des informations données :
Micro avr 5V le courant max en service c'est 20 mA et non pas 40 mA : les conneries ont la vie dures sur le net. Il existe même d'autres limitations comme courant d'alimentation sur le Vcc et Gnd limité à 200 mA

Il ne me semble pas avoir lu ces informations dans ce topic ?

68tjs:
Appliquer 5V sur un micro alimenté en 3,3V est interdit : l'E/S correspondante à pu être détruite.

Je suis bien d'accord. Mais il ne me semble pas que ça ai été fait ?

68tjs:
Je conseille de vérifier l'état du matériel avant de se prendre la tête sur le code.
Je conseille aussi de bien lire la documentation avant de brancher, c'est souvent profitable pour le porte-monnaie.

Dans mon cas c'était bien le code... Comme je l'avais dit, ça marchait avec la Mega et pas avec la d1 mini. J'avais bien sur pris la peine de tester chaque sortie avec une led avant de poster.

En tout cas merci pour le complément d'information donné.