Codeschnipsel – OLED am Raspi

Und zum diversen Beitrag auf unserer Projekteseite hier noch das passende Codeschnipsel. Damit könnt ihr nachvollziehen, wie man ein Sainsmart-OLED mit 128×32 Pixel an einen Raspi über den SPI-Bus anbindet.

Das gilt sowohl für einen konventionellen Raspi mit kurzer GPIO-Leiste als auch für die Plus-Varianten und den Pi2, hier sucht man sich einfach die entsprechenden Anschlüsse auf dem 40Pin-Header. Unser Beispiel (vom Pi-Guy) funktioniert hier genauso gut. Hat man übrigens ein Display für I2C, dann geht das ganz ähnlich, soll aber hier nicht Fokus sein.

Zuerst gilt es wie immer die Software auf den letzten Stand zu bringen:

sudo apt-get update
sudo apt-get install python-dev python-pip
sudo apt-get install git-core

Danach muss das benötigte Module enabled werden. Also (wenn nicht schon geschehen) aus der Blacklist entfernt (auskommentiert) werden:

sudo nano /etc/modprobe.d/raspi-blacklist.conf
# blacklist spi-bcm2708
blacklist i2c-bcm2708

Jetzt noch sicherstellen, dass entsprechende Module auch geladen werden. Dazu muss in der „modules“ das spi-Modul (unter meinen anderen Modulen) stehen:

sudo nano /etc/modules
spi-bcm2708

Ein Reboot bewirkt, dass die Änderungen wirksam werden. Danach die Wiring-Library installieren:

sudo reboot
sudo pip install wiringpi2

Und zuletzt die Software für das SPI-OLED holen. Hier gibt es einige wenige Möglichkeiten. Wir wollen eine der auf den Adafruit-Seiten beschriebenen nutzen, welche es auf Github zu holen gibt:

cd ~
git clone https://github.com/the-raspberry-pi-guy/OLED
cd OLED
sh OLEDinstall.sh

Achtung: Die Original-Einstellungen für das DC- und das Reset-Pin im Quelltext (Pin 15 und 16) entsprechen einem Anschluss der DC- und Reset-Leitung auf den Physical-Pins 8 und 10 (serielle Anschlüsse) des Raspi. Am besten also so belassen.

Und an dieser Stelle noch die Ergänzung für den Raspberry Pi2, folgende Anschlüsse werden verbunden:

Display – Pi2 (Connector Pin – GPIO Pin)
3V3 – 3V3
GND – GND
Data – MOSI (19 – GPIO10)
Clk – SCLK (23 – GPIO11)
DC – TxD (8 – GPIO14)
Rst – RxD (10 – GPIO15)
CS – CE0 (24 – GPIO8)

Und nun kann man probieren und die Quelltexte nach eigenem Ermessen anpassen.


cd python-examples
sudo python OLEDtext.py

 

Swen Hopfe

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert