Livre Final 1eresaloua
Livre Final 1eresaloua
Livre Final 1eresaloua
1 ère année
Pour utiliser la tortue il faut charger la bibliothèque python qui gère la tortue, ainsi tout programme python
utilisant la tortue doit contenir au préalable la ligne
From turtle import*
*
Pour pouvoir se repérer dans la fenêtre, turtle utilise un repère à deux dimensions. Il est centré au milieu de la
fenêtre. Ce repère permet de se déplacer en abscisses et en ordonnées. Le centre du repère, est le point (0, 0).
C’est le point de départ de toutes les fonctions.
La bibliothèque (ou module) turtle regroupe des fonctions permettant de créer des dessins en faisant bouger une
tortue (ou plutôt une flèche) sur l’écran. Cette flèche fonctionne comme un crayon qui s’abaisse pour écrire
down() ou se lève up(), qui se déplace vers l’avant forward() ou vers l’arrière backward(), qui tourne vers la
gauche left() ou vers la droite right()
showturtle()
Affiche le pointeur.
goto(100,100)
Déplace le pointeur de 100 pixels vers la droite et de 100 pixels vers le bas.
with(3) ou pensize(3)
Trace une ligne de 3 pixels de largeur.
.
Se déplacer :
Commande Signification
forward(200)
Se déplace de 200 pixels en avançant.
backward(180)
recule de 180 pixels.
right(90)
Tourner de 90° vers la droite.
Les cercles :
Pour tracer des cercles avec turtle, il sufit d’utiliser la commande circle. On peut tracer un cercle complet ou un
arc de cercle. Pour un arc de cercle il suffit d’indiquer la mesure de l’angle pour afficher l’arc que l’on veut.
Commande Signification
circle(100)
Construit un cercle de 100 pixels de rayon.
circle(100,180)
Construit un demi-cercle de rayon 100 pixels.
circle(100,steps=3)
Trace un carré dont les diagonales mesurent 100 pixels.
circle(100,steps=4) Trace un triangle équilatéral le cercle de rayon 100 est le cercle circonscrit de ce
triangle.
circle(100,180,steps=3
Trace la moitié d’un hexagone. Le rayon = 100 pixels. L’angle = 180°. Nombre de
)
segments = 3.
Code Dessin
………………………………………………………
…………………………
………………………………………………………
………………………………………………………
……………………………………………………
………………………………………………………
………………………………………………………
……………………………………………………… ……………………………………………………
……………………………………………………… ………………………………………………………
…………………………………………………… ………………………………………………………
……………………………………………………
Exercice 3 :
Exercice 6 :
Exercice 8 :
1) Ecrire un programme qui permet de dessiner cette forme :
Exercice 9 :
A) Ouvrir le programme prog1 qui se trouve dans
votre dossier.
1) Exécuter le programme et déduire ce qu’il
dessine :
………………………………
2) Que remarquez-vous dans le programme
………………………………..
3) Réduire le programme en utilisant la nouvelle
structure répétitive
for i in ( ) :
B) Ouvrir le programme prog2 qui se trouve dans
votre dossier
1) Exécuter le programme et déduire ce
qu’il dessine :
………………………
2) Changer le programme pour que ça donne un heptagone (7) puis un hexagone (8), …
Application 1:
Application 2:
1) Ecrire un programme qui permet de dessiner cette forme :
Une variable est un identificateur (une étiquette) par exemple nbCotes associée à une référence (représentée
par la boîte ci-dessous dans un souci de simplification) contenant une valeur (par exemple 3).
Cette valeur peut changer au cours de l’exécution du programme.
2. Est-ce qu’il y a une valeur qui ne change pas tout le long du programme ?
…………………………………………………………………………………………………………
3. Modifier le programme précédent en remplaçant en introduisant la notion de constante
nbCotes = 3
for i in range ( nbCotes ):
C.L’affectation
Pour faire changer la valeur contenue dans une variable on dispose d’une opération importante appelée
l’affectation :
L’affectation correspond à une instruction de la forme :
variable = expression
une expression est formée à partir des nombres, des variables et des opérations comme +, ×, etc... par
exemple :
nbCotes = 4
nbCotes = 2* nbCotes
D.Entréesou saisie
…………………………………………………………………………………………………………………
………………………
Une affectation peut prendre en compte une entrée au clavier par l’utilisateur du programme.
Ainsi dans le programme suivant on laisse à l’utilisateur le soin de préciser le nombre de côtés du polygone
régulier et la longueur d’un côté.
La fonction input(".....") affiche à l’écran ce qu’il y a entre guillemets par exemple ici la question Combien
de côtés ? Imaginons que l’utilisateur tape au clavier 4, pour 4 côtés.
Pour l’utilisateur 4 est un nombre entier, mais pour la machine ce qui est tapé au clavier est codé sous la
forme d’une chaîne de caractères, voilà pourquoi il faut convertir cette chaîne de caractères en nombre entier
en utilisant la fonction int() (int pour integer qui signifie nombre entier en anglais)
Au final on a l’affectation nbCotes = int(input("Combien de côtés ?"))
nbCotes = ………………………………………………………
cote = ……………………………………………………………………………
Année scolaire : 2022/2023 Niveau 1ere S
for i in range ( nbCotes ):
E.Sortie ou affichage :
Si on veut afficher à l’écran le contenu d’une variable ou la valeur d’une expression on utilise la fonction
print()
Exemple:
print('triangle')
Exercice 9 :
fromturtle import *
TOUR_COMPLET = 360
nbCotes = int ( input (" Combien de c ôt é s ? " ))
cote = int ( input ( " Quelle est la longueur d ’ un c ô t é ? " ))
for i in range ( nbCotes ):
fd(cote)
lt(TOUR_COMPLET/nbCotes)
……………………………………………………………………………………………………..
……………………………………………………………………………………………………..
fromturtle import *
TOUR_COMPLET = 360
nbCotes = int ( input (" Combien de c ôt é s ? " ))
cote = int ( input ( " Quelle est la longueur d ’ un c ô t é ? " ))
for i in range ( nbCotes ):
fd(cote)
lt(TOUR_COMPLET/nbCotes)
………………………………………………………………………………….
………………………………………………………………………………….
…………………………………………………………………………………
………………………………………………………………………………….
Un ou des capteurs permettent d’acquérir des informations qui sont ensuite traitéespar uneinterface
programmable pour piloter un ou des actionneurs qui réalisentl’action (à partir de l’énergie qu’il reçoit) .
Vous pouvez vérifier que le pilote est installé dans le gestionnaire de périphériques:
Suivez l'assistant d'installation pour terminer le processus d'installation. Il vous suffit de cliquer sur
"Suivant".
5. Une fois l'installation terminée, ouvrez Thonny IDE. Une fenêtre, comme illustré dans la figure suivante,
devrait s'ouvrir.
2. Brancher la carte à l'ordinateur puis démarrer le gestionnaire de périphériques pour voir sur quel port
COM est connectée la carte ESP32
3. Dans Thonny IDE ouvrir le menu "Outils" puis "Options" enfin choisir l'onglet "Interpréteur"
choisir l'interpréteur : Micropython (ESP32) et le port : Silicon Labs CP210x USB to UART Bridge (ici
COM4)
6. Une fois EraseFlash commence relâcher le bouton "BOOT" , après quelques secondes le firmware
sera téléversé vers la carte ESP32.
3. l'invite de commande >>> apparait et vous pouvez maintenant tapper des commande Micropython
whileTrue:
led.value(1) #allumer le LED
time.sleep(0.5)
led.value(0) #éteindre le LED
time.sleep(0.5)
Copier le code
3. Enregistrer le fichier: fichier -> enregistrer sous -> Save ou cliquer sur le bouton "Save"
4. Choisir "Cet ordinateur" ou "appareil MicroPython" pour enregistrer directement dans la carte
ESP32.
Utilisation de Mu editor
On peut télécharger Mu editor version Alpha au lien suivant:lien
liens directs: Winows 32bit Winows 64bit
Une fois installé, il faut choisir le mode ESP MicroPython
Remarque : La carte ESP32 doit être flashée par le Micropython pour pouvoir l'utiliser avec Mu editor.
Projet 1 :
Clignoter une diodes LED avec un délai de changement de 1 secondes 5 fois
• 4 x FILS male-male
• 3 fils male-femelle
•Led
Sont de petites lumières puissantes utilisées dans de nombreuses applications différentes. Lorsque vous
regardez la LED, vous remarquerez que ses jambes sont de longueurs différentes. La longue jambe, l
'«anode», est l'endroit où le courant entre dans la LED. Cette broche doit toujours être connectée à la source
actuelle. La jambe la plus courte, la «cathode», est la sortie du courant. La jambe courte doit toujours être
connectée à une voie d'accès à la terre GND.
Attention au sens d’installation, le méplat indique la cathode
MONTAGE
ledESP32
- GND
+ P23
CLK SD0 SD1 G15 G2 G0 G4 G16 G17 G5 G18 G19 GND G21 RXD TXD G22 G23 GND
Code :
from time import sleep
from machine import Pin # importer pin à partir du module machine
r=Pin(23, Pin.OUT) # Définir le pin 23 comme output(sortie)
for i in range(5): # boucle for pour repeter le traitement 5 fois
r.value(1)
sleep(1)# Allumer la LED rouge
r.value(0)
sleep(1)# Allumer la LED rouge
Projet 2 :
Réaliser un feu de circulation en utilisant 3 diodes LED de couleurs (rouge, vert, orange) et 3 résistances de
220 Ω , avec un délai de changement de 5 secondes , commandé par la carte esp32
Pièces nécessaires
Les composantes à utiliser :
Montage
V5 CMD SD3 SD2 G13 GND G12 G14 G27 G26 G25 G33 G32 G35 G34 SM SP EN 3V3
CLK SD0 SD1 G15 G2 G0 G4 G16 G17 G5 G18 G19 GND G12 RXD TXD G22 G23 GND
Code :
from time import sleep
from machine import Pin # importer pin à partir du module machine
r=Pin(12, Pin.OUT) # Définir le pin 12 comme output(sortie)
j=Pin(14, Pin.OUT) # Définir le pin 14 comme output(sortie)
v=Pin(27, Pin.OUT) # Définir le pin 27 comme output(sortie)
while True: # boucle while , boucle infinie puisque condition toujours vrai ->True
r.value(1) # Allumer la LED rouge
j.value(0)
v.value(0)
sleep(5)
r.value(0) # Allumer la LED jaune
j.value(1)
v.value(0)
sleep(5)
r.value(0) # Allumer la LED vert
j.value(0)
v.value(1)
sleep(5)
r.value(0) # Allumer la LED jaune
j.value(1)
Année scolaire : 2022/2023 Niveau 1ere S
v.value(0)
sleep(5)
Ils peuvent ainsi détecter les variations induites lors du contact du GPIO avec le doigt.
Ces capteurs tactiles sont du type capacitif. Ces capteurs tactiles sont partagés avec les broches GPIO
d'ESP32. Le capteur capacitif peut détecter les changements électriques sur les broches GPIO respectives.
Par exemple, si vous touchez l'une de ces broches, la broche GPIO produira une sortie en fonction de la
charge électrique de votre doigt.
Parce que le corps humain détient également une charge électrique. Par conséquent, ces capteurs tactiles
sont également appelés capteurs capacitifs.
Pièces nécessaires
Vous aurez besoin des pièces suivantes :
• Carte ESP32
• Câble micro USB
• 1 x fil cavalier
Code
from machine import Pin,TouchPad
from time import sleep
touch0 = TouchPad(Pin(4))
led=Pin(23,Pin.OUT)
seuil=100 #configurer le seuil pour lequel le pin est considéré comme touché
while True:
if touch0.read()<seuil: # vérifier si la valeur sur le touchpin< seuil
led.on() # Allumer la lampe LED
else:
led.off() # Eteindre la lampe LED