- Kinakailangan ang Hardware:
- Pag-alam tungkol sa OLED Ipinapakita:
- Diagram ng Circuit:
- Pagkonekta ng OLED sa Raspberry Pi:
- Paliwanag sa Programming:
Karamihan sa atin ay magiging pamilyar sa pagpapakita ng 16 × 2 Dot matrix LCD na ginagamit sa karamihan ng mga proyekto upang maipakita ang ilang impormasyon sa gumagamit. Ngunit ang mga LCD display na ito ay may maraming mga limitasyon. Sa tutorial na ito, matututunan namin ang tungkol sa display ng OLED at kung paano gamitin ang mga ito sa Raspberry Pi. Maraming mga uri ng mga pagpapakita ng OLED na magagamit sa merkado at maraming mga paraan upang sila ay gumana. Gumamit na kami ng 7 Pin OLED kasama si Arduino.
Kinakailangan ang Hardware:
- 128 × 64 OLED display Module (SSD1306)
- Raspberry Pi
- Breadboard
- Mga Koneksyon sa Mga Wires
- Supply ng kuryente
Pag-alam tungkol sa OLED Ipinapakita:
Ang terminong OLED ay nangangahulugang " Organic Light emitting diode" gumagamit ito ng parehong teknolohiya na ginagamit sa karamihan ng aming mga telebisyon ngunit may mas kaunting mga pixel kumpara sa mga ito. Tunay na masaya na magkaroon ng mga cool na naghahanap ng mga module ng pagpapakita na ma-interfaced sa Raspberry Pi dahil gagawin nitong cool ang aming mga proyekto. Saklaw namin ang isang buong Artikulo tungkol sa mga pagpapakita ng OLED at mga uri nito dito. Dito, gumagamit kami ng isang Monochrome 4-pin SSD1306 0.96 ”OLED display. Ang LCD na ito ay maaari lamang gumana sa I2C mode.
Nasa ibaba ang mga koneksyon ng OLED sa Raspberry pi:
OLED Pin | RPI Pin |
VCC | 3.3v |
GND | GND |
SDA | SDA (Physical pin 3) |
SCL | SCL (Physical pin 5) |
Diagram ng Circuit:
Pagkonekta ng OLED sa Raspberry Pi:
Ang pamayanan ng RPI ay nagbigay sa amin ng maraming mga Aklatan na maaaring direktang magamit upang gawin itong mas simple. Sinubukan ko ang ilang mga silid-aklatan at nalaman na ang Adafruit_SSD1306 OLED Library ay napakadaling gamitin at may kaunting mga graphic na pagpipilian kung gayon gagamitin namin ang pareho sa tutorial na ito.
Hakbang 1: Paganahin ang komunikasyon ng I2C
Bago i-install ang Adafruit SSD1306 library kailangan naming paganahin ang komunikasyon ng I2C sa Raspberry Pi.
Upang gawin ang ganitong uri sa Raspberry Pi console:
sudo raspi -config
At pagkatapos ay lilitaw ang isang asul na screen. Ngayon piliin ang pagpipilian ng interface
Pagkatapos nito, kailangan nating pumili ng I2C
Nyawang
Pagkatapos nito, kailangan naming pumili ng oo at pindutin ang enter at pagkatapos ay ok
Pagkatapos nito, kailangan naming i- reboot ang raspberry pi sa pamamagitan ng pag-isyu sa ibaba ng utos:
sodo reboot
Hakbang 2: Maghanap ng OLED I2C address at i-update ito
Pagkatapos kailangan naming hanapin ang address ng OLED I2C sa pamamagitan ng paggamit ng ibinigay na utos at makikita mo ang isang hex address.
sudo i2cdetect –y 1
Pagkatapos i-update ang Raspberry Pi gamit ang ibinigay na utos:
sudo apt-get update
Hakbang 3: Mag-install ng python-pip at GPIO Library
Pagkatapos nito kailangan naming mag- install ng pip sa pamamagitan ng paggamit ng naibigay na utos:
sudo apt-get install build-importanteng python-dev python-pip
At i-install ang Raspberry Pi GPIO library
sudo pip install ng RPi.GPIO
Hakbang 4: I-install ang Python Imaging Library at smbus library
Sa wakas, kailangan naming i-install ang Python Imaging Library at smbus library sa Raspberry Pi sa pamamagitan ng paggamit ng ibinigay na utos:
sudo apt-get install python-imaging python-smbus
Hakbang 5: i-install ang Adafruit SSD1306 python library
Oras na nito upang mai-install ang Adafruit SSD1306 python library code at mga halimbawa sa pamamagitan ng paggamit ng mga naibigay na utos:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Ngayon mahahanap ng gumagamit ang code ng pag- interfaced ng OLED sa Raspberry Pi at maaari mong i-play nang direkta o ipasadya ang iyong sarili. Dito namin na-customize ang isang halimbawa ng code para sa pagpapakita. Maaari mong makita ang buong code ng Python sa dulo ng artikulo.
Paliwanag sa Programming:
Madali ang bahagi ng Programming para sa pag- interfaced ng OLED sa RPi project. una, kailangan naming mag-import ng ilang mga kinakailangang aklatan.
i-import ang oras sa pag-import ng Adafruit_GPIO.SPI bilang SPI import Adafruit_SSD1306 mula sa PIL import Image mula sa PIL import ImageDraw mula sa PIL import ImageFont import subprocess
Pagkatapos nito simulan ang pagpapakita
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, taas)) gumuhit = ImageDraw.Draw (image1) draw.rectangle ((0,0, lapad, taas), balangkas = 0, punan = 0) padding = -2 itaas = padding ibaba = taas-padding x = 0 font = ImageFont.load_default () Pagkatapos nito, maaari kaming magpadala ng data o imahe sa OLED sa pamamagitan ng paggamit ng naibigay na code
# Sumulat ng dalawang linya ng teksto. disp.clear () disp.display () draw.text ((x, itaas), "OLED Interfacing", font = font, fill = 255) draw.text ((x, itaas + 8), "Circuit Digest", font = font, fill = 255) draw.text ((x, itaas + 16), "Para sa higit pang Mga Video", font = font, fill = 255) draw.text ((x, itaas + 25), "Bisitahin sa", font = font, fill = 255) draw.text ((x, itaas + 34), "www.circuitdigest.com", font = font, fill = 255) # Ipakita ang imahe. disp.image (image1) disp.display ( ) time.s Sleep (2) if disp.height == 64: image = Image.open ('img1.png'). convert ('1') iba pa: image = Image. buksan ('img1.png'). convert ('1') disp.image (imahe) disp.ipakita ang () oras. natutulog (2) kung disp.height == 64: image = Image.open ('img3.jpg'). convert ('1') iba pa: image = Image.open ('img3.jpg'). convert ('1')
Ang OLED na ito ay may dalawang variant ang isa ay 128 * 32 at ang iba pa ay 128 * 64 upang ang gumagamit ay maaaring pumili ng sinumang naaayon habang pinasisimulan ang OLED. Sinulat namin ang code na ito para sa pareho. Kailangang simulan lamang ng gumagamit ang OLED para sa 128 * 64 pixel tulad ng:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Ang lahat ng mga code at pag-andar ay madaling maunawaan at walang karagdagang paliwanag ang kinakailangan. Magsimula lamang at subukang maglaro kasama ang taas, lapad at mga imahe at subukan ang ilang iba pang mga pag-andar upang lumikha ng ilang mas cool na mga geometric na numero.
Ang buong python code at Demonstration Video ay ibinibigay sa ibaba at dito mo mahahanap ang mga imahe na ginamit namin sa program na ito.
Suriin din ang OLED Interfacing kasama si Arduino.