- Nødvendig maskinvare:
- Bli kjent med OLED-skjermer:
- Kretsdiagram:
- Koble OLED til Raspberry Pi:
- Programmeringsforklaring:
De fleste av oss vil være kjent med 16 × 2 Dot matrix LCD-skjerm som brukes i de fleste prosjekter for å vise litt informasjon til brukeren. Men disse LCD-skjermene har mange begrensninger. I denne opplæringen skal vi lære om OLED-skjerm og hvordan du bruker dem med Raspberry Pi. Det er mange typer OLED-skjermer tilgjengelig i markedet, og det er mange måter å få dem til å fungere. Vi har allerede brukt 7-pin OLED med Arduino.
Nødvendig maskinvare:
- 128 × 64 OLED-skjermmodul (SSD1306)
- Bringebær Pi
- Brettbrett
- Koble ledninger
- Strømforsyning
Bli kjent med OLED-skjermer:
Uttrykket OLED står for " Organic Light emitting diode". Den bruker den samme teknologien som brukes i de fleste av våre TV-er, men har færre piksler i forhold til dem. Det er veldig gøy å ha disse kule skjermmodulene som skal grensesnittet med Raspberry Pi, siden det vil gjøre at prosjektene våre ser kule ut. Vi har dekket en full artikkel om OLED-skjermer og dens typer her. Her bruker vi en monokrom 4-pin SSD1306 0,96 ”OLED-skjerm. Denne LCD-skjermen kan bare fungere med I2C-modus.
Nedenfor er forbindelsene mellom OLED og Raspberry pi:
OLED Pin | RPI Pin |
VCC | 3.3v |
GND | GND |
SDA | SDA (fysisk pin 3) |
SCL | SCL (Fysisk pin 5) |
Kretsdiagram:
Koble OLED til Raspberry Pi:
RPI-fellesskapet har allerede gitt oss mange biblioteker som kan brukes direkte til å gjøre dette mye enklere. Jeg prøvde noen få biblioteker og fant ut at Adafruit_SSD1306 OLED-biblioteket var veldig enkelt å bruke og har en håndfull grafiske alternativer, derfor vil vi bruke det samme i denne opplæringen.
Trinn 1: Aktiver I2C-kommunikasjon
Før vi installerer Adafruit SSD1306-biblioteket, må vi aktivere I2C-kommunikasjon i Raspberry Pi.
For å gjøre denne typen i Raspberry Pi-konsoll:
sudo Raspi -config
Og så vises en blå skjerm. Velg nå grensesnittalternativet
Etter dette må vi velge I2C
</s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s> </s>
Etter dette må vi velge ja og trykke enter og deretter ok
Etter dette må vi starte raspberry pi på nytt ved å utstede kommandoen nedenfor:
omstart av brus
Trinn 2: Finn OLED I2C-adresse og oppdater den
Deretter må vi finne OLED I2C-adresse ved å bruke gitt kommando, og du vil se en hex-adresse.
sudo i2cdetect –y 1
Oppdater deretter Raspberry Pi ved hjelp av gitt kommando:
sudo apt-get oppdatering
Trinn 3: Installer python-pip og GPIO Library
Etter dette må vi installere pip ved å bruke gitt kommando:
sudo apt-get install build-essential python-dev python-pip
Og installer Raspberry Pi GPIO-bibliotek
sudo pip installerer RPi.GPIO
Trinn 4: Installer Python Imaging Library og smbus- biblioteket
Til slutt må vi installere Python Imaging Library og smbus- biblioteket i Raspberry Pi ved å bruke gitt kommando:
sudo apt-get install python-imaging python-smbus
Trinn 5: Installer Adafruit SSD1306 python-biblioteket
Nå er det på tide å installere Adafruit SSD1306 python-bibliotekkoden og eksempler ved å bruke gitte kommandoer:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Nå kan brukeren finne koden for OLED-grensesnitt i Raspberry Pi, og du kan spille direkte eller tilpasse den selv. Her har vi tilpasset en eksempelkode for demonstrasjon. Du finner full Python-kode på slutten av artikkelen.
Programmeringsforklaring:
Det er enkelt å programmere en del for å koble OLED til RPi-prosjektet. først må vi importere noen nødvendige biblioteker.
import tid import Adafruit_GPIO.SPI som SPI import Adafruit_SSD1306 fra PIL import Bilde fra PIL import ImageDraw fra PIL import ImageFont import underprosess
Etter dette initialiseres skjermen
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øyde)) draw = ImageDraw.Draw (image1) draw.rectangle ((0,0, width, height), outline = 0, fill = 0) padding = -2 top = padding bottom = height-padding x = 0 font = ImageFont.load_default () Etter dette kan vi sende data eller bilde til OLED ved å bruke gitt kode
# Skriv to linjer med tekst. 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) # Vis bilde. disp.image (image1) disp.display () time.sleep (2) if 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') annet: image = Image.open ('img3.jpg'). convert ('1')
Denne OLED-en kommer i to varianter, den ene er 128 * 32 og den andre er 128 * 64, slik at brukeren kan velge hvem som helst mens OLED initialiseres. Her har vi skrevet denne koden for begge. Brukeren trenger bare å initialisere OLED for 128 * 64 piksler som:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
All koden og funksjonene er enkle å forstå, og det er ikke behov for ytterligere forklaring. Bare start og prøv å leke med høyde, bredde og bilder, og prøv noen andre funksjoner for å lage noen mer kule geometriske figurer.
Full pythonkode og demonstrasjonsvideo er gitt nedenfor, og her finner du bildene som vi har brukt i dette programmet.
Sjekk også OLED-grensesnitt med Arduino.