Vous êtes sur la page 1sur 18

Enseignant :

1 ère
Année LAYOUNI Kais

Programmer la carte
ESP32

★ Activité 1 : Allumer / Éteindre une Led


★ Activité 2 : Sonner / arrêter de sonner un buzzer
★ Activité 3 : Mouvement d’un servo motor
★ Activité 4 : Les entrées : Capteur de distance
Allumer la LED bleu intégrée dans la carte

1 ère
Année

LED bleu
(Pin2)
Activité 1 :
Allumer / Éteindre
LED

Enseignant :
LAYOUNI Kais
Allumer la LED bleu intégrée dans la carte

Lancer Thonny , , écrire le programme suivant,


1 ère
Année l’enregistrer sous le nom “led.py” et l’exécuter.

from machine import Pin Importer pin à partir de la carte

Activité 1 : led=Pin(2, Pin.OUT) Définir pin 2 comme output (sortie)

Allumer / Éteindre led.value(1) Allumer la LED

LED ❖ Application 1 :
Modifier le programme “led.py” pour allumer la
Led puis l’éteindre après 2 secondes en utilisant :
● led.value(0) pour éteindre la LED
● time.sleep(1) pour attendre 1 seconde
Remarque : Ajouter le module “import time” au début du
Enseignant :
programme pour mesurer le temps écoulé en secondes
LAYOUNI Kais
Donc on obtient le programme suivant :

import time Mesurer le nombre


de secondes
1 ère
Année from machine import Pin

led=Pin(2, Pin.OUT)

Allumer la LED
Activité 1 : led.value(1)

time.sleep(2) Attendre 2 seconde


Allumer / Éteindre
LED led.value(0) Eteindre la LED

Remarque :
● Remplacer led.value(1) par led.on()
● Remplacer led.value(0) par led.off()
❖ Application 2 :
Enseignant :
Modifier le programme “led.py” pour clignoter la
LAYOUNI Kais
Led pour toujours en utilisant ‘while True:’
Donc on obtient le programme suivant qui
clignote une LED :
1 ère
Année

import time

Activité 1 : from machine import Pin

led=Pin(2, Pin.OUT)
Allumer / Éteindre
Boucle
LED while True:
(Répétition infinie)
led.on()
time.sleep(1)
led.off()
time.sleep(1)
Enseignant :
LAYOUNI Kais
Clignoter une LED externe (Pin 23) Câblage (sans resistor)

GND Pin 23
1 ère
Année - +

Activité 1 :
Allumer / Éteindre
LED Câblage (avec resistor)

Resistor 220𝞨

- +

Enseignant :
LAYOUNI Kais
Clignoter une LED
externe (Pin 23)
import time
1 ère from machine import Pin
Année led=Pin(23, Pin.OUT)
while True:
led.on()
time.sleep(1)
Activité 1 : led.off()
time.sleep(1)
Allumer / Éteindre
Code Evaluation
LED
import time
from machine import Pin
led1=Pin(2, Pin.OUT)
led2=Pin(23, Pin.OUT)
while True:
led1.on()
led2.off() Modifier le programme en
time.sleep(1)
Enseignant : clignotant inversement la LED
LAYOUNI Kais led1.off()
led2.on()
interne (Pin 2) et la LED externe
time.sleep(1) (Pin 23) .
3 2 1
Application : Feu de circulation 3S
● ledv est branchée à pin 25 1S
● ledj est branchée à pin 32
● ledr est branchée à pin 33 3S

import time
GND from machine import Pin
ledv=Pin(25, Pin.OUT)
ledj=Pin(32, Pin.OUT)
ledr=Pin(33,Pin.OUT)
while True:
ledv.on()

Code
time.sleep(3)
ledv.off()
ledj.on()
time.sleep(1)
ledj.off()
ledr.on()
time.sleep(3)
Pin 33 Pin 32 Pin 25
ledr.off()
import time
from machine import Pin
feux1v=Pin(21, Pin.OUT)
feux1j=Pin(22, Pin.OUT)
feux1r=Pin(23, Pin.OUT)
feux2v=Pin(25, Pin.OUT)
feux2j=Pin(26, Pin.OUT)
feux2r=Pin(27, Pin.OUT) feux tricolores
while True:
feux1v.on() d’un carrefour
feux2r.on()
time.sleep(3)
feux1v.off()
feux1j.on()
time.sleep(1)
feux1j.off()
feux1r.on()
feux2v.on()
time.sleep(3)
feux2v.off()
feux2j.on()
time.sleep(1)
feux2j.off()
Sonner un buzzer pendant 1/2 s puis l’arrêter (boucle infinie)
GND

1 ère
Année

Activité 2 :
Sonner / arrêter de
sonner un buzzer Pin 32
Code “buzzer.py”
import time
from machine import Pin
buzzer=Pin(32, Pin.OUT)
while True:
buzzer.on()
Enseignant : time.sleep(0.5)
LAYOUNI Kais
buzzer.off()
time.sleep(0.5)
Voir : Mini Projet 1
Panneau d’alerte
0° → (20)

90° → (70)
1 ère
Année

Signal
5V
GND
180° → (120)

Activité 3 : Câblage Pin 23

Mouvement
d’un servo
motor

Enseignant :
LAYOUNI Kais
GND 5V
A chaque 2 secondes, Tourner le servomoteur entre
0° et 90°
1 ère
Année

Code “servo.py”

Activité 3 : import time PWM (Pulse Width Modulation) pour


le fonctionnement du servo moteur
from machine import Pin,PWM
Mouvement Définir Pin23 pour le servomoteur
servo = PWM(Pin(23),freq=50) avec 50 Hz de PWM
d’un servo while True:
motor servo.duty(20) Tourner le servomoteur à 0°
time.sleep(2)
servo.duty(70) Tourner le servomoteur à 90°

time.sleep(2)
Enseignant :
LAYOUNI Kais
Voir : Mini Projet 2
Mouvement d’une barrière
1 ère
Année

TouchPad Bouton poussoir

Les entrées
TouchPad, Bouton
poussoir, capteurs,
... Capteur de distance Capteur de mouvement

Enseignant :
LAYOUNI Kais
Capteur de lumière Capteur de température
Allumer la LED intégré (Pin2) avec un
capteur de distance

GND Pin 17 Pin 16


1 ère
Année

Activité 4 :
Capteur de
distance

5V

Si le capteur détecte un obstacle < 10 cm :


la Led s’allume
Enseignant : Sinon :
LAYOUNI Kais
la Led s’éteint
from machine import Pin
import time
from hcsr04 import HCSR04 Le fichier hcsr04.py doit être chargé dans la carte ESP32
led=Pin(2,Pin.OUT)
Configuration du
sensor = HCSR04(trigger_pin=17 , echo_pin=16 , echo_timeout_us=1000000) capteur hc-sr04
while True :
distance = sensor.distance_cm() calculer la distance en cm et la récupérer dans
une variable distance
……………………………………….
if distance < 10 :
………………………………………
led.on()
……………………………………… Si la distance < 10 cm la Led s’allume sinon la Led s’éteint
else:
………………………………………
led.off()
……………………………………… une pause puis reboucler
time.sleep(0.5)
Voir : Mini Projet 3
Capteur de distance

Vous aimerez peut-être aussi