| Das 2 x 16 Zeichen Display mit dem Raspberry PiIn dem folgenden Mini-Projekt wird ein 2x16 Display an Raspberry Pi angeschlossen und angesteuert. Das Display stellt zwei
Zeilen für Text zur Verfügung. In jeder Zeile können 16 Zeichen angezeigt werden. Das Beispiel bezieht sich auf ein Display, das mit einem
HD44780 Controller-Chip (oder einem auf ihm basierend) ausgestattet ist. Die meisten im Handel angebotenen Displays erfüllen diese
Bedienung. Sie können günstig so im Fachhandel als auch bei allgemeinen Internet-Anbietern wie Amazon oder Ebay erworben werden. Hier
kommt ein Display mit Bezeichnung 1602A QAPASS zum Einsatz: Display 2x16 Frontansicht Display 2x16 Rückseite Die Anschlussleiste des Displays besteht aus 16 Anschlüssen. Bei den Anschlüssen VSS/VDD handelt es sich um Spannungsversorgung.
Das Display arbeitet mit 5 VDC. Die beiden letzten Anschlüsse A und K (15/16) sind für Hintergrundbeleuchtung zuständig. Mithilfe des
Anschlusses V0 (Pin Nr. 3) kann Kontrast eingestellt werden. Hier kann ein Poti angeschlossen werden, wodurch Kontrast stufenlos verändert
werden kann. Die vollständige Pinbelegung des Displays sieht wie folgt aus: Display - Pinbelegung Die Anschlüsse RS, RW und E sind Steueranschlüsse. Am Pin 7 bis Pin 14 werden Datenleitungen angeschlossen.
Pinbelegung_Raspberry_PI Das Display kann grundsätzlich über vier oder acht Datenleitungen angesprochen werden. In der folgenden Schaltung werden
vier Datenleitungen verwendet. Bei dieser Methode werden die Datenanschlüsse des Displays D4 bis D7 verwendet.
Raspi und LCD-Display-2x16: Schaltplan Aufgebaute Testschaltung könnte dann so aussehen: Testschaltung Das ProgrammUm das Display anzusprechen, wird eine Bibliothek, die uns Datenübertragung mit notwendiger Synchronisation und
Byte-Zerlegung (4 Datenleitungen = 4 Bit Übertragung) abnimmt, verwendet. In diesem Fall kommt die Bibliothek „Adafruit_CircuitPython_CharLCD“
zum Einsatz
# ----------------------------------------------- # Display 2x16 (4 Bit) # Raspberry Pi 3B # Python 3 # ----------------------------------------------- from time import sleep from datetime import datetime import board import digitalio import adafruit_character_lcd.character_lcd as characterlcd # Display Daten ------------------------------------------------- lcd_columns = 16 lcd_rows = 2 # Digitale Ausgänge --------------------------------------------- lcd_rs = digitalio.DigitalInOut(board.D22) lcd_en = digitalio.DigitalInOut(board.D17) lcd_d4 = digitalio.DigitalInOut(board.D25) lcd_d5 = digitalio.DigitalInOut(board.D24) lcd_d6 = digitalio.DigitalInOut(board.D23) lcd_d7 = digitalio.DigitalInOut(board.D18) # Initialisierung ----------------------------------------------- lcd = characterlcd.Character_LCD_Mono(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6,lcd_d7, lcd_columns,lcd_rows) while True: # aktuelles Datum ------------------------------------------- lcd.clear() lcd.message = "Aktuelles Datum:" sleep(2) lcd.message = datetime.now().strftime('\n %d %b %y') sleep(3) # aktuelle Zeit --------------------------------------------- lcd.clear() lcd.message = "Aktuelle Zeit:" sleep(2) for i in range (5): lcd.message = datetime.now().strftime('\n %H:%M:%S') sleep(1) # Blinkender Cursor ----------------------------------------- lcd.clear() lcd.message = "Cursor blinkt:\n" sleep(2) lcd.blink = True sleep(5) lcd.blink = False # Cursor Ein / Aus ------------------------------------------ lcd.clear() lcd.message = "Cursor Ein/Aus\n" sleep(2) lcd.cursor = True sleep(3) lcd.cursor = False # Links-Scrollen -------------------------------------------- lcd.clear() Satz = "LINKS-SCROLLEN" lcd.message = Satz sleep(2) for i in range(len(Satz)): lcd.move_left() sleep(0.5) sleep(1) # Rechts-Scrollen ------------------------------------------- lcd.clear() Satz = "RECHTS-SCROLLEN" lcd.message = Satz sleep(2) for i in range(16): lcd.move_right() sleep(0.5) sleep(1) # ---------------------------------------------------------- KurzvideoKurzvideo: Raspi & 2x16 Display Weitere Themen:
|