Informatique embarquée et objets connectés
Avec près de 50 milliards d'objets connectés dans le monde en 2020, ces nouvelles technologies deviennent incontournables.
Nous étudierons durant cet atelier le langage de programmation Python et les cartes de programmation MicroBit (M-B).
Pour cela, par deux, vous allez réaliser différents défis du plus simple au plus complexe...
1ère activité
Répondez aux 3 premières questions de votre fiche activité en vous aidant du fichier ressource Langage Python.pdf présent en bas de page.
2ème activité
A présent, codez en suivant les instructions ci-dessous.
Carte M-B
> Pour téléverser vos programmes vers la carte M-B, vous devez :
1. Connecter la carte au PC
2. sauvegarder le programme au format .hex
3. Glisser/déposer le programme vers la carte M-B
4. Retirer la carte en toute sécurité (en passant par le bouton en bas à droite du bureau du PC)
5. Tester le programme
Lien vers la page de programmation de la carte M-B :
https://python.microbit.org/v/2.0
Pour les premiers défis, servez-vous uniquement de la carte M-B et du câble USB.
Pour vous aider à programmer :
> Ouvrez le fichier Python documentation ressource présent en bas de page.
Défi n°0
> Ouvrir le programme de démonstration de la page de programmation, l'enregistrer au format .hex et le glisser/déposer sur la carte pour le tester.
Découverte du logiciel :
Défi n°1
> Diffuser sur la matrice Led le texte "Coder = Avenir !"
Modifiez votre premier programme pour réaliser ce défi.
Défi n°2
> Construisez et diffusez l'image du bateau ci-dessous.
Défi n°3
> Diffuser sur la matrice Led la séquence ci-dessous montrant un bateau qui coule.
La première image doit rester affichée 2sec,
les images suivantes doivent changer toutes les 0.2sec et ne pas se répéter.
Servez-vous du bateau créé dans le défi n°2 pour aller plus vite!
Défi n°4
> Diffuser sur la matrice Led les images ci-dessous. Il faut changer d'image chaque seconde en continu.
Les deux images sont à créer.
Indice : Utiliser l'instruction loop=True page 4 du document ressource.
Défi n°5
>Afficher l'image Heart 1sec puis l'image SMILE 1sec puis l'image SURPRISED 1sec puis plus aucun affichage. (Ne pas répéter la séquence).
Utiliser la bibliothèque d'images python.
Défi n°6
> Afficher image HEART au démarrage du M-B. Puis, si appui sur bouton A, afficher image SMILE 2sec, si appui sur bouton B, afficher image SURPRISED 2sec.
L'image HEART doit apparaître à nouveau après les différents appuis.
Robot Maqueen
Défi n°7 Positionner la carte Micro:Bit sur le robot maqueen (boutons A et B vers l'avant).
> Faire clignoter les Leds alternativement (gauche puis droite) toutes les 500ms.
> Allumer les 4 Leds RGB suivant cette séquence : Dans une Boucle, allumer 1sec bleu / 1sec vert / 1sec rouge.
Modifier le programme défi_9_a_modifier.hex accessible en bas de page.
Téléchargez le fichier puis ouvrez-le sur votre éditeur de code python à partir du bouton Load/Save / Load.
> Allumer les leds 5sec puis les éteindre. Ensuite, dans une Boucle, allumer la Led RGB n°1 1sec bleu / 1sec vert.
Défi n°9
Défi n°8 Positionner la batterie 3.7V sur le robot maqueen (respecter la polarité avec le détrompeur). Éjectez la carte Micro:Bit avant d'appuyer sur On/Off (retirer le périphérique).
Défi n°10
> Votre robot doit avancer pendant 3sec puis s'arrêter.
Défi n°11
> Votre robot doit faire 1 tour de votre trousse dans le sens horaire.
Votre programme doit être le plus court possible!
Défi n°12
Modifier le programme défi_12_a_modifier.hex accessible en bas de page afin de le rendre fonctionnel.
> Votre robot doit suivre la ligne noire sans difficulté.
Défi n°13
> Votre robot ne doit pas sortir de la zone noire.
Conseil : Utilisez votre programme du défi 12 pour gagner du temps !
Défi n°14
> = programme du défi 13 + Leds allumées quand détection ligne noire.
Si détection avec deux capteurs alors allumer 2 Leds.
Si détection avec capteur de gauche alors allumer Led gauche.
Si détection avec capteur de droite alors allumer Led droite.
Défi n°15
> Suivre la ligne 10sec puis stopper les moteurs. Ensuite, dans une boucle, faire clignoter les Leds alternativement toutes les 200ms.
Conseil : Utilisez votre programme du défi 12 pour gagner du temps !
Défi n°16 UTILISER 2 CARTES (module Radio)
> Communiquer avec une autre carte de programmation en utilisant le module radio de la carte.
Si appui sur bouton A alors afficher Image.HEART sur seconde carte.
Si appui sur bouton B alors afficher Image.SMILE sur seconde carte.
Défi n°17 UTILISER 2 CARTES (module Radio) dont 1 avec le robot Maqueen.
> Communiquer avec une autre carte de programmation en utilisant le module radio de la carte.
> Carte 1 seule; Carte 2 avec robot.
Si appui sur Bouton A de la carte 1, alors allumer les 2 Leds.
Si appui sur le Bouton B de la carte 1, alors éteindre les 2 Leds.
Défi n°18 UTILISER 2 CARTES (module Radio) dont 1 avec le robot Maqueen.
> Communiquer avec une autre carte de programmation en utilisant le module radio de la carte.
> Carte 1 seule; Carte 2 avec robot.
> On utilise ici l'accéléromètre de la carte.
Si carte 1 est retournée (leds vers le BAS) alors éteindre les 2 Leds et afficher l'image HEART.
Si carte 1 est retournée (leds vers le HAUT) alors allumer les 2 Leds et afficher l'image SMILE.
Défi n°19 UTILISER 2 CARTES (module Radio) dont 1 avec le robot Maqueen.
> Communiquer avec une autre carte de programmation en utilisant le module radio de la carte.
> Carte 1 seule; Carte 2 avec robot.
Si Bouton A de la carte 1 est appuyé allumer moteur de droite.
Si Bouton B de la carte 1 est appuyé allumer moteur de gauche.
Si Boutons A + B appuyés allumer les deux moteurs.
Si M-B est secoué, arrêter les 2 moteurs.
Défi n°20 UTILISER 2 CARTES (module Radio) dont 1 avec le robot Maqueen.
> Communiquer avec une autre carte de programmation en utilisant le module radio de la carte.
> Carte 1 seule; Carte 2 avec robot.
Si carte 1 penchée vers la gauche, tourner à gauche et allumer Led gauche.
Si carte 1 penchée vers la droite, tourner à droite et allumer Led droite.
Si M-B est secoué, arrêter et allumer les 2 Leds.
Si Bouton A de la carte 1 est appuyé alors avancer.
Si Bouton B de la carte 1 est appuyé alors reculer.