Raspberry Pi ist ein Prozessor-basiertes Board mit ARM-Architektur, das für Elektronikingenieure und Bastler entwickelt wurde. Der PI ist derzeit eine der vertrauenswürdigsten Projektentwicklungsplattformen. Mit höherer Prozessorgeschwindigkeit und 1 GB RAM kann der PI für viele hochkarätige Projekte wie Bildverarbeitung und IoT verwendet werden.
Um hochkarätige Projekte durchführen zu können, muss man die Grundfunktionen von PI verstehen. In diesen Tutorials werden wir alle grundlegenden Funktionen von Raspberry Pi behandeln. In jedem Tutorial werden wir eine der Funktionen von PI diskutieren. Am Ende dieser Raspberry Pi Tutorial-Reihe können Sie selbst hochkarätige Projekte durchführen. Gehen Sie die folgenden Tutorials durch:
- Erste Schritte mit Raspberry Pi
- Himbeer-Pi-Konfiguration
- LED Blinkend
- Tastenschnittstelle
- PWM-Erzeugung
- Gleichstrommotor steuern
- Schrittmotorsteuerung
- Schnittstellenschieberegister
- Raspberry Pi ADC Tutorial
- Servomotorsteuerung
- Kapazitives Touchpad
In diesem Tutorial steuern wir ein 16x2 LCD-Display mit Raspberry Pi. Wir werden das LCD mit den GPIO-Pins (General Purpose Input Output) von PI verbinden, um Zeichen darauf anzuzeigen. Wir werden ein Programm in PYTHON schreiben, um die entsprechenden Befehle über GPIO an das LCD zu senden und die erforderlichen Zeichen auf dem Bildschirm anzuzeigen. Dieser Bildschirm ist praktisch, um Sensorwerte, den Interrupt-Status und die Zeit anzuzeigen.
Es gibt verschiedene Arten von LCDs auf dem Markt. Grafik-LCD ist komplexer als 16x2-LCD. Hier geht es also um ein 16x2-LCD-Display. Wenn Sie möchten, können Sie sogar ein 16x1-LCD verwenden. 16x2 LCD verfügt über 32 Zeichen insgesamt, 16 in 1 st Linie und weitere 16 in 2 nd Linie. JHD162 ist ein 16x2 LCD-Modul mit LCD-Zeichen. Wir haben bereits 16x2 LCD mit 8051, AVR, Arduino usw. verbunden. Sie können alle unsere 16x2 LCD-Projekte finden, indem Sie diesem Link folgen.
Wir werden ein wenig über PI GPIO diskutieren, bevor wir fortfahren.
In Raspberry Pi 2 befinden sich 40 GPIO-Ausgangspins. Von 40 können jedoch nur 26 GPIO-Pins (GPIO2 bis GPIO27) programmiert werden. Einige dieser Pins erfüllen einige spezielle Funktionen. Mit speziellem GPIO haben wir noch 17 GPIO übrig.
Auf der Platine befinden sich + 5 V (Pin 2 oder 4) und + 3,3 V (Pin 1 oder 17) Leistungsausgangspins, die zum Anschließen anderer Module und Sensoren dienen. Wir werden das 16 * 2-LCD über die + 5V-Schiene mit Strom versorgen. Wir können ein Steuersignal von +3,3 V an das LCD senden, aber für das Funktionieren des LCD müssen wir es mit +5 V versorgen. Das LCD funktioniert nicht mit +3,3 V.
Um mehr über GPIO-Pins und ihre aktuellen Ausgänge zu erfahren, gehen Sie wie folgt vor: LED blinkt mit Raspberry Pi
Erforderliche Komponenten:
Hier verwenden wir Raspberry Pi 2 Model B mit Raspbian Jessie OS. Alle grundlegenden Hardware- und Softwareanforderungen wurden bereits erläutert. Sie können sie in der Raspberry Pi-Einführung nachschlagen.
- Verbindungsstifte
- 16 * 2 LCD-Modul
- 1KΩWiderstand (2 Stück)
- 10K Topf
- 1000µF Kondensator
- Steckbrett
Schaltung und Funktionserklärung:
Wie im Schaltplan gezeigt, haben wir Raspberry Pi mit LCD-Anzeige verbunden, indem 10 GPIO-Pins von PI an die Steuer- und Datenübertragungsstifte des 16 * 2-LCD angeschlossen wurden. Wir haben die GPIO-Pins 21, 20, 16, 12, 25, 24, 23 und 18 als BYTE verwendet und die Funktion 'PORT' zum Senden von Daten an das LCD erstellt. Hier ist GPIO 21 LSB (Least Significant Bit) und GPIO18 ist MSB (Most Significant Bit).
Das 16x2-LCD-Modul verfügt über 16 Pins, die in fünf Kategorien unterteilt werden können: Power-Pins, Kontraststifte, Steuerstifte, Datenstifte und Hintergrundbeleuchtungsstifte. Hier ist die kurze Beschreibung über sie:
Kategorie |
Pin NO. |
Pin Name |
Funktion |
Power Pins |
1 |
VSS |
Erdungsstift, mit Masse verbunden |
2 |
VDD oder Vcc |
Spannungsstift + 5V |
|
Kontraststift |
3 |
V0 oder VEE |
Kontrasteinstellung, über einen variablen Widerstand mit Vcc verbunden. |
Steuerstifte |
4 |
RS |
Register Select Pin, RS = 0 Befehlsmodus, RS = 1 Datenmodus |
5 |
RW |
Lese- / Schreibstift, RW = 0 Schreibmodus, RW = 1 Lesemodus |
|
6 |
E. |
Aktivieren, ein hoher bis niedriger Impuls muss das LCD aktivieren |
|
Datenstifte |
7-14 |
D0-D7 |
Datenstifte, Speichert die Daten, die auf dem LCD angezeigt werden sollen, oder die Befehlsanweisungen |
Stifte für die Hintergrundbeleuchtung |
15 |
LED + oder A. |
Zum Einschalten der Hintergrundbeleuchtung + 5V |
16 |
LED- oder K. |
Hintergrundbeleuchtung Boden |
Wir empfehlen dringend, nur diesen Artikel durchzugehen, um zu verstehen, wie das LCD mit seinen Pins und Hex-Befehlen funktioniert.
Wir werden kurz auf den Vorgang des Sendens von Daten an das LCD eingehen:
1. E ist hoch eingestellt (wodurch das Modul aktiviert wird) und RS ist niedrig eingestellt (sagt dem LCD, dass wir den Befehl geben).
2. Geben Sie dem Datenport den Wert 0x01 als Befehl zum Löschen des Bildschirms.
3. E ist hoch eingestellt (Aktivieren des Moduls) und RS ist hoch eingestellt (LCD wird angezeigt, dass wir Daten geben).
4. Der Nachweis des ASCII-Codes für Zeichen muss angezeigt werden.
5. E ist niedrig eingestellt (zeigt dem LCD an, dass wir mit dem Senden der Daten fertig sind).
6. Sobald dieser E-Pin niedrig wird, verarbeitet das LCD die empfangenen Daten und zeigt das entsprechende Ergebnis an. Daher wird dieser Pin vor dem Senden von Daten auf hoch gesetzt und nach dem Senden von Daten auf Masse gezogen.
Wie gesagt, wir werden die Charaktere nacheinander senden. Die Zeichen werden dem LCD durch ASCII-Codes (American Standard Code for Information Interchange) zugewiesen. Die Tabelle der ASCII-Codes ist unten dargestellt. Um beispielsweise ein Zeichen "@" anzuzeigen, müssen wir einen hexadezimalen Code "40" senden. Wenn wir dem LCD den Wert 0x73 geben, wird "s" angezeigt. Auf diese Weise senden wir die entsprechenden Codes an das LCD, um die Zeichenfolge „ CIRCUITDIGEST “ anzuzeigen.
Programmiererklärung:
Sobald alles gemäß Schaltplan angeschlossen ist, können wir den PI einschalten, um das Programm in PYHTON zu schreiben.
Wir werden über einige Befehle sprechen, die wir im PYHTON-Programm verwenden werden.
Wir werden die GPIO-Datei aus der Bibliothek importieren. Mit der folgenden Funktion können wir die GPIO-Pins von PI programmieren. Wir benennen auch "GPIO" in "IO" um. Wenn wir also im Programm auf GPIO-Pins verweisen möchten, verwenden wir das Wort "IO".
importiere RPi.GPIO als IO
Manchmal, wenn die GPIO-Pins, die wir verwenden möchten, andere Funktionen ausführen. In diesem Fall erhalten wir während der Ausführung des Programms Warnungen. Der folgende Befehl weist den PI an, die Warnungen zu ignorieren und mit dem Programm fortzufahren.
IO.setwarnings (False)
Wir können die GPIO-Pins von PI entweder anhand der Pin-Nummer an Bord oder anhand ihrer Funktionsnummer referenzieren. Wie 'PIN 29' auf der Karte ist 'GPIO5'. Also sagen wir hier entweder, dass wir den Pin hier durch '29' oder '5' darstellen werden.
IO.setmode (IO.BCM)
Wir setzen 10 GPIO-Pins als Ausgangspins für Daten- und Steuerpins des LCD.
IO.setup (6, IO.OUT) IO.setup (22, IO.OUT) IO.setup (21, IO.OUT) IO.setup (20, IO.OUT) IO.setup (16, IO.OUT) IO.setup (12, IO.OUT) IO.setup (25, IO.OUT) IO.setup (24, IO.OUT) IO.setup (23, IO.OUT) IO.setup (18, IO.OUT)
Während der Befehl 1: als Forever-Schleife verwendet wird, werden mit diesem Befehl die Anweisungen in dieser Schleife kontinuierlich ausgeführt.
Alle anderen Funktionen und Befehle wurden im folgenden Abschnitt 'Code' mit Hilfe von 'Kommentare' erläutert.
Nach dem Schreiben und Ausführen des Programms sendet der Raspberry Pi nacheinander Zeichen an das LCD, und das LCD zeigt die Zeichen auf dem Bildschirm an.