Problème connectique ESP8266

Bonjour à tous,

Je rencontre un problème de connectique entre mon ESP8266 et mon arduino UNO (ELEGOO UNO R3), et je n'ai trouvé la solution sur aucun forum.

Lorsque je branche la pin CH_PD sur l'alim, la led rouge de l'ESP s'éteint. Résultat : impossible pour moi de recevoir de réponses de mon ESP lorsque j'entre des commandes AT dans le moniteur série ? Auriez vous une solution ?

Voici mes branchements actuels :

VCC -> 3.3V RST -> non branchée CH_PD -> 3.3V TX -> Digital Pin 2 RX -> Digital Pin 3 GPIO0 -> non branchée GPIO1 -> non branchée GND -> GND de l'UNO

Merci de ta réponse pepe ! J’ai réussi à faire fonctionner l’ESP en combinant ma configuration et la tienne. Je vous détaille la solution que j’ai trouvé :

ESP UNO

TX Digital Pin 2
CHPD Digital Pin 9
RST NON CONNECTEE
VCC 5V
RX 5V , avec une pont diviseur de tension pour qu’en sortie j’ai du 3.3V qui alimente
cette pin (2 resistances de 1K et 2K)
GPIO0 NON CONNECTEE
GPIO2 Digital Pin 10
GND GND

Je vous transmets aussi le code que j’execute :

#include <SoftwareSerial.h>
//#define RST_PIN 8 //Reset pin
#define CHPD_PIN 9 //CHPD pin
#define GPIO_PIN 10 //Flashmode pin

SoftwareSerial ESP(2, 3);

void setup() {
//Open serial
Serial.begin(115200);
ESP.begin(115200);

//Set pin modes on arduino
// pinMode(RST_PIN, OUTPUT);
pinMode(CHPD_PIN, OUTPUT);
pinMode(GPIO_PIN, OUTPUT);

//CHPD et RESET in running state (HIGH)
//GPIO0 in flash mode (LOW)
digitalWrite(CHPD_PIN, HIGH);
//digitalWrite(RST_PIN, LOW);
digitalWrite(GPIO_PIN, HIGH);

//Wait for serial to come up
while(!Serial);
}

void loop()
{
while(ESP.available() > 0)
{
char a = ESP.read();
if(a == ‘\0’)
continue;
if(a != ‘\r’ && a != ‘\n’ && (a < 32))
continue;
Serial.print(a);
}

while(Serial.available() > 0)
{
char a = Serial.read();
Serial.write(a);
ESP.write(a);
}
}

Cependant, un problème persiste : lorsque le programme est combiné et televersé, et que j’ouvre le moniteur série, lorsque que j’écrit une commande AT, elle apparait deux fois…
Exemple : lorsque j’écrit AT, j’obtiens :

AT
AT

OK

Ce n’est pas un énorme problème, mais si vous pouviez me conseiller sur comment optimiser mon code :slight_smile:

Envoyer

ATE0: pour echo off. ATE1: pour echo on.

pepe: À moins de disposer d'une version spéciale de module ESP intégrant un régulateur 3,3V, il paraît plutôt dangereux d'effectuer ce branchement.

D'après la datasheet de l'ESP8266, la tension maximale admissible sur VCC est 3,6V. Une valeur supérieure risque d'endommager ou de détruire la puce.

Le problème c'est qu'en passant sur du 3,3V, le courant est trop faible (étrangement) pour faire fonctionner le module ESP, même en passant par une alimentation externe type pile. Après c'est peut être du au fait que ma UNO a en partie cramer et que la borne 3.3V fournit du 5V :drooling_face:. J'ai recommandé une carte donc à voir.

En tout cas merci pour les conseils sur le programme :)

La sortie 3.3v du UNO ne peut pas fournir assez de jus pour un esp (50mA Max contre 320mA demande en pic et pas loin de 70 en régime de croisière)