- Hårdvara krävs:
- Lär känna OLED-skärmar:
- Kretsschema:
- Ansluta OLED med Raspberry Pi:
- Programmeringsförklaring:
De flesta av oss känner till 16 × 2 Dot matrix LCD-skärm som används i de flesta projekten för att visa lite information för användaren. Men dessa LCD-skärmar har många begränsningar. I den här handledningen ska vi lära oss mer om OLED-skärm och hur man använder dem med Raspberry Pi. Det finns många typer av OLED-skärmar tillgängliga på marknaden och det finns många sätt att få dem att fungera. Vi har redan använt 7-stifts OLED med Arduino.
Hårdvara krävs:
- 128 × 64 OLED-skärmmodul (SSD1306)
- Raspberry Pi
- Bakbord
- Anslutande ledningar
- Strömförsörjning
Lär känna OLED-skärmar:
Uttrycket OLED står för " Organic Light emitting diode", det använder samma teknik som används i de flesta av våra tv-apparater men har färre pixlar jämfört med dem. Det är riktigt roligt att ha dessa snygga skärmmoduler som ska gränssnitt med Raspberry Pi eftersom det kommer att göra våra projekt ser coola ut. Vi har täckt en fullständig artikel om OLED-skärmar och dess typer här. Här använder vi en monokrom 4-stifts SSD1306 0,96 ”OLED-skärm. Denna LCD-skärm fungerar bara i I2C-läge.
Nedan följer anslutningarna mellan OLED och Raspberry pi:
OLED-stift | RPI-stift |
VCC | 3.3v |
GND | GND |
SDA | SDA (Fysisk stift 3) |
SCL | SCL (Fysisk stift 5) |
Kretsschema:
Ansluta OLED med Raspberry Pi:
RPI-communityn har redan gett oss många bibliotek som kan användas direkt för att göra detta mycket enklare. Jag testade några bibliotek och fann att Adafruit_SSD1306 OLED-biblioteket var väldigt enkelt att använda och har en handfull grafiska alternativ, därför kommer vi att använda detsamma i den här handledningen.
Steg 1: Aktivera I2C-kommunikation
Innan vi installerar Adafruit SSD1306-biblioteket måste vi aktivera I2C-kommunikation i Raspberry Pi.
För att göra den här typen i Raspberry Pi-konsol:
sudo raspi -konfig
Och då visas en blå skärm. Välj nu gränssnittsalternativ
Efter detta måste vi välja I2C
</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>
Efter detta måste vi välja ja och trycka på enter och sedan ok
Efter detta måste vi starta om hallon pi genom att utfärda kommandot nedan:
omstart av sodo
Steg 2: Hitta OLED I2C-adress och uppdatera den
Då måste vi hitta OLED I2C-adress med det givna kommandot och du ser en hex-adress.
sudo i2cdetect –y 1
Uppdatera sedan Raspberry Pi med ett givet kommando:
sudo apt-get uppdatering
Steg 3: Installera python-pip och GPIO Library
Efter detta måste vi installera pip med det givna kommandot:
sudo apt-get install build-essential python-dev python-pip
Och installera Raspberry Pi GPIO-bibliotek
sudo pip installerar RPi.GPIO
Steg 4: Installera Python Imaging Library och smbus- biblioteket
Slutligen måste vi installera Python Imaging Library och smbus- biblioteket i Raspberry Pi med ett givet kommando:
sudo apt-get install python-imaging python-smbus
Steg 5: Installera Adafruit SSD1306 python-biblioteket
Nu är det dags att installera Adafruit SSD1306 python-bibliotekskod och exempel med hjälp av givna kommandon:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Nu kan användaren hitta koden för OLED-gränssnitt i Raspberry Pi och du kan spela direkt eller anpassa den själv. Här har vi anpassat en exempelkod för demonstration. Du hittar fullständig Python-kod i slutet av artikeln.
Programmeringsförklaring:
Det är enkelt att programmera en del för gränssnitt mellan OLED och RPi-projektet. först måste vi importera några nödvändiga bibliotek.
importtid import Adafruit_GPIO.SPI som SPI import Adafruit_SSD1306 från PIL import Bild från PIL import ImageDraw från PIL import ImageFont import underprocess
Efter detta initialiseras displayen
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), höjd)) Rita = ImageDraw.Draw (image1) Rita. rektangel ((0,0, bredd, höjd), kontur = 0, fyll = 0) stoppning = -2 topp = stoppning botten = höjd vaddering x = 0 typsnitt = ImageFont.load_default () Efter detta kan vi skicka data eller bild till OLED med en given kod
# Skriv två rader text. disp.clear () disp.display () draw.text ((x, top), "OLED Interfacing", font = font, fill = 255) draw.text ((x, top + 8), "Circuit Digest", font = font, fill = 255) draw.text ((x, top + 16), "For more Videos", font = font, fill = 255) draw.text ((x, top + 25), "Visit at", font = font, fill = 255) draw.text ((x, top + 34), "www.circuitdigest.com", font = font, fill = 255) # Visa bild. disp.image (image1) disp.display () time.sleep (2) if disp.height == 64: image = Image.open ('img1.png'). convert ('1') else: image = Image. öppna ('img1.png'). konvertera ('1') disp.image (image) disp.display () time.sleep (2) om disp.höjd == 64: image = Image.open ('img3.jpg'). convert ('1') annat: image = Image.open ('img3.jpg'). convert ('1')
Denna OLED finns i två varianter, den ena är 128 * 32 och den andra är 128 * 64 så att användaren kan välja vem som helst i samband med att OLED initialiseras. Här har vi skrivit den här koden för båda. Användaren behöver bara initiera OLED för 128 * 64 pixlar som:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
All kod och funktioner är lätta att förstå och ingen ytterligare förklaring behövs. Börja bara med att spela med höjd, bredd och bilder och prova några andra funktioner för att skapa några mer coola geometriska figurer.
Full pythonkod och demonstrationsvideo ges nedan och här hittar du bilderna som vi har använt i detta program.
Kontrollera även OLED-gränssnitt med Arduino.