- Matériel requis:
- Se familiariser avec les écrans OLED:
- Schéma:
- Connexion OLED avec Raspberry Pi:
- Explication de la programmation:
La plupart d'entre nous connaissent bien l'écran LCD à matrice de points 16 × 2 qui est utilisé dans la plupart des projets pour afficher certaines informations à l'utilisateur. Mais ces écrans LCD ont de nombreuses limitations. Dans ce tutoriel, nous allons en apprendre davantage sur l' affichage OLED et comment les utiliser avec Raspberry Pi. Il existe de nombreux types d'écrans OLED disponibles sur le marché et il existe de nombreuses façons de les faire fonctionner. Nous avons déjà utilisé 7 broches OLED avec Arduino.
Matériel requis:
- Module d'affichage OLED 128 × 64 (SSD1306)
- Tarte aux framboises
- Planche à pain
- Connexion des fils
- Source de courant
Se familiariser avec les écrans OLED:
Le terme OLED signifie « diode électroluminescente organique», il utilise la même technologie que celle utilisée dans la plupart de nos téléviseurs, mais a moins de pixels que ceux-ci. C'est vraiment amusant d'avoir ces modules d'affichage sympas à interfacer avec le Raspberry Pi car cela rendra nos projets cool. Nous avons couvert un article complet sur les écrans OLED et ses types ici. Ici, nous utilisons un écran OLED Monochrome 4 broches SSD1306 0,96 ”. Cet écran LCD ne peut fonctionner qu'avec le mode I2C.
Voici les connexions d'OLED avec Raspberry pi:
Broche OLED | Broche RPI |
VCC | 3,3 v |
GND | GND |
SDA | SDA (broche physique 3) |
SCL | SCL (broche physique 5) |
Schéma:
Connexion OLED avec Raspberry Pi:
La communauté RPI nous a déjà fourni de nombreuses bibliothèques qui peuvent être directement utilisées pour rendre cela beaucoup plus simple. J'ai essayé quelques bibliothèques et j'ai trouvé que la bibliothèque OLED Adafruit_SSD1306 était très facile à utiliser et dispose d'une poignée d'options graphiques, nous utiliserons donc la même chose dans ce didacticiel.
Étape 1: activer la communication I2C
Avant d'installer la bibliothèque Adafruit SSD1306, nous devons activer la communication I2C dans Raspberry Pi.
Pour faire ce type dans la console Raspberry Pi:
sudo Raspi -config
Et puis un écran bleu apparaîtra. Sélectionnez maintenant l'option d'interface
Après cela, nous devons sélectionner I2C
Après cela, nous devons sélectionner oui et appuyer sur Entrée, puis ok
Après cela, nous devons redémarrer raspberry pi en exécutant la commande ci-dessous:
redémarrage de sodo
Étape 2: Trouvez l'adresse OLED I2C et mettez-la à jour
Ensuite, nous devons trouver l'adresse OLED I2C en utilisant la commande donnée et vous verrez une adresse hexadécimale.
sudo i2cdetect –y 1
Ensuite, mettez à jour Raspberry Pi en utilisant la commande donnée:
sudo apt-get mise à jour
Étape 3: Installez python-pip et la bibliothèque GPIO
Après cela, nous devons installer pip en utilisant la commande donnée:
sudo apt-get install build-essential python-dev python-pip
Et installez la bibliothèque GPIO Raspberry Pi
sudo pip installe RPi.GPIO
Étape 4: Installez la bibliothèque d' imagerie Python et la bibliothèque smbus
Enfin, nous devons installer la bibliothèque d' imagerie Python et la bibliothèque smbus dans Raspberry Pi en utilisant la commande donnée:
sudo apt-get install python-imaging python-smbus
Étape 5: installez la bibliothèque Python Adafruit SSD1306
Il est maintenant temps d'installer le code de la bibliothèque python Adafruit SSD1306 et des exemples en utilisant les commandes données:
sudo apt-get install git git clone https://github.com/adafruit/Adafruit_Python_SSD1306.git cd Adafruit_Python_SSD1306 sudo python setup.py install
Maintenant, l'utilisateur peut trouver le code d' interfaçage OLED dans Raspberry Pi et vous pouvez jouer directement ou le personnaliser vous-même. Ici, nous avons personnalisé un exemple de code pour la démonstration. Vous pouvez trouver le code Python complet à la fin de l'article.
Explication de la programmation:
La partie de programmation pour l' interface OLED avec le projet RPi est facile. tout d'abord, nous devons importer certaines bibliothèques nécessaires.
importation de l'heure importation Adafruit_GPIO.SPI comme importation SPI Adafruit_SSD1306 depuis importation PIL Image depuis importation PIL ImageDraw depuis importation PIL sous-processus d'importation ImageFont
Après cela, initialisez l'affichage
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', (largeur, height)) draw = ImageDraw.Draw (image1) draw.rectangle ((0,0, width, height), outline = 0, fill = 0) padding = -2 top = padding bottom = height-padding x = 0 police = ImageFont.load_default () Après cela, nous pouvons envoyer des données ou une image à OLED en utilisant le code donné
# Écrivez deux lignes de texte. 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), "Pour plus de vidéos", 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) # Afficher l'image. 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'). convert ('1') disp.image (image) disp.display () time.sleep (2) si disp.height == 64: image = Image.open ('img3.jpg'). convert ('1') else: image = Image.open ('img3.jpg'). convert ('1')
Cet OLED est disponible en deux variantes, l' une est 128 * 32 et l'autre est 128 * 64 afin que l'utilisateur puisse sélectionner n'importe qui en conséquence lors de l'initialisation de l'OLED. Ici, nous avons écrit ce code pour les deux. L'utilisateur doit uniquement initialiser OLED pour 128 * 64 pixels comme:
disp = Adafruit_SSD1306.SSD1306_128_64 (rst = RST)
Tous les codes et fonctions sont faciles à comprendre et aucune autre explication n'est nécessaire. Commencez simplement et essayez de jouer avec la hauteur, la largeur et les images et essayez d'autres fonctions pour créer des figures géométriques plus cool.
Le code Python complet et la vidéo de démonstration sont donnés ci-dessous et vous trouverez ici les images que nous avons utilisées dans ce programme.
Vérifiez également l'interface OLED avec Arduino.