+21622886281
Afficheur SSD1306 ESP32 LED

Feu de circulation avec afficheur SSD1306 contrôlé par la carte ESP32

Objectif de ce projet :

L’objectif de ce projet consiste à réaliser un feu de signalisation routière suivant ces étapes :
– La led rouge s’allume pendant 3 secondes en affichant sur l’afficheur LCD « Stop » .
– Après les 3 secondes la led rouge s’éteint et s’allume une autre verte, durant 3 secondes aussi , affichant « Traversez »
– Une fois la led verte éteinte, s’allume une troisième, orange, pendant 2 secondes en affichant « Traversez vite ».
Puis le programme reprend en boucle .

Composants nécessaires

  • Carte ESP32
  • 1 LED verte
  • 1 LED jaune
  • 1 LED rouge
  • des fils de connexion
  • afficheur SSD1306

Montage

Pour réaliser le montage on peut connecter :

Les LEDs :

  • la borne (+) de LED vert à la broche D18 de la carte ESP32
  • la borne (+) de LED jaune à la broche D5 de la carte ESP32
  • la borne (+) de LED rouge à la broche D2  de la carte ESP32
  • la borne (-) de chaque LED a GND de la carte ESP32

L’afficheur SSD1306:

  • la broche SCL à la broche D22 de la carte ESP32
  • la broche SDA à la broche D21 de la carte ESP32
  • la broche VCC à la broche 3.3V de carte ESP32
  • la broche GND à GND de la carte ESP32

Programme en micropython

from machine import Pin, I2C
import ssd1306
from time import sleep

# ESP32 Pin assignment
i2c = I2C(-1, scl=Pin(22), sda=Pin(21))

# ESP8266 Pin assignment
#i2c = I2C(-1, scl=Pin(5), sda=Pin(4))

oled_width = 128
oled_height = 64
oled = ssd1306.SSD1306_I2C(oled_width, oled_height, i2c)
led_jaune=Pin(5,Pin.OUT) # Règle la broche D23 de la carte ESP32 en mode sortie
led_rouge=Pin(2,Pin.OUT) # Règle la broche D22 de la carte ESP32 en mode sortie
led_verte=Pin(18,Pin.OUT) # Règle la broche D23 de la carte ESP32 en mode sortie

while True:
led_jaune.value(1) # Allumer LED jaune
led_rouge.value(0)
led_verte.value(0)
oled.text(‘Traversez vite’, 0, 10)
oled.show()
time.sleep(1) # Attendre 1s
oled.fill(0) # effacer l’ecran
led_jaune.value(0) # Éteindre LED jaune
led_rouge.value(1) # Allumer LED rouge
led_verte.value(0) # Éteindre LED verte
oled.text(‘stop’, 0, 10)
oled.show()
time.sleep(3) # Attendre 3s
oled.fill(0)
led_jaune.value(0) # Éteindre LED jaune
led_rouge.value(0) # Éteindre LED rouge
led_verte.value(1) # Allumer LED verte
oled.text(‘traversez’, 0, 10)
oled.show()
time.sleep(3) # Attendre 3s
oled.fill(0)

Remarque: il faut importer la bibliothèque suivante: ssd1306




0 commentaire


Laisser un commentaire

Noter *
Ce champs est réquis

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Scroll to Top