- Hardware necesar:
- Noțiuni de bază despre afișajele OLED:
- Diagrama circuitului:
- Conectarea OLED cu Raspberry Pi:
- Explicație de programare:
Cei mai mulți dintre noi ar fi familiarizați cu afișajul LCD cu matrice de 16 × 2 puncte care este utilizat în majoritatea proiectelor pentru a afișa câteva informații utilizatorului. Dar aceste afișaje LCD au o mulțime de limitări. În acest tutorial, vom învăța despre afișajul OLED și cum să le folosim cu Raspberry Pi. Există o mulțime de tipuri de afișaje OLED disponibile pe piață și există o mulțime de modalități de a le face să funcționeze. Am folosit deja 7 pin OLED cu Arduino.
Hardware necesar:
- Modul de afișare OLED 128 × 64 (SSD1306)
- Raspberry Pi
- Breadboard
- Conectarea firelor
- Alimentare electrică
Noțiuni de bază despre afișajele OLED:
Termenul OLED înseamnă „ diodă cu lumină organică”, care folosește aceeași tehnologie care este utilizată în majoritatea televizoarelor noastre, dar are mai puțini pixeli în comparație cu acestea. Este foarte distractiv să aveți aceste module de afișare interesante pentru a fi interfațate cu Raspberry Pi, deoarece va face proiectele noastre să arate cool. Am acoperit aici un articol complet despre afișajele OLED și tipurile sale. Aici, folosim un ecran OLED monocrom cu 4 pini SSD1306 0,96 ”. Acest LCD poate funcționa numai cu modul I2C.
Mai jos sunt conexiunile OLED cu Raspberry pi:
Pin OLED | Pin RPI |
VCC | 3.3v |
GND | GND |
SDA | SDA (pinul fizic 3) |
SCL | SCL (pinul fizic 5) |
Diagrama circuitului:
Conectarea OLED cu Raspberry Pi:
Comunitatea RPI ne-a oferit deja o mulțime de biblioteci care pot fi utilizate direct pentru a simplifica mult acest lucru. Am încercat câteva biblioteci și am constatat că Biblioteca OLED Adafruit_SSD1306 a fost foarte ușor de utilizat și are o mână de opțiuni grafice, prin urmare, vom folosi același lucru în acest tutorial.
Pasul 1: activați comunicarea I2C
Înainte de a instala biblioteca Adafruit SSD1306, trebuie să activăm comunicarea I2C în Raspberry Pi.
Pentru a face acest tip în consola Raspberry Pi:
sudo raspi -config
Și apoi va apărea un ecran albastru. Acum selectați opțiunea de interfață
După aceasta, trebuie să selectăm I2C
(…)
După aceasta, trebuie să selectăm da și să apăsăm Enter și apoi OK
După aceasta, trebuie să repornim raspberry pi prin lansarea comenzii de mai jos:
sodo reboot
Pasul 2: Găsiți adresa OLED I2C și actualizați-o
Apoi, trebuie să găsim adresa OLED I2C folosind comanda dată și veți vedea o adresă hexagonală.
sudo i2cdetect –y 1
Apoi actualizați Raspberry Pi folosind comanda dată:
sudo apt-get update
Pasul 3: Instalați python-pip și biblioteca GPIO
După aceasta, trebuie să instalăm pip folosind comanda dată:
sudo apt-get install build-essential python-dev python-pip
Și instalați biblioteca Raspberry Pi GPIO
sudo pip instalează RPi.GPIO
Pasul 4: Instalați Python Imaging Library și smbus library
În cele din urmă, trebuie să instalăm Python Imaging Library și biblioteca smbus în Raspberry Pi utilizând comanda dată:
sudo apt-get install python-imaging python-smbus
Pasul 5: instalați biblioteca python Adafruit SSD1306
Acum este timpul să instalați codul de bibliotecă python Adafruit SSD1306 și exemple folosind comenzile date:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Acum utilizatorul poate găsi codul interfeței OLED în Raspberry Pi și îl puteți juca direct sau îl puteți personaliza singur. Aici am personalizat un exemplu de cod pentru demonstrație. Puteți găsi codul Python complet la sfârșitul articolului.
Explicație de programare:
Partea de programare pentru interfața OLED cu proiectul RPi este ușoară. mai întâi, trebuie să importăm câteva biblioteci necesare.
import timp import Adafruit_GPIO.SPI ca SPI import Adafruit_SSD1306 din import PIL Imagine din import PIL ImageDraw din import PIL Subproces de import ImageFont
După aceasta inițializați afișajul
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); = ImageFont.load_default () După aceasta, putem trimite date sau imagini la OLED folosind codul dat
# Scrieți două rânduri de text. 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), „Pentru mai multe videoclipuri”, 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) # Afișează imaginea. 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'). converti ('1') disp.image (imagine) disp.display () time.sleep (2) if disp.height == 64: image = Image.open ('img3.jpg'). convert ('1') else: image = Image.open ('img3.jpg'). convert ('1')
Acest OLED vine în două variante, una este 128 * 32 și alta este 128 * 64, astfel încât utilizatorul să poată selecta pe oricine în timp ce inițializează OLED. Aici am scris acest cod pentru ambele. Utilizatorul trebuie să inițializeze OLED doar pentru 128 * 64 pixeli, cum ar fi:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Toate codurile și funcțiile sunt ușor de înțeles și nu sunt necesare alte explicații. Începeți și încercați să vă jucați cu înălțimea, lățimea și imaginile și încercați alte funcții pentru a crea câteva figuri geometrice mai interesante.
Codul complet Python și Video demonstrativ sunt prezentate mai jos și aici găsiți imaginile pe care le-am folosit în acest program.
De asemenea, verificați interfața OLED cu Arduino.