Hur använder jag en LCD -teckendisplay med en beaglebone svart?

Jul 22, 2025Lämna ett meddelande

Hur använder jag en LCD -teckendisplay med en beaglebone svart?

I världen av inbäddade system sticker BeagleBone Black ut som en kraftfull och mångsidig enstaka kortdator. När den är parad med en LCD -teckendisplay kan den användas för ett brett utbud av applikationer, från enkla statusindikatorer till komplexa datasövervakningssystem. Som leverantör av LCD -tecken visar är jag glad att dela med dig hur du integrerar en LCD -teckendisplay med en BeagleBone Black.

520x2 Lcd Display Lcd Module

Förstå BeagleBone Black och LCD -karaktären visar

BeagleBone Black är utrustad med en 1 GHz ARM -cortex - A8 -processor, 512 MB RAM och flera ingångs-/utgångsstift. Dessa stift tillåter den att kommunicera med olika externa enheter, inklusive LCD -teckendisplay.

LCD -teckendisplayer används ofta för att visa text och enkel grafik. De finns i olika storlekar och konfigurationer, till exempel20x2 LCD Display LCD -modul, The0802 LCD -skärmochLCD -display 16x1. Dessa skärmar använder vanligtvis Hitachi HD44780 -styrenheten eller en kompatibel, som har ett väl definierat kommunikationsprotokoll.

Hårdvaruanslutning

Innan vi börjar programmera måste vi ansluta LCD -teckendisplayen till BeagleBone Black. Här är de allmänna stegen:

  1. Strömförsörjning: Anslut VSS (GND) -stiftet på LCD -skärmen till markstiftet på BeagleBone Black. Anslut VDD (5V) -stiftet på LCD -skärmen till en 5V -kraftkälla. Om din BeagleBone Black kan ge 5V -ström kan du använda den direkt. Annars kan du behöva en extern strömförsörjning. Anslut VO (kontrastjustering) -stiftet till en potentiometer för att justera skärmens kontrast.
  2. Styrstift: Anslut RS (Registrera SELECT) -stiftet på LCD -skärmen till en GPIO -stift på BeagleBone Black. Denna PIN -kod används för att välja mellan instruktionsregister och dataregister. Anslut RW (läs/skriv) -stift till marken, eftersom vi huvudsakligen skriver data till displayen. Anslut e (aktivera) stiftet till en annan GPIO -stift på BeagleBone Black. Denna stift används för att spärra data i displayen.
  3. Datastift: Du kan välja att ansluta LCD -skärmen i antingen 4 -bit- eller 8 -bitläge. I 4 -bitläge, anslut D4 - D7 -stiften på LCD -skärmen till fyra GPIO -stift på BeagleBone Black. I 8 - BIT -läge, anslut alla D0 - D7 -stift till åtta GPIO -stift. 4 - BIT -läge är vanligare eftersom det använder färre GPIO -stift.

Mjukvaruuppsättning

När hårdvaran är ansluten måste vi skriva programvara för att styra LCD -skärmen. Vi kan använda Python, som har bibliotek som gör det enkelt att interagera med GPIO -stiften på BeagleBone Black.

Här är ett enkelt Python -kodexempel för att visa ett meddelande på en 16x2 LCD -skärm i 4 -bitläge:

import Adafruit_BBIO.GPIO as GPIO import time # Define GPIO pins for LCD control RS = "P8_7" E = "P8_8" D4 = "P8_9" D5 = "P8_10" D6 = "P8_11" D7 = "P8_12" # Function to send a 4 - bit nibble to the 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 & 0X08) == 0x08) gpio. eTio. eTio.Output (d7, (nable & 0x08 == 0x08) GPIO. 0XIO) GPIO.OUTPUT (D7, (NABBLE & 0X08) == 0x08) GPIO. Gpio.high) Time.sleep (0,0001) gpio.output (e, gpio.low) # Funktion för att skicka en byte till lcd def lcd_send_byte (byte, rs): gpio.output (rs, rs) high_nibble = (byte >> 4) & 0x0f low_nabel = byte & 0x0f lcd_send_nibble(high_nibble) lcd_send_nibble(low_nibble) time.sleep(0.0005) # Function to initialize the LCD def lcd_init(): GPIO.setup(RS, GPIO.OUT) GPIO.setup(E, GPIO.OUT) GPIO.setup(D4, GPIO.OUT) GPIO.setup(D5, Gpio.out) gpio.setup (d6, gpio.out) gpio.setup (d7, gpio.out) # initialisera lcd i 4 -bit -läge. Sleep (0.05) lcd_send_nibble (0x03) Time.Sleep (0.005) lcd_send_nbbling (0x0003) Time.SELE.0005) lcd_send_nibble(0x03) lcd_send_nibble(0x02) lcd_send_byte(0x28, GPIO.LOW) # 4 - bit mode, 2 lines, 5x8 dots lcd_send_byte(0x0C, GPIO.LOW) # Display on, cursor off lcd_send_byte(0x06, GPIO.LOW) # Inkrement Cursor LCD_SEND_BYTE (0x01, gpio.low) # Clear Display Time.Sleep (0.002) # Funktion för att visa en sträng på lcd def lcd_display_string (String): för char i sträng: lcd_send_byte (ord (char), gpio.high) # if __n) lcd_init () lcd_display_string ("Hej, beaglebone!") Medan sant: Pass utom KeyboardInterrupt: gpio.cleanup ()

