Bemerkung
Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten.
Warum beitreten?
Expertenunterstützung: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken.
Spezialrabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Gewinnspiele: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil.
👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [hier] und treten Sie heute bei!
Lesson 26: I2C LCD 1602
In dieser Lektion lernen Sie, wie Sie ein I2C LCD 1602 Display mit einem Raspberry Pi Pico W verbinden. Sie erfahren, wie Sie die I2C-Kommunikation einrichten, Nachrichten auf dem LCD mithilfe von MicroPython anzeigen und löschen.
Benötigte Komponenten
Für dieses Projekt benötigen wir folgende Komponenten.
Es ist definitiv praktisch, ein ganzes Kit zu kaufen. Hier ist der Link:
Name |
ITEMS IN THIS KIT |
LINK |
|---|---|---|
Universal Maker Sensor Kit |
94 |
Sie können sie auch einzeln über die folgenden Links kaufen.
Component Introduction |
Purchase Link |
|---|---|
Raspberry Pi Pico W |
|
Verkabelung
Bemerkung
Um sicherzustellen, dass das LCD-Modul ordnungsgemäß funktioniert, versorgen Sie es bitte mit dem VBUS-Pin am Pico.
Code
Bemerkung
Öffnen Sie die Datei
26_lcd1602_module.pyim Pfaduniversal-maker-sensor-kit-main/pico/Lesson_26_I2C_LCD1602_Moduleoder kopieren Sie diesen Code in Thonny und klicken Sie dann auf „Aktuelles Skript ausführen“ oder drücken Sie einfach F5, um es auszuführen. Für detaillierte Anleitungen lesen Sie bitte Code öffnen und direkt ausführen.Hier müssen Sie die Dateien
lcd1602.pyverwenden. Bitte überprüfen Sie, ob sie auf dem Pico W hochgeladen wurden. Für eine detaillierte Anleitung siehe Bibliotheken auf den Pico hochladen.Vergessen Sie nicht, auf den Interpreter „MicroPython (Raspberry Pi Pico)“ in der unteren rechten Ecke zu klicken.
from machine import I2C, Pin
from lcd1602 import LCD
import time
# Initialize I2C communication;
# Set SDA to pin 20, SCL to pin 21, and frequency to 400kHz
i2c = I2C(0, sda=Pin(20), scl=Pin(21), freq=400000)
# Create an LCD object for interfacing with the LCD1602 display
lcd = LCD(i2c)
# Display the first message on the LCD
# Use '\n' to create a new line.
string = "SunFounder\n LCD Tutorial"
lcd.message(string)
# Wait for 2 seconds
time.sleep(2)
# Clear the display
lcd.clear()
# Display the second message on the LCD
string = "Hello\n World!"
lcd.message(string)
# Wait for 5 seconds
time.sleep(5)
# Clear the display before exiting
lcd.clear()
Code-Analyse
Einrichten der I2C-Kommunikation
Das
machine-Modul wird verwendet, um die I2C-Kommunikation einzurichten. Dabei werden die SDA (Serial Data) und SCL (Serial Clock) Pins definiert (Pin 20 und 21) sowie die I2C-Frequenz (400 kHz).from machine import I2C, Pin i2c = I2C(0, sda=Pin(20), scl=Pin(21), freq=400000)
Initialisierung des LCD-Displays
Die Klasse
LCDaus dem Modullcd1602wird instanziiert. Diese Klasse übernimmt die Kommunikation mit dem LCD-Display über I2C. EinLCD-Objekt wird mithilfe desi2c-Objekts erstellt.Für weitere Anwendungen der
lcd1602-Bibliothek siehe bittelcd1602.py.from lcd1602 import LCD lcd = LCD(i2c)
Anzeigen von Nachrichten auf dem LCD
Die Methode
messagedesLCD-Objekts wird verwendet, um Text auf dem Bildschirm anzuzeigen. Das\n-Zeichen erstellt eine neue Zeile auf dem LCD. Die Funktiontime.sleep()pausiert die Ausführung für eine bestimmte Anzahl von Sekunden.string = "SunFounder\n LCD Tutorial" lcd.message(string) time.sleep(2) lcd.clear()
Löschen des Displays
Die Methode
cleardesLCD-Objekts wird aufgerufen, um den Text vom Display zu löschen.lcd.clear()
Anzeigen einer zweiten Nachricht
Eine neue Nachricht wird angezeigt, gefolgt von einer Verzögerung und anschließendem Löschen des Bildschirms erneut.
string = "Hello\n World!" lcd.message(string) time.sleep(5) lcd.clear()