Correo electrónico

admin@zgcxgdlcd.com

Teléfono

+8615919880141

WhatsApp

15919880141

¿Cómo usar una pantalla de caracteres LCD con un BeagleBone Black?

Jul 22, 2025Dejar un mensaje

¿Cómo usar una pantalla de caracteres LCD con un BeagleBone Black?

En el mundo de los sistemas integrados, el Beaglebone Black se destaca como una computadora única y versátil. Cuando se combina con una pantalla de caracteres LCD, se puede usar para una amplia gama de aplicaciones, desde indicadores de estado simples hasta sistemas de monitoreo de datos complejos. Como proveedor de pantallas LCD, estoy emocionado de compartir con ustedes cómo integrar una pantalla de caracteres LCD con un BeagleBone Black.

520x2 Lcd Display Lcd Module

Comprender las pantallas Beaglebone Black y LCD

El BeagleBone Black está equipado con un procesador de corteza ARM de 1 GHz - A8, 512 MB de RAM y múltiples pines de entrada/salida. Estos pines le permiten comunicarse con varios dispositivos externos, incluidas las pantallas de caracteres LCD.

Las pantallas de caracteres LCD se usan ampliamente para mostrar texto y gráficos simples. Vienen en diferentes tamaños y configuraciones, como elMódulo LCD de pantalla LCD 20x2, el0802 pantalla LCD, y elPantalla LCD 16x1. Estas pantallas generalmente usan el controlador Hitachi HD44780 o uno compatible, que tiene un protocolo de comunicación bien definido.

Conexión de hardware

Antes de comenzar a programar, necesitamos conectar la pantalla de caracteres LCD al BeagleBone Black. Aquí están los pasos generales:

  1. Fuente de alimentación: Conecte el pin VSS (GND) del LCD al pasador de tierra en el negro Beaglebone. Conecte el pin VDD (5V) de la LCD a una fuente de alimentación de 5V. Si su negro Beaglebone puede proporcionar una potencia de 5V, puede usarla directamente. De lo contrario, es posible que necesite una fuente de alimentación externa. Conecte el pin (ajuste de contraste) VO a un potenciómetro para ajustar el contraste de la pantalla.
  2. Alfileres de control: Conecte el pin RS (Registro seleccionado) de la LCD a un pin GPIO en el BeagleBone Black. Este PIN se utiliza para seleccionar entre el registro de instrucciones y el registro de datos. Conecte el pin RW (leer/escribir) al suelo, ya que escribiremos principalmente datos a la pantalla. Conecte el pin E (habilitar) a otro pasador GPIO en el BeagleBone Black. Este pin se utiliza para enganchar los datos en la pantalla.
  3. Pasadores de datos: Puede optar por conectar la LCD en modo de 4 bits o 8 bits. En modo de 4 bits, conecte los pines D4 - D7 de la LCD a cuatro pines GPIO en el BeagleBone Black. En modo de 8 bits, conecte todos los pines D0 - D7 a ocho pines GPIO. 4 - El modo de bit es más común, ya que usa menos pines GPIO.

Configuración de software

Una vez que el hardware está conectado, necesitamos escribir software para controlar la pantalla LCD. Podemos usar Python, que tiene bibliotecas que facilitan interactuar con los pines GPIO en el BeagleBone Black.

Aquí hay un simple ejemplo de código de Python para mostrar un mensaje en una pantalla LCD de 16x2 en el modo de 4 bits:

importar Adafruit_bbio.GPIO como GPIO Tiempo de importación # Defina los pines GPIO para el control LCD rs = "p8_7" e = "p8_8" d4 = "p8_9" d5 = "p8_10" d6 = "p8_11" d7 = "p8_12" # función para enviar un 4 - bit nibble a la lcd def LCD_SEND_NIBBLE (NIBBLE): gpio.output (d4, (nibble & 0x01) == 0x01) gpio.output (d5, (nibble & 0x02) == 0x02) gpio.output (d6, (nibble & 0x04) == 0x04) gpio.output (d7, (NIBBLE, (NIBBLE) == 0x08) gpio.output (e, gpio.high) time.sleep (0.0001) gpio.output (e, gpio.low) # función para enviar un byte al lcd def lcd_send_byte (byte, rs): gpio.output (rs, rs) high_nibble = (byte >> 4) & 0x0f 0x0f lcd_send_nibble (high_nibble) lcd_send_nibble (low_nibble) Time.sleep (0.0005) # función para inicializar el LCD def lcd_init (): gpio.setup (rs, gpio.out) gpio.setup (gpio.out) gpio.setup (d4, gpio) gpio) Gpio.setup (d5, gpio.out) gpio.setup (d6, gpio.out) gpio.setup (d7, gpio.out) # inicializar lcd en 4 - bit en modo tiempo.sleep (0.05) lcd_send_nibble (0x03) tiempo.sleep (0.005) lcd_send_nibble (0x03) lcd_send_nibble (0x03) lcd_send_nibble (0x02) lcd_send_byte (0x28, gpio.low) # 4 - modo bit, 2 líneas, 5x8 dots lcd_send_byte (0x0c, gpio.low) # visual Gpio.low) # increment cursor lcd_send_byte (0x01, gpio.low) # borrar visualización de tiempo.sleep (0.002) # función para mostrar una cadena en el lcd def lcd_display_string (string): para char en string: lcd_send_byte (ord (char), gpio.high) # programa principal # __ __ == "__main__": intente: lcd_init () lcd_display_string ("¡Hola, beaglebone!") Mientras que es verdadero: pase excepto tecladointerrupción: gpio.cleanup ()

