- Požadovaný hardvér:
- Zoznámenie sa s OLED displejmi:
- Schéma zapojenia:
- Pripojenie OLED k Raspberry Pi:
- Vysvetlenie programovania:
Väčšina z nás by bola oboznámená s 16 × 2 bodovým maticovým LCD displejom, ktorý sa používa vo väčšine projektov na zobrazenie niektorých informácií používateľovi. Ale tieto LCD displeje majú veľa obmedzení. V tomto tutoriáli sa dozvieme viac o OLED displeji a o tom, ako ich používať s Raspberry Pi. Na trhu je k dispozícii veľa typov OLED displejov a existuje veľa spôsobov, ako ich uviesť do prevádzky. Už sme s Arduinom použili 7 Pin OLED.
Požadovaný hardvér:
- 128 × 64 OLED displejový modul (SSD1306)
- Malinový koláč
- Nepál
- Pripojenie drôtov
- Zdroj
Zoznámenie sa s OLED displejmi:
Pojem OLED znamená „ organická dióda vyžarujúca svetlo“. Používa rovnakú technológiu, ktorá sa používa vo väčšine našich televízorov, ale má v porovnaní s nimi menej pixelov. Je skutočná zábava mať tieto skvelo vyzerajúce zobrazovacie moduly prepojené s Raspberry Pi, pretože vďaka tomu budú naše projekty vyzerať skvele. Celý článok o OLED displejoch a ich typoch sme prebrali tu. Tu používame Monochrome 4-pin SSD1306 0,96 ”OLED displej. Tento displej LCD môže pracovať iba v režime I2C.
Nižšie sú uvedené prepojenia OLED s Raspberry pi:
OLED pin | RPI Pin |
VCC | 3,3 v |
GND | GND |
SDA | SDA (fyzický pin 3) |
SCL | SCL (fyzický pin 5) |
Schéma zapojenia:
Pripojenie OLED k Raspberry Pi:
Komunita RPI nám už poskytla veľa knižníc, ktoré je možné priamo použiť na ďalšie zjednodušenie. Vyskúšal som niekoľko knižníc a zistil som, že knižnica OLED Adafruit_SSD1306 sa veľmi ľahko používa a má niekoľko grafických možností, preto ich v tomto návode použijeme rovnako.
Krok 1: Povoľte komunikáciu I2C
Pred inštaláciou knižnice Adafruit SSD1306 musíme povoliť komunikáciu I2C v Raspberry Pi.
Postup v konzole Raspberry Pi:
sudo raspi -config
Potom sa zobrazí modrá obrazovka. Teraz vyberte možnosť rozhrania
Potom budeme musieť zvoliť I2C
Zloženie: 100% bavlna.
Potom musíme zvoliť áno, stlačiť kláves Enter a potom ok
Potom musíme reštartovať malinovú pi vydaním nasledujúceho príkazu:
reštart systému sodo
Krok 2: Nájdite adresu OLED I2C a aktualizujte ju
Potom musíme pomocou daného príkazu nájsť adresu OLED I2C a uvidíte hexadecimálnu adresu.
sudo i2cdetect –y 1
Potom pomocou uvedeného príkazu aktualizujte Raspberry Pi:
sudo apt-get aktualizácia
Krok 3: Nainštalujte python-pip a knižnicu GPIO
Potom musíme nainštalovať pip pomocou daného príkazu:
sudo apt-get install build-essential python-dev python-pip
A nainštalujte si knižnicu GPIO Raspberry Pi
sudo pip nainštaluje RPi.GPIO
Krok 4: Nainštalujte si knižnicu obrázkov Python a knižnicu smbus
Nakoniec musíme nainštalovať knižnicu Python Imaging Library a knižnicu smbus na Raspberry Pi pomocou daného príkazu:
sudo apt-get nainštalovať python-imaging python-smbus
Krok 5: Nainštalujte si knižnicu Python SSD1306 Adafruit
Teraz je čas nainštalovať kód knižnice python Adafruit SSD1306 a príklady pomocou zadaných príkazov:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Teraz môže používateľ nájsť kód rozhrania OLED v Raspberry Pi a môžete ho hrať priamo alebo si ho prispôsobiť sami. Tu sme prispôsobili ukážkový kód na demonštráciu. Nájdete plnú kód Python na konci článku.
Vysvetlenie programovania:
Programovacia časť na prepojenie OLED s projektom RPi je jednoduchá. najskôr musíme importovať niektoré potrebné knižnice.
čas importu import Adafruit_GPIO.SPI ako SPI import Adafruit_SSD1306 z PIL import Obrázok z PIL import ImageDraw z PIL import ImageFont import podproces
Po tomto inicializujte displej
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, width, height), outline = 0, fill = 0) padding = -2 top = padding bottom = height-padding x = 0 font = ImageFont.load_default () Potom môžeme pomocou daného kódu odoslať údaje alebo obrázok na OLED
# Napíšte dva riadky textu. disp.clear () disp.display () draw.text ((x, horný), "OLED Interfacing", font = font, fill = 255) draw.text ((x, horný + 8), "Circuit Digest", font = font, fill = 255) draw.text ((x, horný + 16), "Pre viac videí", font = font, fill = 255) draw.text ((x, horný + 25), "Navštíviť na", font = font, fill = 255) draw.text ((x, top + 34), "www.circuitdigest.com", font = font, fill = 255) # Zobraziť obrázok. disp.image (image1) disp.display () time.sleep (2) if disp.height == 64: image = Image.open ('img1.png'). convert ('1') else: image = Image. otvoriť („img1.png“). previesť („1“ ) disp. obrázok (obrázok) disp.display () time.sleep (2) if disp.height == 64: image = Image.open ('img3.jpg'). convert ('1') else: image = Image.open ('img3.jpg'). convert ('1')
Táto OLED sa dodáva v dvoch variantoch, jedna je 128 * 32 a druhá je 128 * 64, takže si používateľ môže pri inicializácii OLED podľa toho vybrať kohokoľvek. Tu sme napísali tento kód pre obidve. Používateľ musí inicializovať iba OLED pre 128 * 64 pixelov, ako napríklad:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Všetky kódy a funkcie sú ľahko pochopiteľné a nie je potrebné ich nijako podrobnejšie vysvetľovať. Stačí začať a vyskúšať si hranie s výškou, šírkou a obrázkami a vyskúšať niektoré ďalšie funkcie na vytvorenie skvelých geometrických tvarov.
Celý kód pythonu a demonštračné video sú uvedené nižšie a tu nájdete obrázky, ktoré sme použili v tomto programe.
Skontrolujte tiež rozhranie OLED Interfacing s Arduino.