- Szükséges hardver:
- Ismerkedés az OLED kijelzőkkel:
- Kördiagramm:
- Az OLED csatlakoztatása a Raspberry Pi-hez:
- Programozási magyarázat:
Legtöbben ismerik a 16 × 2 Dot mátrixú LCD-kijelzőt, amelyet a legtöbb projektben használnak bizonyos információk megjelenítésére a felhasználó számára. De ezeknek az LCD-kijelzőknek sok korlátja van. Ebben az oktatóanyagban megismerkedünk az OLED kijelzővel és annak használatával a Raspberry Pi alkalmazással. Sokféle OLED-kijelző kapható a piacon, és sokféleképpen lehet őket működésbe hozni. Már használtunk 7 tűs OLED-t az Arduinóval.
Szükséges hardver:
- 128 × 64 OLED kijelző modul (SSD1306)
- Raspberry Pi
- Kenyérlemez
- Vezetékek csatlakoztatása
- Tápegység
Ismerkedés az OLED kijelzőkkel:
Az OLED kifejezés „ szerves fénykibocsátó dióda” rövidítése, ugyanazt a technológiát használja, amelyet a legtöbb televíziónkban használnak, de kevesebb pixel van hozzájuk képest. Nagyon szórakoztató, hogy ezeket a hűvös megjelenésű modulokat összekapcsolják a Raspberry Pi-vel, mivel ez remek megjelenést kölcsönöz projektjeinknek. Itt egy teljes cikket ismertettünk az OLED kijelzőiről és típusairól. Itt monokróm 4 tűs SSD1306 0,96 ”OLED kijelzőt használunk. Ez az LCD csak az I2C üzemmóddal használható.
Az alábbiakban bemutatjuk az OLED és a Raspberry pi kapcsolatait:
OLED csap | RPI Pin |
VCC | 3.3v |
GND | GND |
SDA | SDA (3. fizikai tű) |
SCL | SCL (5. fizikai tű) |
Kördiagramm:
Az OLED csatlakoztatása a Raspberry Pi-hez:
Az RPI közösség rengeteg könyvtárat adott már nekünk, amelyek közvetlenül felhasználhatók ennek egyszerűbbé tételéhez. Kipróbáltam néhány könyvtárat, és azt tapasztaltam, hogy az Adafruit_SSD1306 OLED könyvtár nagyon könnyen használható, és számos grafikus lehetőséggel rendelkezik, ezért ugyanezt fogjuk használni ebben az oktatóanyagban.
1. lépés: Engedélyezze az I2C kommunikációt
Az Adafruit SSD1306 könyvtár telepítése előtt engedélyeznünk kell az I2C kommunikációt a Raspberry Pi-ben.
Ennek a típusnak a végrehajtása a Raspberry Pi konzolon:
sudo raspi -config
És akkor megjelenik egy kék képernyő. Most válassza az interfész opciót
Ezt követően ki kell választanunk az I2C-t
A
Ezt követően ki kell választanunk az igent, és meg kell nyomnunk az Enter billentyűt, majd az ok gombot
Ezt követően újra kell indítanunk a málna pi- t az alábbi parancs kiadásával:
sodo újraindítás
2. lépés: Keresse meg és frissítse az OLED I2C címet
Ezután meg kell találnunk az OLED I2C címet a megadott parancs használatával, és meglátja a hexadecimális címet.
sudo i2cdetect –y 1
Ezután frissítse a Raspberry Pi-t a megadott paranccsal:
sudo apt-get frissítés
3. lépés: Telepítse a python-pip és a GPIO könyvtárat
Ezek után telepítenünk kell a pip- t a megadott paranccsal:
sudo apt-get install build-essential python-dev python-pip
És telepítse a Raspberry Pi GPIO könyvtárat
A sudo pip telepíti az RPi.GPIO fájlt
4. lépés: Telepítse a Python Imaging Library és az smbus könyvtárakat
Végül telepítenünk kell a Python Imaging Library és az smbus könyvtárat a Raspberry Pi programba a megadott parancs használatával:
sudo apt-get install python-imaging python-smbus
5. lépés: Telepítse az Adafruit SSD1306 python könyvtárat
Itt az ideje telepíteni az Adafruit SSD1306 python könyvtár kódot és példákat a megadott parancsok használatával:
sudo apt-get install git git klón https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Most a felhasználó megtalálhatja az OLED interfész kódját a Raspberry Pi-ben, és közvetlenül játszhat, vagy személyre szabhatja. Itt testreszabottunk egy példakódot a bemutatáshoz. A cikk végén megtalálhatja a teljes Python kódot.
Programozási magyarázat:
Az OLED és az RPi projekt összekapcsolásának programozási része egyszerű. először is be kell importálnunk néhány szükséges könyvtárat.
importálás ideje importálás Adafruit_GPIO.SPI SPI néven importálás Adafruit_SSD1306 PIL-ből importálás kép PIL-ből importálás ImageDraw PIL-ből importálás ImageFont importálás alfolyamat
Ez után inicializálja a kijelzőt
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, magasság)) draw = ImageDraw.Draw (image1) draw.rectangle ((0,0, szélesség, magasság), körvonal = 0, kitöltés = 0) kitöltés = -2 felső = párnázás alsó = magasság-párnázás x = 0 betűtípus = ImageFont.load_default () Ezt követően adatot vagy képet küldhetünk az OLED- be adott kód használatával
# Írjon két sor szöveget. 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), "További videókért ", font = font, fill = 255) draw.text ((x, top + 25), "Visit at", font = font, fill = 255) draw.text ((x, felső + 34), "www.circuitdigest.com", font = font, fill = 255) # Kép megjelenítése. disp.image (image1) disp.display () time.sleep (2), ha 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), ha disp.height == 64: image = Image.open ('img3.jpg'). convert ('1') else: image = Image.open ('img3.jpg'). convert ('1')
Ez az OLED két változatban kapható, az egyik 128 * 32, a másik pedig 128 * 64, így a felhasználó bárkit ennek megfelelően választhat ki az OLED inicializálása közben. Itt írtuk ezt a kódot mindkettőhöz. A felhasználónak csak az OLED-t kell inicializálnia 128 * 64 pixeles méretben, például:
disp = Adafruit_SSD1306.SSD1306_128_64 (első = RST)
Az összes kód és funkció könnyen érthető, és nincs szükség további magyarázatra. Csak kezdje el, és próbálja meg játszani a magasságot, a szélességet és a képeket, és próbáljon ki néhány más funkciót néhány hűvösebb geometriai ábra létrehozásához.
A teljes python kód és a demonstrációs videó az alábbiakban található, és itt megtalálja a képeket, amelyeket ebben a programban használtunk.
Ellenőrizze az OLED Interfacing with Arduino funkciót is.