Cum se folosește un afișaj de caractere LCD cu un negru Beaglebone?
În lumea sistemelor încorporate, Beaglebone Black iese în evidență ca un computer puternic și versatil. Când este asociat cu un afișaj de caractere LCD, acesta poate fi utilizat pentru o gamă largă de aplicații, de la indicatori de stare simplă la sisteme complexe de monitorizare a datelor. În calitate de furnizor de afișaje de caractere LCD, sunt încântat să vă împărtășesc cum să integrați un afișaj de caractere LCD cu un Beaglebone Black.


Înțelegerea afișajelor Beaglebone Black and LCD
Negrul Beaglebone este echipat cu un procesor ARM de 1 GHz - A8, 512 MB RAM și pini de intrare/ieșire multiplă. Acești pini îi permit să comunice cu diverse dispozitive externe, inclusiv afișaje de caractere LCD.
Afișajele de caractere LCD sunt utilizate pe scară largă pentru afișarea textului și a graficelor simple. Acestea vin în diferite dimensiuni și configurații, cum ar fi20x2 Modul LCD afișaj LCD, The0802 Afișare LCD, și TheAfișaj LCD 16x1. Aceste afișaje folosesc de obicei controlerul Hitachi HD44780 sau unul compatibil, care are un protocol de comunicare bine definit.
Conexiune hardware
Înainte de a începe programarea, trebuie să conectăm afișajul de caractere LCD la Beaglebone Black. Iată pașii generali:
- Alimentare electrică: Conectați știftul VSS (GND) al LCD la știftul de la Beaglebone Negru. Conectați pinul VDD (5V) al LCD la o sursă de alimentare de 5V. Dacă BeagleBone Black poate oferi o putere de 5V, o puteți utiliza direct. În caz contrar, este posibil să aveți nevoie de o sursă de alimentare externă. Conectați știftul VO (reglarea contrastului) la un potențiometru pentru a regla contrastul afișajului.
- Pinii de control: Conectați pinul RS (registru selectat) al LCD la un pin GPIO de pe BeagleBone Black. Acest PIN este utilizat pentru a selecta între registrul de instrucțiuni și registrul de date. Conectați pinul RW (citire/scriere) la sol, deoarece vom scrie în principal date pe afișaj. Conectați știftul E (activați) la un alt pin GPIO de pe BeagleBone Negru. Acest pin este utilizat pentru a bloca datele pe afișaj.
- Pini de date: Puteți alege să conectați LCD -ul fie în modul 4 - bit sau 8 - biți. În modul 4 - bit, conectați pinii D4 - D7 ale LCD la patru pini GPIO de pe Beaglebone Black. În modul 8 - Bit, conectați toate pinii D0 - D7 la opt pini GPIO. Modul 4 - Bit este mai frecvent, deoarece folosește mai puțini pini GPIO.
Configurare software
Odată ce hardware -ul este conectat, trebuie să scriem software pentru a controla ecranul LCD. Putem folosi Python, care are biblioteci care facilitează interacțiunea cu pinii GPIO de pe Beaglebone Black.
Iată un exemplu simplu de cod Python pentru a afișa un mesaj pe un ecran LCD 16x2 în modul 4 - bit:
Import Adafruit_bbio.gpio ca gpio Timp de import # Definiți pinii GPIO pentru controlul LCD rs = "p8_7" e = "p8_8" d4 = "p8_9" d5 = "p8_10" d6 = "p8_11" d7 = "p8_12" # funcție pentru a trimite un 4 - bit nibble la lcd defd defd defd. 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) ; 0x0F LCD_SEND_NIBBLE (HIGH_NIBBLE) LCD_SEND_NIBBLE (LOW_NIBBLE) TIME.SILDE (0,0005) # Funcție pentru inițializarea 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) # inițialize lcd în 4 - bit mod timp. lcd_send_nibble (0x03) lcd_send_nibble (0x02) lcd_send_byte (0x28, gpio.low) # 4 - modul de biți, 2 linii, 5x8 dots lcd_send_byte (0x0c, gpio.low) # afișează pe, cursor off lcd_send_byte (0x06, cursor off lcd_send_byte (0x06, cursor off lcd_send_byte (0x06, cursor off lcd_send_byte (0x06, Cursor off LCD_SEND_BIO.LOW) Gpio.low) # cursor de increment LCD_SEND_BYTE (0x01, gpio.low) # ștergeți afișarea timpului.sleep (0.002) # Funcție pentru a afișa un șir pe LCD DEF LCD_DISPLAY_SSTRING (String): pentru Char în String: LCD_SEND_BYTE (Ord (Char), gpio.high) # Programul principal If __name__ "__main__": încercați: lcd_init () lcd_display_string ("salut, beaglebone!") În timp ce adevărat: treceți, cu excepția tastaturii de tastatură: gpio.cleanup ()
Acest cod inițializează mai întâi pinii GPIO de pe Beaglebone Black. Apoi inițializează afișajul LCD în modul 4 - biți. În cele din urmă, afișează un mesaj pe ecranul LCD.
Utilizare avansată
Puteți face mai mult decât să afișați un mesaj simplu pe LCD. De exemplu, puteți afișa date dinamice, cum ar fi citirile senzorului. Puteți crea, de asemenea, afișaje multi -linii și puteți utiliza caractere personalizate.
Pentru a afișa date dinamice, puteți modificaLCD_DISPLAY_STRINGFuncție pentru a actualiza afișajul cu date noi la intervale regulate. De exemplu, dacă aveți un senzor de temperatură conectat la BeagleBone Black, puteți citi valoarea temperaturii și o puteți afișa pe ecranul LCD.
import Adafruit_bbio.gpio ca GPIO import timp de import aleatoriu # pentru simularea datelor senzorului # Definiți pinii GPIO pentru LCD Control rs = "p8_7" e = "p8_8" d4 = "p8_9" d5 = "p8_10" d6 = "p8_11" d7 = "p8_12" # funcție pentru a trimite un 4 - bit 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) ; 0x0F LCD_SEND_NIBBLE (HIGH_NIBBLE) LCD_SEND_NIBBLE (LOW_NIBBLE) TIME.SILDE (0,0005) # Funcție pentru inițializarea 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) # inițialize lcd în 4 - bit mod timp. lcd_send_nibble (0x03) lcd_send_nibble (0x02) lcd_send_byte (0x28, gpio.low) # 4 - modul de biți, 2 linii, 5x8 dots lcd_send_byte (0x0c, gpio.low) # afișează pe, cursor off lcd_send_byte (0x06, cursor off lcd_send_byte (0x06, cursor off lcd_send_byte (0x06, cursor off lcd_send_byte (0x06, Cursor off LCD_SEND_BIO.LOW) Gpio.low) # cursor de increment LCD_SEND_BYTE (0x01, gpio.low) # ștergeți afișarea timpului.sleep (0.002) # Funcție pentru a afișa un șir pe LCD DEF LCD_DISPLAY_SSTRING (String): pentru Char în String: LCD_SEND_BYTE (Ord (Char), gpio.high) # Programul principal If __name__ "__main__": încercați: lcd_init () în timp ce true: temperatură = random.randint (20, 30) # simularea mesajului de citire a temperaturii = f "temp: {temperatură} c" lcd_send_byte (0x01, gpio.low) # afișare clară.sleep (0.002) lcd_display_string (mesaj) time.sleep (2) lcd_display Gpio.cleanup ()
Concluzie
Integrarea unui afișaj de caractere LCD cu un BeagleBone Black este un proces simplu. Cu conexiunea hardware și programarea software potrivită, puteți crea afișaje utile și interactive. În calitate de furnizor de afișaje de caractere LCD, oferim o gamă largă de produse potrivite pentru utilizare cu Beaglebone Black. Dacă sunteți interesat să achiziționați afișaje de caractere LCD pentru proiectele dvs., vă rugăm să ne contactați pentru mai multe informații și să începeți o negociere a achizițiilor. Ne -am angajat să oferim produse de înaltă calitate și servicii excelente pentru clienți.
Referințe
- Adafruit Beaglebone GPIO Documentație bibliotecă
- Fișa de date Hitachi HD44780 LCD Controller LCD
