Bonjour. Je souhaite faire communiquer un module Wifi ESP01 avec une Arduino. L’un fonctionne en 3.3V, l’autre en 5V.
Pour créer la liaison série, je souhaite utiliser un convertisseur de niveau logique bidirectionnel 3.3/5V, le BOB12009 de chez Sparkfun.
Voilà comment l’utiliser:
J’ai donc respecté le câblage
- HV > 5V arduino
- GND > GND arduino
- HV1 > RX Arduino
- LV1 > TX ESP01
- HV2 > TX Arduino
- LV2 > RX ESP01
- LV > alimentation externe 3.3V
- GND > GND ESP01
Le problème est: les signaux transitent bien dans le sens Arduino -> ESP01, mais le signal ne transite pas dans le sens ESP01->Arduino.
La librairie Serial détecte bien qu’un signal est en cours de transmission (le code entre dans la condition if(Serial.available())
) mais quand on essaye de lire les données la chaîne de caractère est totalement vide…
J’ai fait des mesures au Voltmètre:
HV2-GND: 5V (rien d’étonnant, signal provenant de l’Arduino) LV2-GND: 3.3V (le composant fait bien son travail)
LV1-GND: 3.3V (rien d’étonnant signal provenant de l’ESP01) HV1-GND: 5V quand aucun signal n’est transmis (ce qui paraît normal) 3.3V quand un signal est transmis (le composant devrait sortir 5V, d’où le fait que l’Arduino lise mal le signal)
Avez vous une idée de l’origine du problème ?
Merci d’avance.