Convertisseur de niveau logique ne fonctionne pas

a marqué ce sujet comme résolu.

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:

Image utilisateur
Image utilisateur

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. :)

+0 -0

Pourrais-tu essayer, sans transmettre des signaux directement entre les cartes, de tester le module en connectant simplement les pins d’alimentation (HV, LV, Gnd*2) et en mettant successivement du 5V sur HV1 (pour tester qu’il y ait bien 3V3 sur LV1) et du 3V3 sur LV1 pour vérifier la présence de 5V sur HV1 ?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte