- Maquinari necessari:
- Informació sobre les pantalles OLED:
- Esquema de connexions:
- Connexió OLED amb Raspberry Pi:
- Explicació de la programació:
La majoria de nosaltres estaria familiaritzat amb la pantalla LCD de matriu de 16 × 2 que s’utilitza en la majoria dels projectes per mostrar informació a l’usuari. Però aquestes pantalles LCD tenen moltes limitacions. En aquest tutorial, aprendrem sobre la pantalla OLED i com utilitzar-los amb Raspberry Pi. Hi ha un munt de tipus de pantalles OLED disponibles al mercat i hi ha moltes maneres de fer-les funcionar. Ja hem utilitzat OLED de 7 pins amb Arduino.
Maquinari necessari:
- Mòdul de pantalla OLED de 128 × 64 (SSD1306)
- Raspberry Pi
- Taula de pa
- Connexió de cables
- Font d'alimentació
Informació sobre les pantalles OLED:
El terme OLED significa " díode emissor de llum orgànica" que utilitza la mateixa tecnologia que s'utilitza a la majoria dels nostres televisors, però té menys píxels en comparació amb ells. És molt divertit tenir aquests mòduls de visualització d’aspecte fantàstic que s’interfacin amb el Raspberry Pi, ja que farà que els nostres projectes semblin genials. Aquí hem tractat un article complet sobre pantalles OLED i els seus tipus. Aquí, estem utilitzant una pantalla OLED monocroma de 4 pins SSD1306 de 0,96 ”. Aquesta pantalla LCD només pot funcionar amb el mode I2C.


A continuació es mostren les connexions OLED amb Raspberry pi:
| Pin OLED | Pin RPI |
| VCC | 3.3v |
| GND | GND |
| SDA | SDA (pin físic 3) |
| SCL | SCL (pin físic 5) |
Esquema de connexions:


Connexió OLED amb Raspberry Pi:
La comunitat RPI ja ens ha donat moltes biblioteques que es poden utilitzar directament per fer-ho molt més senzill. Vaig provar algunes biblioteques i vaig trobar que la biblioteca OLED Adafruit_SSD1306 era molt fàcil d'utilitzar i té un grapat d'opcions gràfiques, de manera que farem servir el mateix en aquest tutorial.
Pas 1: activeu la comunicació I2C
Abans d’instal·lar la biblioteca Adafruit SSD1306, hem d’ habilitar la comunicació I2C a Raspberry Pi.
Per fer aquest tipus a la consola Raspberry Pi:
sudo raspi -config
I apareixerà una pantalla blava. Ara seleccioneu l'opció d'interfície

Després d'això, hem de seleccionar I2C
(…)

Després d'això, hem de seleccionar sí i prémer Retorn i després bé

Després d'això, hem de reiniciar raspberry pi mitjançant l'ordre següent:
sodo reiniciar
Pas 2: cerqueu l'adreça OLED I2C i actualitzeu-la
Després, hem de trobar una adreça OLED I2C mitjançant l'ordre donada i veureu una adreça hexadecimal.
sudo i2cdetect –y 1
A continuació, actualitzeu Raspberry Pi mitjançant l'ordre donada:
sudo apt-get update
Pas 3: instal·leu python-pip i la biblioteca GPIO
Després d'això, hem d' instal·lar pip mitjançant l'ordre donada:
sudo apt-get install build-essential python-dev python-pip
I instal·leu la biblioteca GPIO de Raspberry Pi
sudo pip instal·la RPi.GPIO
Pas 4: instal·leu la biblioteca d’ imatges de Python i la biblioteca smbus
Finalment, hem d’instal·lar la biblioteca d’ imatges de Python i la biblioteca smbus a Raspberry Pi mitjançant l’ordre donada:
sudo apt-get install python-imaging python-smbus
Pas 5: instal·leu la biblioteca python Adafruit SSD1306
Ara és hora d’instal·lar el codi i exemples de biblioteca Python Adafruit SSD1306 mitjançant les ordres donades:
sudo apt-get install git git clon https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install

Ara l'usuari pot trobar el codi de la interfície OLED a Raspberry Pi i podeu reproduir-lo directament o personalitzar-lo vosaltres mateixos. Aquí hem personalitzat un codi d'exemple per demostrar. Podeu trobar el codi complet de Python al final de l'article.

Explicació de la programació:
La part de programació per a la interfície OLED amb el projecte RPi és fàcil. primer, hem d’importar algunes biblioteques necessàries.
temps d'importació importació Adafruit_GPIO.SPI com importació SPI Adafruit_SSD1306 d'importació PIL Imatge d'importació PIL ImageDraw d'importació PIL subprocés d'importació ImageFont
Després d'això, inicialitzeu la pantalla
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), altura)) draw = ImageDraw.Draw (image1) draw.rectangle ((0,0, amplada, alçada), contorn = 0, farcit = 0) farciment = -2 superior = farciment inferior = alçat farcit x = 0 tipus de lletra = ImageFont.load_default () Després d'això, podem enviar dades o imatges a OLED mitjançant el codi donat
# Escriu dues línies de text. disp.clear () disp.display () draw.text ((x, top), "Interfacing OLED", font = font, fill = 255) draw.text ((x, top + 8), "Circuit Digest", font = font, fill = 255) draw.text ((x, top + 16), "Per a més vídeos", 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) # Mostra la imatge. 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'). convertir ('1') disp.image (imatge) disp.display () time.sleep (2) si disp.height == 64: image = Image.open ('img3.jpg'). convert ('1') else: image = Image.open ('img3.jpg'). convert ('1')
Aquest OLED es presenta en dues variants, una de 128 * 32 i una altra de 128 * 64, de manera que l'usuari pot seleccionar qualsevol persona en conseqüència mentre inicialitza l'OLED. Aquí hem escrit aquest codi per a tots dos. L'usuari només ha d'inicialitzar OLED per a 128 * 64 píxels com:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Tot el codi i les funcions són fàcils d’entendre i no calen més explicacions. Només cal que comenceu i proveu de jugar amb alçada, amplada i imatges i proveu altres funcions per crear figures geomètriques més interessants.
A continuació es mostra el codi complet de Python i el vídeo de demostració i aquí trobareu les imatges que hem utilitzat en aquest programa.
Comproveu també la interfície OLED amb Arduino.
