🎮 Simulateur BBC Micro:bit V2
📋 Description
Cette application Python simule le fonctionnement d'une carte BBC Micro:bit V2 avec un mini IDE intégré. Elle permet aux élèves d'apprendre la programmation d'objets connectés de manière interactive et visuelle.
🚀 Installation et lancement
Prérequis
- Python 3.6 ou plus récent
- Tkinter (généralement inclus avec Python)
Lancement
🎯 Fonctionnalités
Simulation de la Micro:bit
- Matrice LED 5x5 : Affichage visuel des LEDs
- Boutons A et B : Cliquables avec la souris
- Capteurs simulés :
- Accéléromètre (valeurs aléatoires)
- Capteur de température
- Capteur de luminosité
- Affichage en temps réel des valeurs des capteurs
Mini IDE
- Onglet Blocs de code : Interface par blocs pour faciliter l'apprentissage
- Onglet Code Python : Éditeur de texte pour le code Python
- Exemples intégrés : Code d'exemple pour commencer
- Exécution en temps réel : Voir les résultats immédiatement
📚 Utilisation pédagogique
Pour les élèves
- Commencer avec les blocs :
- Utilisez l'onglet "Blocs de code"
- Cliquez sur les boutons pour ajouter du code
-
Catégories disponibles : Affichage, Boutons, Capteurs, Contrôle, Images
-
Passer au code Python :
- Basculez vers l'onglet "Code Python"
- Modifiez le code généré
-
Ajoutez vos propres fonctionnalités
-
Tester votre code :
- Cliquez sur "▶ Exécuter" pour lancer votre programme
- Interagissez avec les boutons A et B
- Observez les LEDs s'allumer
- Utilisez "⏹ Arrêter" pour stopper l'exécution
- "🔄 Reset" pour remettre à zéro
Exemples d'activités
1. Premier programme - Cœur clignotant
2. Compteur avec boutons
from microbit import *
compteur = 0
while True:
if button_a.was_pressed():
compteur += 1
display.scroll(str(compteur))
if button_b.was_pressed():
compteur -= 1
display.scroll(str(compteur))
sleep(100)
3. Thermomètre
🎨 Interface utilisateur
Zone de simulation (gauche)
- Représentation visuelle de la Micro:bit
- Matrice LED interactive
- Boutons A et B cliquables
- Panneau d'informations des capteurs
- Boutons de contrôle (Exécuter, Arrêter, Reset)
Mini IDE (droite)
- Onglet Blocs : Catégories de blocs de code prêts à utiliser
- Onglet Code : Éditeur de texte avec exemples
🔧 API Simulée
Affichage
display.show(Image.HEART)
: Afficher une imagedisplay.scroll('Hello')
: Faire défiler du textedisplay.set_pixel(x, y, brightness)
: Allumer/éteindre une LEDdisplay.clear()
: Éteindre toutes les LEDsdisplay.read_light_level()
: Lire le niveau de luminosité
Boutons
button_a.is_pressed()
: Vérifier si le bouton A est pressébutton_b.is_pressed()
: Vérifier si le bouton B est pressébutton_a.was_pressed()
: Vérifier si le bouton A a été pressébutton_a.wait_for_press()
: Attendre que le bouton A soit pressé
Capteurs
temperature()
: Lire la températureaccelerometer.get_x()
: Lire l'accélération Xaccelerometer.get_y()
: Lire l'accélération Yaccelerometer.get_z()
: Lire l'accélération Z
Images prédéfinies
Image.HEART
: CœurImage.HAPPY
: Visage heureuxImage.SAD
: Visage tristeImage.ARROW_N
: Flèche vers le haut
Contrôle
sleep(ms)
: Pause en millisecondes
🎓 Objectifs pédagogiques
- Découverte de la programmation : Interface intuitive avec blocs de code
- Transition vers Python : Passage progressif des blocs au code textuel
- Compréhension des objets connectés : Capteurs, actionneurs, programmation
- Logique algorithmique : Boucles, conditions, variables
- Interaction homme-machine : Boutons, affichage, capteurs
🔍 Conseils d'utilisation
Pour les enseignants
- Commencez par des exemples simples (cœur clignotant)
- Encouragez l'expérimentation avec les blocs
- Progressez vers la modification du code Python
- Utilisez les capteurs pour des projets plus avancés
Pour les élèves
- N'hésitez pas à expérimenter
- Utilisez les exemples comme base
- Combinez différents blocs pour créer vos programmes
- Testez régulièrement votre code
🐛 Dépannage
Problèmes courants
- Le programme ne s'arrête pas : Utilisez le bouton "⏹ Arrêter"
- Erreur de syntaxe : Vérifiez l'indentation et la syntaxe Python
- LEDs qui ne s'allument pas : Vérifiez les coordonnées (0-4 pour x et y)
Messages d'erreur
- Les erreurs Python sont affichées dans une boîte de dialogue
- Lisez attentivement le message pour identifier le problème
📝 Licence
Cette application est destinée à un usage éducatif. Elle simule le comportement d'une BBC Micro:bit à des fins pédagogiques.
Bon apprentissage ! 🎉