ESP8266 et Arduino MEGA 2560

Bonjour à tous ,

voilà, je me décide, je mets ma fierté de coté et viens demander de l’aide…je me suis mis à Arduino il y a quelques mois les problèmes que j’ai pu rencontrer ont été résolu assez rapidement en général.

Ca c’etait jusqu’à il y a 2 mois : J’ai besoin pour un projet particulier qui necessite pas mal de mémoire cache d’utiliser un Arduino Mega. cet arduino mega doit etre connecté à internet. par conséquent, allons y pour une connexion avec l’ESP8266-01. je le branche comme je l’ai deja fait avec un arduino pro mini ou un arduino UNO mais là aucune réponse de l’ESP8266 aux demandes de mon arduino…

Je teste donc mon ESP8266 en direct sur mon FTDI en faisant des commandes AT et là pas de problèmes…

J’essaye donc avec un arduino UNO et mon sketch fonctionne(TX RX pas de pb entre esp et arduino). je reessaye donc avec mon mega et la meme configuration et toujours pas de mieux. après quelques vérifications je constate que mon arduino envoi bien des paquets à l’ESP, l’ESP fait bien son travail (connexion au WIFI, appel d’une page HTTP,…) mais il ne sait pas répondre à l’Arduino. par conséquent, je ne peux en aucun cas exploiter les réponses de l’ESP puisque je n’en ai jamais meme s’il semble bien comprendre les requetes de l’ARduino

j’ai tout essayé :

  • allimentation externe pour allimenter l’ESP

  • changement de pins(les differents serials 1,2 et 3, et meme les autres pins)

  • changer d’Arduino mega(j’en ai acheté un autre)

  • changer de ESP8266

  • burn de l’ESP avec la derniere version du firmware AT

  • ajout d’un controleur de niveau bi-directionnel pour les TX/RX 3.3v<=>5v

  • essayé avec d’autres sketch, des librairires ESP8266 dédiées

A priori, je ne vois pas pourquoi il y aurait un pb dans les branchements car avec le UNO ca fonctionne sans problème, de meme avec mes arduino pro mini 3.3V et 5V

Je ne sais plus quoi faire, je n’ai plus de cartouches, je ne trouve rien sur internet, y a des tuto pour connecter un mega avec un esp8266 et je semble le seul à avoir des problèmes.

Aidezmoiiiiiii, si vous plééééé !!!

Merci à ceux qui sont allé jusqu’au bout…

titimal: Aidezmoiiiiiii, si vous plééééé !!!!

On veut bien mais partage ton code qui marche sur la UNO et celui qui marche pas sur la MEGA, on sera plus à même de voir ce qui pourrai ne pas aller.

vu que le code fonctionne sur tous les autres arduino et que j’ai essayé avec differents codes dont certains sont uniquement les codes exemples de librairies ESP8266, je me disais que ca viendrait plus du device en question (arduino mega) plutot que du sketch mais ok, dès que je serai chez moi ce soir je mets le code en ligne. merci !

Bonjour,

Comment ton ESP8266 est-il alimenté ? D'où vient le 3.3V ?

j'ai essayé 2 choses pour l'allimentation de mon esp8266 en 3.3v :

  • allimentation par l'arduino mega 5v avec un regulateur de tension entre les 2
  • allimentation externe en 3.3v

voici le schéma de mon circuit(en PJ) et le code de mon sketch(j’en ai essayé plusieurs mais celui là est le plus simple) :

----------DEBUT SKETCH

#include <SoftwareSerial.h>
// On crée une communication série software pour l’ESP8266
SoftwareSerial espSerial(19, 18); // RX, TX
void setup() {
// On ouvre une communication serie hardware pour les messages destines au moniteur série
Serial.begin(19200);
// On ouvre la communication serie software pour l’ESP8266(dont le baudrate initial a été changé en 19200)
espSerial.begin(19200);

delay(1000);
if(Serial.available()) {
Serial.println(“Pret.”);
}
if(espSerial.available()) {
Serial.println(“Pret2”);
}
}
void loop() {
// si l’ESP8266 a quelque chose a nous dire, on ecrit son message sur le moniteur série
if (espSerial.available()) {
Serial.write(espSerial.read());
}
// si quelque chose a été saisi dans le moniteur série, on l’envoie à l’ESP8266
if (Serial.available()) {
Serial.write(Serial.read());
espSerial.write(Serial.read());
}
}
---------------------FIN SKETCH

sur le serial monitor, je n’ai que “pret”. il semble considérer que l’ESP n’est pas joignable…

Au lieu du SoftwareSerial, as-tu essayé Serial1 ? Parce que tu es branché sur un port série matériel, autant donc utiliser le Serial1 hardware plutôt que du soft serial.

D'ailleurs, il est écrit ici (https://www.arduino.cc/en/Reference/softwareSerial) que sur la Mega, la broche que tu as choisie ne peut pas faire de RX avec SoftwareSerial.

ca c'est en effet très interessant !. je vais tester tout de suite et je reviens vers toi pour te dire si ca fonctionne ou non. merci de ton aide !

MERCI 1000 fois !!!!! ca marche en effet en passant le RX sur les pins 10,11,12,13,14, ou 15.

J'ai maintenant un retour du ESP8266.

c'est parfait et résolu !