Cómo usar un cambiador de nivel lógico para 1602 LCD

Por favor tengan paciencia conmigo ya que soy muy nuevo en electrónica. Estoy tratando de conectar un kit de desarrollo NodeMCU (ESP8266) con un 1602LCD. Estoy usando un convertidor i2c para interactuar con la pantalla LCD. La pantalla LCD requiere 5V. Creo que el kit de desarrollo nodemcu (esp8266), usa 3.3v para sus salidas digitales, pero tiene un VIN en el módulo, por lo que regula esos 5V a 3.3v internamente. Compré un convertidor de nivel lógico porque leí que lo necesitaría.

Sin embargo, la pantalla LCD funciona bien sin el convertidor de nivel lógico, así que estoy confundido. ¿Significa esto que es seguro usarlo tal como está? Busqué en Google cómo conectar un convertidor de nivel lógico bidireccional, pero estoy confundido acerca de las conexiones de alimentación.

Así es como se ve mi circuito en este momento:ingrese la descripción de la imagen aquí

¿Cómo debo conectar el convertidor de nivel lógico bidireccional (si es necesario)?

Además, ¿sería posible agregar tres leds de 5 mm a este circuito con la fuente de alimentación que estoy usando? No estoy seguro de qué resistencias usar porque solo quiero usar los LED como indicadores de potencia y no tiene que ser brillante.

Cualquier ayuda sería muy apreciada.

Respuestas (2)

No soy ingeniero electrónico... dicho esto, he usado una pantalla LCD 1602 con mi Orange PI Zero, que, como su ESP, también emite SDA y SCL a 3.3V (y no los 5V esperados por el 1602) . Al igual que en su configuración, la pantalla parece funcionar perfectamente, es decir, siempre que se alimente con 5V en su pin VCC. EDITAR: Pero sigue leyendo: al final, resultó que no estaba "funcionando perfectamente"...

Para estar 100% seguro, usaría su palanca de cambios de nivel de la siguiente manera:

  • Conecte los dos GND de la palanca de cambios a cualquiera de los pines GND de su ESP
  • Conecte 3.3V del ESP al "LV" de la palanca de cambios
  • Conecte 5V al "HV" de la palanca de cambios.
  • Conecte los pines SDA y SCL de su ESP a dos "LV" de la palanca de cambios (por ejemplo, LV1 y LV2)
  • Conecte los pines HV correspondientes al SDA y SCL de la pantalla (por ejemplo, HV1 y HV2).

Eso debería funcionar, y darle la tranquilidad de saber que la pantalla no está quemando lentamente la electrónica de su ESP.

Probablemente debería seguir mi propio consejo y hacer lo mismo con mi configuración muy similar de Orange PI Zero :-)

EDITAR: Actualizado, una semana después :

Configuración de mi Orange PI Zero con el 1602

Compré un cambiador de nivel de 4 canales en eBay (no publico el enlace por temor a ser clasificado como un spammer). Muy barato - 1,5 euros - y 1 euro para el envío a los Países Bajos (que tardó dos días en llegar desde Francia). De hecho, compré dos de las palancas de cambio; tener una de repuesto siempre es una buena política :-)

Soldé los encabezados y conecté la palanca de cambios como describí anteriormente; y todo funciono fabulosamente. Curioso por ver cuál fue el impacto real, también usé mi alcance para ver el nivel de SDA y SCL antes y después del uso de la palanca de cambios. Resultó que cuando estaba conectando el SDA/SCL de Orange PI Zero directamente al SDA/SCL de la pantalla, el nivel subió a 3.9V, es decir, por encima de los 3.3V que deberían tener los pines GPIO...

No eran 5V, pero tampoco eran 3.3V. Supongo que el circuito I2C que está conectado al 1602 causa una caída de voltaje propia, reduciéndolo a 3.9V. Pero lo importante es que el resultado final fue 3,9 V en los pines SDA y SCL del Orange PI Zero, por encima de 3,3 V... En cambio, con la palanca de cambios en su lugar como se describe arriba, los valores ahora son exactamente correctos: ambos SDA y SCL están a 3.3V.

Ahora me siento más seguro con mi PI :-)

Solo para su información, explicaré los 3,9 V que midió: "Supongo que el circuito I2C que está conectado al 1602 provoca una caída de voltaje propia, reduciéndolo a 3,9 V". No es del todo correcto :-) La interfaz I2C adjunta a la pantalla LCD de 5V estaba elevando las señales I2C a través de resistencias a 5V. Sin embargo, el GPIO del Orange Pi es (nominalmente) de 3,3 V (3,6 V máx.). Luego, un poco más arriba, las estructuras de protección ESD de los pines del SOC comenzarán a conducir corriente y limitarán el voltaje de entrada (¡hasta que se quemen!). Tuviste suerte de que las señales I2C de 5 V estuvieran limitadas en corriente por las resistencias pull-up.
La hoja de datos de Orange Pi SOC vinculada aquí podría ser útil: Max voltage on GPIO pin - Foro de Orange Pi . Hay discusiones previas aquí en Stack Exchange sobre cómo permitir que la corriente fluya a través de las estructuras de protección ESD dentro de los circuitos integrados (que pueden ser similares, pero no tienen que ser, diodos a los rieles de suministro), especialmente corrientes altas o incluso corrientes bajas durante períodos prolongados. períodos. Así que es bueno que hayas notado el problema y lo hayas solucionado. Fue una buena idea usar el alcance para verificar cualquier señal de la que no estaba seguro.
@SamGibson: Gracias, Sam. Aprendí mucho de tus comentarios (provocaron lecturas adicionales sobre protección ESD).

¿Cómo debo conectar el convertidor de nivel lógico bidireccional (si es necesario)?

la mejor manera de traducir es no traducir en absoluto. debe explorar si puede ejecutar su host a 5v o ejecutar su lcd a 3.3v; estoy mirando un 1602 funcionando a 3v en este momento.

el truco es producir Vlcd lo suficientemente negativo (frente a Vdd, típicamente en el rango de 4 - 5v). hay numerosas maneras de hacer eso. Por ejemplo, una bomba de carga alimentada por un tren de pulsos generado por su anfitrión.

Aparte de eso, intente usar una resistencia: son bastante simples y confiables como traductores.

si eso no funciona, hay muchos traductores, desde versiones discretas (NXP tiene una nota de aplicación sobre eso) hasta circuitos integrados.