Este código primero inicializa los pines GPIO en el BeagleBone Black. Luego inicializa la pantalla LCD en modo de 4 bits. Finalmente, muestra un mensaje en la pantalla LCD.

Uso avanzado

Puede hacer más que mostrar un mensaje simple en la pantalla LCD. Por ejemplo, puede mostrar datos dinámicos como lecturas de sensores. También puede crear pantallas múltiples de línea y usar caracteres personalizados.

Para mostrar datos dinámicos, puede modificar ellcd_display_stringFunciona para actualizar la pantalla con nuevos datos a intervalos regulares. Por ejemplo, si tiene un sensor de temperatura conectado al negro BeagleBone, puede leer el valor de temperatura y mostrarlo en la pantalla LCD.

importar Adafruit_bbio.gpio como GPIO Importar Tiempo de importación # para simular datos de sensor # Defina los pines GPIO para el control LCD rs = "p8_7" e = "p8_8" d4 = "p8_9" d5 = "p8_10" d6 = "p8_11" d7 = "p8_12" # función para enviar un 4 - bit nibbble a la lcd deficd deficd deficd defici a la lcd deficiente a la función lCDDFD a la lcd deficiente a la función lCDDFD a la lcd deficiente a la lcd deficiente al lcd deficiente a la lcd defici LCD_SEND_NIBBLE (NIBBLE): gpio.output (d4, (nibble & 0x01) == 0x01) gpio.output (d5, (nibble & 0x02) == 0x02) gpio.output (d6, (nibble & 0x04) == 0x04) gpio.output (d7, (NIBBLE, (NIBBLE) == 0x08) gpio.output (e, gpio.high) time.sleep (0.0001) gpio.output (e, gpio.low) # función para enviar un byte al lcd def lcd_send_byte (byte, rs): gpio.output (rs, rs) high_nibble = (byte >> 4) & 0x0f 0x0f lcd_send_nibble (high_nibble) lcd_send_nibble (low_nibble) Time.sleep (0.0005) # función para inicializar el LCD def lcd_init (): gpio.setup (rs, gpio.out) gpio.setup (gpio.out) gpio.setup (d4, gpio) gpio) Gpio.setup (d5, gpio.out) gpio.setup (d6, gpio.out) gpio.setup (d7, gpio.out) # inicializar lcd en 4 - bit en modo tiempo.sleep (0.05) lcd_send_nibble (0x03) tiempo.sleep (0.005) lcd_send_nibble (0x03) lcd_send_nibble (0x03) lcd_send_nibble (0x02) lcd_send_byte (0x28, gpio.low) # 4 - modo bit, 2 líneas, 5x8 dots lcd_send_byte (0x0c, gpio.low) # visual Gpio.low) # increment cursor lcd_send_byte (0x01, gpio.low) # borrar visualización de tiempo.sleep (0.002) # función para mostrar una cadena en el lcd def lcd_display_string (string): para char en string: lcd_send_byte (ord (char), gpio.high) # programa principal # __ __ == "__main__": intente: lcd_init () while true: temperatura = random.randint (20, 30) # simulando mensaje de lectura de temperatura = f "temp: {temperatura} c" lcd_send_byte (0x01, gpio.low) # transparente de pantalla tiempo.sleep (0.002) lcd_dislay_display_string (mensaje) tiempo.sleboard (2) excepto el tiempo de visualización: excepto el sueño (0.002) Gpio.cleanup ()

Conclusión

La integración de una pantalla de caracteres LCD con un BeagleBone Black es un proceso sencillo. Con la conexión de hardware correcta y la programación de software, puede crear pantallas útiles e interactivas. Como proveedor de pantallas LCD, ofrecemos una amplia gama de productos que son adecuados para su uso con el BeagleBone Black. Si está interesado en comprar pantallas LCD para sus proyectos, contáctenos para obtener más información y para comenzar una negociación de adquisiciones. Estamos comprometidos a proporcionar productos de alta calidad y un excelente servicio al cliente.

Referencias

  • Documentación de la biblioteca de Adafruit Beaglebone GPIO
  • Hoja de datos del controlador LCD Hitachi HD44780