En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés. Mentions légales.
 
 
 

Bienvenue !!

🏠 Accueil

De mBlock à Python

3e › Programmation › De mBlock à Python
Python · mBlock · Main robotisée

De mBlock à Python — La main robotisée change de langage

~1h à 1h30
3e · Travail individuel
Python · mBlock · Servo
1
Mise en
situation
2
Correspondance
blocs / Python
3
Questions
compréhension
4
Défis
Python
Bilan
compétences

Clique sur une étape pour marquer ta progression

Tu as programmé la main robotisée en mBlock (programmation par blocs). Maintenant, on te montre le même programme écrit en Python, un langage professionnel utilisé dans de nombreux domaines (robotique, IA, data science…).

Ton objectif : associer chaque bloc à son équivalent Python, comprendre les ressemblances et les différences, puis modifier le programme pour lui ajouter une fonctionnalité.
💡 Ce qu’on retient : Python est un langage textuel : on écrit des instructions au lieu de les glisser. Les mêmes idées existent dans les deux langages — seule la forme change. C’est ce qu’on appelle changer de niveau d’abstraction.
Un bloc = une ligne de texte
(ou quelques lignes si complexe)
L’indentation (espaces) remplace les blocs imbriqués
Les commentaires (# ...) servent à expliquer le code sleep(1000) = 1 seconde — l’unité est la milliseconde
Observe le tableau ci-dessous, puis complète l’exercice de correspondance.
# 🟩 Programme mBlock (blocs) 🐍 Équivalent Python
1 lorsque l’Arduino démarre while True:  # boucle principale
2 répéter 2 fois for i in range(2):
3 régler servo pin 5 à 90° doigt_1.write_angle(90)
4 attendre 1 seconde sleep(1000)  # en ms
5 régler servo pin 5 à 0° doigt_1.write_angle(0)

✍ Activité — Place chaque instruction Python en face du bon bloc mBlock :

Clique d’abord sur une étiquette Python code, puis clique sur le slot ??? correspondant.
while True: for i in range(2): doigt_1.write_angle(90) sleep(1000) doigt_1.write_angle(0)
# 🟩 Bloc mBlock 🐍 Instruction Python — à placer
1 lorsque l’Arduino démarre ???
2 répéter 2 fois ???
3 régler servo pin 5 à 90° ???
4 attendre 1 seconde ???
5 régler servo pin 5 à 0° ???
Question 1a

Dans la ligne 3, le bloc indique « attendre 1 seconde » mais Python utilise sleep(1000). Quelle est l’unité utilisée par Python dans cette fonction ?

Question 1b

Comment écrirait-on « attendre 2,5 secondes » en Python ?

❓ Vérifie ta réponse 1b — Quelle est la bonne écriture Python pour 2,5 secondes ?

Asleep(2.5)
Bsleep(2500)
Csleep(250)
Question 2a

Le bloc « répéter 3 fois » devient for i in range(3):. D’après toi, que se passerait-il si on écrivait range(5) ?

Question 2b

Comment traduirais-tu « répéter 10 fois » en Python ?

Question 3

Décris en langage naturel ce que fait le programme complet (lignes 1 à 5), comme si tu l’expliquais à un camarade qui ne programme pas.

✓ Sauvegardé !

Voici le programme complet. Lis-le attentivement avant de répondre aux défis.

# Programme : main robotisée — ouverture/fermeture du doigt (pin 5)
# Importer les bibliothèques nécessaires
from servo import Servo
from time import sleep
# Configurer le servo sur la broche 5
doigt_1 = Servo(5)
# Programme principal — s’exécute au démarrage
while True:                       # Lorsque l’Arduino démarre
    for i in range(2):            # Répéter 2 fois
        doigt_1.write_angle(90)    # Servo pin 5 à 90° (doigt fermé)
        sleep(1000)                  # Attendre 1 seconde
        doigt_1.write_angle(0)     # Servo pin 5 à 0° (doigt ouvert)
        sleep(1000)                  # Attendre 1 seconde
1
Défi 1 — Modification simple ⏰ ~10 min
Modifie le programme pour que le doigt se ferme 2 fois de suite, avec une pause de 0,5 seconde entre les deux fermetures.

❓ Quelle durée faut-il écrire pour une pause de 0,5 seconde en Python ?

Asleep(0.5)
Bsleep(50)
Csleep(500)
Dsleep(5000)
Ecris les lignes modifiées ou ajoutées

Note ici le code Python avec les 2 fermetures et la pause de 0,5 s entre les deux :

2
Défi 2 — Aller plus loin ⏰ ~15 min
Le bouton B (button_b) doit ouvrir le doigt 1 au lieu de le fermer. Quelle valeur d’angle permet d’ouvrir le doigt ?

❓ Pour ouvrir le doigt (position détendue), quelle instruction utilise-t-on ?

Adoigt_1.write_angle(90)
Bdoigt_1.write_angle(0)
Cdoigt_1.open()
Ddoigt_1.write_angle(180)
Ecris les lignes Python à ajouter pour le bouton B

Complete le programme avec le bloc if button_b.is_pressed():

Clique sur ton niveau pour chaque compétence.

Associer un bloc mBlock à son équivalent Python
Décrire en langage naturel le fonctionnement d’un programme
Modifier les paramètres d’un programme Python existant
Ecrire des lignes Python simples (if, for, sleep)
Comprendre le rôle de l’indentation
reussite
✔   J’ai associé correctement chaque bloc mBlock à son équivalent Python.
✔   J’ai expliqué en langage naturel ce que fait le programme complet.
✔   J’ai modifié le programme Python pour répondre aux défis.
✔   Je comprends la différence entre sleep(500) et sleep(0.5).
✔   J’ai complété mon auto-évaluation honnêtement.

Cette séance couvre les objectifs d’initiation à la programmation textuelle du projet de programme de technologie cycle 4 (CSP, juin 2025).

🐍
Initiation à Python — Thème 2 (3e)
Transcrire un programme écrit en blocs en langage Python. Comprendre la correspondance entre un bloc et une ou plusieurs lignes de texte. Identifier les structures de contrôle (if, for) dans les deux langages.
🔧
Modifier un programme existant — Thème 2 (3e)
Modifier les paramètres d’un programme Python (durées, angles, répétitions). Ajouter une fonctionnalité simple à un programme existant. Vérifier le fonctionnement attendu.
Faire preuve d’esprit critique (ECC3)
Analyser le fonctionnement d’un programme en le décrivant en langage naturel. Identifier des erreurs ou des améliorations possibles. Justifier ses choix de modification.
S’exprimer à l’écrit (AFF3)
Décrire le fonctionnement d’un programme en utilisant le vocabulaire adapté (instruction, indentation, commentaire, paramètre, boucle). Rédiger une explication claire pour un non-programmeur.
👥
Auto-évaluation (CPS)
Identifier ses acquis et ses difficultés. Prendre conscience de son niveau de maîtrise pour chaque compétence. Développer une posture réflexive sur ses apprentissages.

Date de création : 07/04/2026 19:14
Catégorie : -
Page lue 6 fois