Denna kod initialiserar först GPIO -stiften på BeagleBone Black. Sedan initialiserar den LCD -skärmen i 4 -bitläge. Slutligen visar det ett meddelande på LCD -skärmen.

Avancerad användning

Du kan göra mer än bara visa ett enkelt meddelande på LCD -skärmen. Till exempel kan du visa dynamiska data som sensoravläsningar. Du kan också skapa multi -linjedisplayer och använda anpassade tecken.

För att visa dynamiska data kan du ändralcd_display_stringFunktion för att uppdatera displayen med nya data med regelbundna intervall. Om du till exempel har en temperatursensor ansluten till BeagleBone Black kan du läsa temperaturvärdet och visa det på LCD -skärmen.

Importera adabruit_bbio.gpio som GPIO Importera tid Importera slumpmässigt # för att simulera sensordata # Definiera GPIO -stift för LCD -kontroll rs = "p8_7" e = "p8_8" d4 = "p8_9" d5 = "p8_10" d6 = "p8_11" d7 = "p8_12" # funktion att skicka en 4 -bit nbble till LCD defbebble 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 & 0x08) == 0x08) GPIO.output(E, GPIO.HIGH) time.sleep(0.0001) GPIO.output(E, GPIO.LOW) # Function to send a byte to the LCD def lcd_send_byte(byte, rs): GPIO.output(RS, rs) high_nibble = (byte >> 4) & 0x0F low_nibble = byte & 0x0F lcd_send_nibble(high_nibble) lcd_send_nibble(low_nibble) time.sleep(0.0005) # Function to initialize the LCD def lcd_init(): GPIO.setup(RS, GPIO.OUT) GPIO.setup(E, GPIO.OUT) GPIO.setup(D4, GPIO.OUT) GPIO.setup(D5, Gpio.out) gpio.setup (d6, gpio.out) gpio.setup (d7, gpio.out) # initialisera lcd i 4 -bit -läge. Sleep (0.05) lcd_send_nibble (0x03) Time.Sleep (0.005) lcd_send_nbbling (0x0003) Time.SELE.0005) lcd_send_nibble(0x03) lcd_send_nibble(0x02) lcd_send_byte(0x28, GPIO.LOW) # 4 - bit mode, 2 lines, 5x8 dots lcd_send_byte(0x0C, GPIO.LOW) # Display on, cursor off lcd_send_byte(0x06, GPIO.LOW) # Inkrement Cursor LCD_SEND_BYTE (0x01, gpio.low) # Clear Display Time.Sleep (0.002) # Funktion för att visa en sträng på lcd def lcd_display_string (String): för char i sträng: lcd_send_byte (ord (char), gpio.high) # if __n) lcd_init () medan sant: temperatur = slumpmässigt.randint (20, 30) # simulera temperaturläsning meddelande = f "temp: {temperatur} c" lcd_send_byte (0x01, gpio.low) # clear -visningstid.sleep (0.002) lcd_display_string (meddelande) tid.Sleep (2) utom tangenttavlan.

Slutsats

Att integrera en LCD -karaktärskärm med en BeagleBone Black är en enkel process. Med rätt hårdvaruanslutning och programmering av mjukvaru kan du skapa användbara och interaktiva skärmar. Som leverantör av LCD -tecken visar erbjuder vi ett brett utbud av produkter som är lämpliga för användning med BeagleBone Black. Om du är intresserad av att köpa LCD -teckendisplay för dina projekt, vänligen kontakta oss för mer information och för att starta en upphandlingsförhandling. Vi är engagerade i att tillhandahålla produkter av hög kvalitet och utmärkt kundservice.

Referenser

  • Adafruit BeagleBone GPIO Library Documentation
  • Hitachi HD44780 LCD Controller -datablad