- Erforderliche Hardware:
- OLED-Displays kennenlernen:
- Schaltplan:
- OLED mit Raspberry Pi verbinden:
- Programmiererklärung:
Die meisten von uns sind mit dem 16 × 2-Punktmatrix-LCD-Display vertraut, das in den meisten Projekten verwendet wird, um dem Benutzer einige Informationen anzuzeigen. Diese LCD-Displays weisen jedoch viele Einschränkungen auf. In diesem Tutorial erfahren Sie mehr über das OLED-Display und dessen Verwendung mit Raspberry Pi. Es gibt viele Arten von OLED-Displays auf dem Markt und es gibt viele Möglichkeiten, sie zum Laufen zu bringen. Wir haben bereits 7 Pin OLED mit Arduino verwendet.
Erforderliche Hardware:
- 128 × 64 OLED-Anzeigemodul (SSD1306)
- Himbeer-Pi
- Steckbrett
- Kabel anschließen
- Energieversorgung
OLED-Displays kennenlernen:
Der Begriff OLED steht für „ Organic Light Emitting Diode “ ( Organische Leuchtdiode) und verwendet dieselbe Technologie wie die meisten unserer Fernseher, hat jedoch im Vergleich zu diesen weniger Pixel. Es macht wirklich Spaß, diese cool aussehenden Anzeigemodule mit dem Raspberry Pi zu verbinden, da dadurch unsere Projekte cool aussehen. Wir haben hier einen vollständigen Artikel über OLED-Displays und ihre Typen behandelt. Hier verwenden wir ein monochromes 4-poliges SSD1306 0,96-Zoll-OLED-Display. Dieses LCD kann nur mit dem I2C-Modus arbeiten.
Unten sind die Verbindungen von OLED mit Raspberry pi:
OLED Pin | RPI Pin |
VCC | 3.3v |
GND | GND |
SDA | SDA (physikalischer Pin 3) |
SCL | SCL (physikalischer Pin 5) |
Schaltplan:
OLED mit Raspberry Pi verbinden:
Die RPI-Community hat uns bereits viele Bibliotheken zur Verfügung gestellt, die direkt verwendet werden können, um dies viel einfacher zu machen. Ich habe einige Bibliotheken ausprobiert und festgestellt, dass die OLED-Bibliothek Adafruit_SSD1306 sehr einfach zu verwenden ist und über eine Handvoll grafischer Optionen verfügt. Daher werden wir diese in diesem Lernprogramm verwenden.
Schritt 1: Aktivieren Sie die I2C-Kommunikation
Vor der Installation der Adafruit SSD1306-Bibliothek müssen wir die I2C-Kommunikation in Raspberry Pi aktivieren.
So geben Sie dies in der Raspberry Pi-Konsole ein:
sudo raspi -config
Und dann erscheint ein blauer Bildschirm. Wählen Sie nun die Schnittstellenoption
Danach müssen wir I2C auswählen
Danach müssen wir Ja auswählen und die Eingabetaste drücken und dann OK
Danach müssen wir raspberry pi neu starten, indem wir den folgenden Befehl ausgeben:
Soda Neustart
Schritt 2: Suchen Sie die OLED I2C-Adresse und aktualisieren Sie sie
Dann müssen wir die OLED I2C-Adresse mit dem angegebenen Befehl finden, und Sie sehen eine hexadezimale Adresse.
sudo i2cdetect –y 1
Aktualisieren Sie dann Raspberry Pi mit dem angegebenen Befehl:
sudo apt-get update
Schritt 3: Installieren Sie Python-Pip und GPIO Library
Danach müssen wir pip mit dem angegebenen Befehl installieren :
sudo apt-get install build-essentielles python-dev python-pip
Und installieren Sie die Raspberry Pi GPIO-Bibliothek
sudo pip installiert RPi.GPIO
Schritt 4: Installieren Sie die Python Imaging Library und die smbus Library
Schließlich müssen wir die Python Imaging Library und die smbus Library in Raspberry Pi mit dem folgenden Befehl installieren:
sudo apt-get installiere Python-Imaging Python-Smbus
Schritt 5: Installieren Sie die Adafruit SSD1306-Python-Bibliothek
Jetzt ist es an der Zeit, den Python-Bibliothekscode und die Beispiele von Adafruit SSD1306 mithilfe der folgenden Befehle zu installieren:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Jetzt kann der Benutzer den Code der OLED-Schnittstelle in Raspberry Pi finden und ihn direkt abspielen oder selbst anpassen. Hier haben wir einen Beispielcode zur Demonstration angepasst. Den vollständigen Python-Code finden Sie am Ende des Artikels.
Programmiererklärung:
Der Programmierteil für die Anbindung von OLED an das RPi-Projekt ist einfach. Zuerst müssen wir einige notwendige Bibliotheken importieren.
Importzeit importieren Adafruit_GPIO.SPI als SPI importieren Adafruit_SSD1306 aus PIL importieren Bild aus PIL importieren ImageDraw aus PIL importieren ImageFont importieren Subprozess
Danach initialisieren Sie die Anzeige
RST = 0 disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST) disp.begin () disp.clear () disp.display () width = disp.width height = disp.height image1 = Image.new ('1', (width, height)) draw = ImageDraw.Draw (image1) draw.rectangle ((0,0, Breite, Höhe), Umriss = 0, Füllung = 0) padding = -2 top = padding bottom = height-padding x = 0 font = ImageFont.load_default () Danach können wir Daten oder Bilder unter Verwendung des angegebenen Codes an OLED senden
# Schreiben Sie zwei Textzeilen. disp.clear () disp.display () draw.text ((x, oben), "OLED-Schnittstelle", font = font, fill = 255) draw.text ((x, oben + 8), "Circuit Digest", font = font, fill = 255) draw.text ((x, oben + 16), "Für weitere Videos", font = font, fill = 255) draw.text ((x, oben + 25), "Visit at", font = font, fill = 255) draw.text ((x, oben + 34), "www.circuitdigest.com", font = font, fill = 255) # Bild anzeigen. disp.image (image1) disp.display () time.sleep (2) wenn disp.height == 64: image = Image.open ('img1.png'). convert ('1') else: image = Image. open ('img1.png'). convert ('1') disp.image (image) disp.display () time.sleep (2) if disp.height == 64: image = Image.open ('img3.jpg'). convert ('1') else: image = Image.open ('img3.jpg'). convert ('1')
Diese OLED gibt es in zwei Varianten: 128 * 32 und 128 * 64, sodass der Benutzer bei der Initialisierung der OLED jeden entsprechend auswählen kann. Hier haben wir diesen Code für beide geschrieben. Der Benutzer muss OLED nur für 128 * 64 Pixel wie folgt initialisieren:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Der gesamte Code und die Funktionen sind leicht zu verstehen und es ist keine weitere Erklärung erforderlich. Beginnen Sie einfach und spielen Sie mit Höhe, Breite und Bildern. Probieren Sie einige andere Funktionen aus, um coolere geometrische Figuren zu erstellen.
Der vollständige Python-Code und das Demonstrationsvideo sind unten angegeben. Hier finden Sie die Bilder, die wir in diesem Programm verwendet haben.
Überprüfen Sie auch die OLED-Schnittstelle mit Arduino.