- Nepieciešamā aparatūra:
- Iepazīšanās ar OLED displejiem:
- Ķēdes shēma:
- OLED savienošana ar Raspberry Pi:
- Programmēšanas skaidrojums:
Lielākā daļa no mums būtu pazīstami ar 16 × 2 punktu matricas LCD displeju, kas tiek izmantots lielākajā daļā projektu, lai lietotājiem parādītu kādu informāciju. Bet šiem LCD displejiem ir daudz ierobežojumu. Šajā apmācībā mēs uzzināsim par OLED displeju un to, kā tos izmantot ar Raspberry Pi. Tirgū ir pieejami daudzi OLED displeju veidi, un ir daudz veidu, kā tos darbināt. Mēs jau izmantojām 7 tapu OLED ar Arduino.
Nepieciešamā aparatūra:
- 128 × 64 OLED displeja modulis (SSD1306)
- Aveņu Pi
- Maizes dēlis
- Vadu savienošana
- Enerģijas padeve
Iepazīšanās ar OLED displejiem:
Termins OLED nozīmē “ organisko gaismu izstarojošo diodi”, un tajā tiek izmantota tā pati tehnoloģija, kas tiek izmantota lielākajā daļā mūsu televizoru, taču salīdzinājumā ar tiem ir mazāk pikseļu. Ir ļoti jautri, ka šie atdzistās displeja moduļi ir jāsavieno ar Raspberry Pi, jo tas padarīs mūsu projektus izskatīgus. Šeit esam apskatījuši pilnu rakstu par OLED displejiem un to veidiem. Šeit mēs izmantojam vienkrāsainu 4 kontaktu SSD1306 0,96 ”OLED displeju. Šis LCD var darboties tikai ar I2C režīmu.
Zemāk ir OLED savienojumi ar Raspberry pi:
OLED tapa | RPI tapa |
VCC | 3.3v |
GND | GND |
SDA | SDA (3. fiziskā tapa) |
SCL | SCL (5. fiziskā tapa) |
Ķēdes shēma:
OLED savienošana ar Raspberry Pi:
RPI kopiena mums jau ir piešķīrusi daudz bibliotēku, kuras var tieši izmantot, lai padarītu to daudz vienkāršāku. Es izmēģināju dažas bibliotēkas un atklāju, ka Adafruit_SSD1306 OLED bibliotēku bija ļoti viegli izmantot, un tajā ir dažas grafiskās iespējas, tāpēc mēs to izmantosim arī šajā apmācībā.
1. darbība: iespējojiet I2C komunikāciju
Pirms Adafruit SSD1306 bibliotēkas instalēšanas mums ir jāiespējo I2C komunikācija Raspberry Pi.
Lai to izdarītu Raspberry Pi konsolē:
sudo raspi -config
Tad parādīsies zils ekrāns. Tagad atlasiet saskarnes opciju
Pēc tam mums jāizvēlas I2C
A
Pēc tam mums jāizvēlas jā un jānospiež Enter un pēc tam labi
Pēc tam mums jāpārstartē aveņu pi, izsniedzot komandu zemāk:
sodo atsāknēšana
2. darbība: atrodiet OLED I2C adresi un atjauniniet to
Tad mums jāatrod OLED I2C adrese, izmantojot norādīto komandu, un jūs redzēsiet sešstūra adresi.
sudo i2cdetect –y 1
Pēc tam atjauniniet Raspberry Pi, izmantojot norādīto komandu:
sudo apt-get atjauninājums
3. darbība: instalējiet python-pip un GPIO bibliotēku
Pēc tam mums jāinstalē pip , izmantojot norādīto komandu:
sudo apt-get install build-būtisks python-dev python-pip
Un instalējiet Raspberry Pi GPIO bibliotēku
sudo pip instalē RPi.GPIO
4. darbība: instalējiet Python Imaging Library un smbus bibliotēku
Visbeidzot, mums ir jāinstalē Python Imaging Library un smbus bibliotēka Raspberry Pi, izmantojot norādīto komandu:
sudo apt-get instalēt python-imaging python-smbus
5. darbība: instalējiet Adafruit SSD1306 pitona bibliotēku
Ir pienācis laiks instalēt Adafruit SSD1306 pitona bibliotēkas kodu un piemērus, izmantojot dotās komandas:
sudo apt-get install git git klons https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Tagad lietotājs var atrast OLED saskarnes kodu Raspberry Pi, un jūs to varat spēlēt tieši vai pats pielāgot. Šeit mēs esam pielāgojuši parauga kodu demonstrēšanai. Raksta beigās varat atrast pilnu Python kodu.
Programmēšanas skaidrojums:
Programmēšanas daļa OLED saskarnei ar RPi projektu ir vienkārša. pirmkārt, mums jāimportē dažas nepieciešamās bibliotēkas.
importēšanas laiks importēt Adafruit_GPIO.SPI kā SPI importēt Adafruit_SSD1306 no PIL importēt attēlu no PIL importēt ImageDraw no PIL importēt ImageFont importēt apakšprocesu
Pēc tam inicializējiet displeju
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, platums, augstums), kontūra = 0, aizpildījums = 0) polsterējums = -2 augša = polsterējuma apakšdaļa = augstuma polsterējums x = 0 fonts = ImageFont.load_default () Pēc tam mēs varam nosūtīt datus vai attēlu uz OLED, izmantojot norādīto kodu
# Uzrakstiet divas teksta rindiņas. 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), "Vairāk video", 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) # Attēla attēls. disp.image (image1) disp.display () time.sleep (2), ja disp.height == 64: image = Image.open ('img1.png'). convert ('1') else: image = Image. atvērt ('img1.png'). konvertēt ('1') disp.image (image) disp.display () time.sleep (2), ja disp.height == 64: image = Image.open ('img3.jpg'). convert ('1') cits: image = Image.open ('img3.jpg'). convert ('1')
Šis OLED ir divos variantos, viens ir 128 * 32, bet otrs ir 128 * 64, lai lietotājs, inicializējot OLED, varētu attiecīgi izvēlēties jebkuru. Šeit mēs esam uzrakstījuši šo kodu abiem. Lietotājam jāinicializē OLED tikai 128 * 64 pikseļiem, piemēram:
disp = Adafruit_SSD1306.SSD1306_128_64 (pirmais = RST)
Visu kodu un funkcijas ir viegli saprast, un papildu skaidrojums nav nepieciešams. Vienkārši sāciet un mēģiniet spēlēt ar augstumu, platumu un attēliem, kā arī izmēģiniet dažas citas funkcijas, lai izveidotu vēl lieliskas ģeometriskas figūras.
Pilns pitona kods un demonstrācijas video ir norādīts zemāk, un šeit jūs atradīsit attēlus, kurus esam izmantojuši šajā programmā.
Pārbaudiet arī OLED mijiedarbību ar Arduino.