- Erforderliche Komponenten
- Schaltplan
- Herstellung einer Leiterplatte für Raspberry Pi RGB LCD HAT mit EasyEDA
- Online-Berechnung und Bestellung von Leiterplattenmustern mit EasyEDA
- Himbeer-Pi-Setup für LCD-Hut
- Python-Code für Raspberry Pi LCD HAT
- Testen des Raspberry Pi RGB LCD HAT
Raspberry Pi Hüte sind die gleichen wie Schilde für Arduino, sie können direkt auf die Oberseite von Raspberry Pi passen und erfordern keine weiteren Verbindungen. Hier bauen wir einen RGB LCD Hut für Raspberry Pi auf PCB. Dieser LCD-Hut besteht aus einem 16x2-LCD-Modul, fünf Schaltern und drei NeoPixel-LEDs. Hier werden Schalter verwendet, um den angezeigten Text zu ändern, und NeoPixel-LEDs werden als Anzeigen verwendet. Diese Schalter und Neo-Pixel können gemäß den Anforderungen programmiert werden, z. B. können Schalter verwendet werden, um Sensorwerte wie Temperatur, Luftfeuchtigkeit usw. anzuzeigen, und Neo-Pixel können verwendet werden, um den Status wie Rot anzuzeigen, um Fehler anzuzeigen, und Grün, während einige Daten empfangen werden.
Hier verwenden wir die EasyEDA- Online-Software, um die Schaltung und die Leiterplatte für diesen Pi HAT zu entwerfen, und die JLCPCB, um die Leiterplatten zu bestellen.
Erforderliche Komponenten
- Himbeer Pi 4
- 16 * 2 LCD-Anzeigemodul
- Neopixel-LEDs (3)
- Kondensatoren
- Schalter (5)
Schaltplan
Das vollständige Schaltbild für Raspberry Pi RGB LCD HAT ist unten dargestellt. Das Schema wurde mit EasyEDA gezeichnet. Wie Sie sehen können, verbinden wir ein 16x2-LCD-Modul, 3 NeoPixel-LEDs und 5 Schalter mit Raspberry Pi. Ein Anschluss wird auch zum Aktivieren oder Deaktivieren der NeoPixel-LEDs verwendet.
Herstellung einer Leiterplatte für Raspberry Pi RGB LCD HAT mit EasyEDA
Bei der Entwicklung der Leiterplatte für Raspberry Pi RGB LCD HAT bestand die größte Herausforderung darin, den richtigen Platzbedarf zu ermitteln. Wenn die Abmessungen falsch sind, passen die Komponenten nicht auf die Leiterplatte. Glücklicherweise bietet EasyEDA Fußabdrücke für fast alle Komponenten auf dem Markt. Dies liegt an der großen Benutzergemeinschaft, in der Benutzer Fußabdrücke erstellen und der Öffentlichkeit zur Verwendung in ihren Projekten zur Verfügung stellen.
EasyEDA ist ein Online-EDA-Tool, das ich bereits oft verwendet habe und das ich als sehr praktisch empfand, da es eine gute Sammlung von Fußabdrücken enthält und Open Source ist. Nach dem Entwerfen der Leiterplatte können wir die Leiterplattenmuster über die kostengünstigen Leiterplattenherstellungsdienste JLCPCB bestellen. Sie bieten auch Komponentenbeschaffungsdienste an, bei denen sie über einen großen Bestand an elektronischen Komponenten verfügen und Benutzer ihre erforderlichen Komponenten zusammen mit der Leiterplattenbestellung bestellen können.
Während Sie die Schaltkreise und Leiterplatten entwerfen, können Sie auch Ihre Schaltkreise und Leiterplattenentwürfe veröffentlichen, damit andere Benutzer sie kopieren oder bearbeiten und von Ihrer Arbeit profitieren können. Wir haben auch dieses Pi RGB LCD-Hut-Design veröffentlicht. Überprüfen Sie Folgendes Verknüpfung:
- https://easyeda.com/CircuitDigest/Pi-RGB-LCD-HAT
Sie können jede Ebene (oben, unten, Oberschicht, untere Seide usw.) der Leiterplatte anzeigen, indem Sie die Ebene im Fenster "Ebenen" auswählen. Abgesehen davon bieten sie auch eine 3D-Modellansicht der Leiterplatte, wie sie nach der Herstellung aussehen würde. Der Schnappschuss der oberen und unteren Schicht des LCD-HAT würde ungefähr so aussehen:
Online-Berechnung und Bestellung von Leiterplattenmustern mit EasyEDA
Nachdem Sie das Design dieses PI RGB LCD-HAT abgeschlossen haben, können Sie die Leiterplatte über JLCPCB.com bestellen. Um die Platine bei JLCPCB zu bestellen, benötigen Sie Gerber File. Sie können die Gerber-Datei über den folgenden Link herunterladen:
- Gerber-Datei für Raspberry Pi RGB LCD-Hut
Um die Gerber-Dateien der Leiterplatte zu generieren, klicken Sie einfach auf der EasyEDA-Editorseite auf die Schaltfläche Fabrication File generieren, laden Sie die Gerber-Datei von dort herunter oder klicken Sie auf Order at JLCPCB (siehe Abbildung unten). Dadurch werden Sie zu JLCPCB.com weitergeleitet, wo Sie die Anzahl der zu bestellenden Leiterplatten, die Anzahl der benötigten Kupferschichten, die Leiterplattendicke, das Kupfergewicht, die Leiterplattenfarbe und andere Leiterplattenparameter auswählen können, wie in der folgenden Abbildung dargestellt:
Nachdem Sie auf die Schaltfläche " Bei JLCPCB bestellen" geklickt haben, gelangen Sie zur JLCPCB-Website, auf der Sie die Leiterplatte zu einem sehr günstigen Preis von 2 US-Dollar bestellen können. Ihre Bauzeit ist ebenfalls sehr viel kürzer, nämlich 48 Stunden bei einer DHL-Lieferung von 3-5 Tagen. Sie erhalten Ihre Leiterplatten innerhalb einer Woche nach Bestellung.
Nach der Bestellung der Leiterplatte können Sie den Produktionsfortschritt Ihrer Leiterplatte mit Datum und Uhrzeit überprüfen. Sie können dies überprüfen, indem Sie auf der Kontoseite auf den Link "Produktionsfortschritt" unter der Leiterplatte klicken (siehe Abbildung unten).
Nachdem ich einige Tage lang Leiterplatten bestellt hatte, erhielt ich die Leiterplattenmuster in ausgezeichneter Verpackung, wie in den folgenden Bildern gezeigt.
Nachdem Sie sichergestellt haben, dass die Spuren und Fußabdrücke korrekt sind. Ich fuhr mit dem Zusammenbau der Leiterplatte fort. Die vollständig gelötete Platine sieht wie folgt aus:
Himbeer-Pi-Setup für LCD-Hut
Bevor Sie mit der Programmierung des Raspberry Pi beginnen, aktualisieren Sie zuerst den Raspberry Pi und installieren Sie einige erforderliche Bibliotheken. Führen Sie die folgenden Befehle aus, um Raspberry Pi zu aktualisieren und zu aktualisieren:
sudo apt-get update sudo apt-get upgrade
Installieren Sie nun die Adafruit_Blinka-Bibliothek für NeoPixel-LEDs. Die Adafruit_Blinka-Bibliothek bietet die CircuitPython-Unterstützung in Python.
sudo pip3 installiere adafruit-Circuitpython-Neopixel
Installieren Sie anschließend die Adafruit_CharLCD-Bibliothek für das LCD-Modul. Diese Bibliothek ist für Adafruit-LCD-Karten gedacht, funktioniert aber auch mit LCD-Karten anderer Marken.
sudo pip3 installiert Adafruit-CharLCD
Python-Code für Raspberry Pi LCD HAT
Hier demonstrieren wir den RGB-LCD-Hut für Raspberry Pi, indem wir einige Schalter verwenden, um bestimmte Werte auf dem LCD-Modul und den RGB-LEDs als Anzeigen anzuzeigen. Wir müssen den Raspberry Pi also so programmieren, dass beim Drücken eines Schalters einige Sensorwerte oder andere Werte angezeigt werden.
Der vollständige Python-Code befindet sich am Ende der Seite. Hier erklären wir den Code Schritt für Schritt.
Starten Sie den Code, indem Sie alle erforderlichen Bibliotheken importieren.
RPi.GPIO als GPIO importieren Neopixel importieren Importzeit importieren Board importieren Adafruit_CharLCD als LCD importieren
Definieren Sie anschließend alle GPIO-Pins, an denen das LCD und andere Schalter angeschlossen sind.
lcd_rs = 7 lcd_de = 8 lcd_d4 = 25 lcd_d5 = 24 lcd_d6 = 23 lcd_d7 = 18 lcd_backlight = 2 sw0 = 5 sw2 = 13 sw3 = 19 sw4 = 26
Definieren Sie nun den GPIO-Modus im BCM-Modus. Sie können es auch in BOARD ändern. Definieren Sie dann alle Schaltstifte als Eingänge.
GPIO.setmode (GPIO.BCM) # BCM-GPIO-Nummern verwenden GPIO.setup (sw0, GPIO.IN) GPIO.setup (sw2, GPIO.IN) GPIO.setup (sw3, GPIO.IN) GPIO.setup (sw4, GPIO).IM)
Definieren Sie anschließend den GPIO-Pin, an dem die Neo Pixel-LEDs angeschlossen sind. Definieren Sie dann die Anzahl der Neo Pixel-LEDs. Hier werden drei LEDs verwendet, die Sie nach Ihren Wünschen ändern können.
pixel_pin = board.D21 num_pixels = 3
Weisen Sie nun in der Funktion lcddisplay () jedem Switch eine bestimmte Aufgabe zu. Wenn hier beispielsweise der erste Schalter gedrückt wird, sollte Raspberry Pi auf dem LCD 'UP' anzeigen, und wenn der zweite Schalter gedrückt wird, sollte auf dem LCD 'DOWN' usw. für die beiden anderen Tasten angezeigt werden.
Anstatt etwas auf ein LCD zu drucken, können Sie diese Schalter verwenden, um eine andere Aufgabe auszuführen. Sie können beispielsweise Schalter 1 zur Anzeige des Temperaturwerts, Schalter 2 zur Anzeige der Feuchtigkeitswerte und Schalter 3 zur Anzeige der Druckwerte usw. verwenden.
def lcddisplay (): if (GPIO.input (sw0) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('UP') if (GPIO.input (sw2) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('DOWN') if (GPIO.input (sw3) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('LEFT') if (GPIO.input (sw4) == False): lcd.clear () lcd.set_cursor (0,0) lcd.message ('RIGHT')
Innerhalb der while true- Schleife wird die Funktion pixels.fill verwendet, um die Neo-Pixel in verschiedenen Farben zu beleuchten. Daher ist der Pi so programmiert, dass die Neo-Pixel jeweils eine Sekunde lang in den Farben Rot, Grün und Blau leuchten.
Sie können diese Neo-Pixel auch als Indikatoren verwenden. Sie können beispielsweise ein Neo-Pixel mit roter Farbe aufleuchten lassen, um anzuzeigen, dass der Pi an die Stromquelle angeschlossen ist, oder Sie können andere LEDs verwenden, um anzuzeigen, dass der Pi die Daten empfängt oder sendet usw.
pixels.fill ((255, 0, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 255, 0)) pixels.show () time.sleep (1) pixels.fill ((0, 0, 255)) pixels.show () time.sleep (1) rainbow_cycle (0.001)
Testen des Raspberry Pi RGB LCD HAT
Nachdem wir das LCD zusammengebaut und mit Raspberry Pi verbunden haben, können wir diesen PI RGB LCD HAT verwenden. Führen Sie dazu den Python-Code mit dem folgenden Befehl aus.
python code_filename.py
Drücken Sie nun die Schalter. Wenn Sie den SW0-Schalter drücken, sollte auf dem LCD 'UP' angezeigt werden. Für den SW2-Schalter sollte "Down" und für den Rest der Schalter "Down" gedruckt werden.
Ein vollständiges Arbeitsvideo zusammen mit Python-Code finden Sie unten.