149 lines
8.0 KiB
TeX
149 lines
8.0 KiB
TeX
\begin{exercise}[subtitle={Découverte du Microbit}, step={1}, origin={Ma tête}, topics={ Informatique embarqué et objets connectés }, tags={ Python, Microbit }]
|
|
Ci-dessous, vous avez une image représentant la carte Micro:bit.
|
|
\begin{center}
|
|
\includegraphics[scale=0.6]{./fig/micro-bit}
|
|
\end{center}
|
|
\begin{enumerate}
|
|
\item Classer les éléments suivants dans les trois catégories (capteurs, actionneurs et transmetteurs)
|
|
\begin{multicols}{2}
|
|
\begin{itemize}
|
|
\item Capteurs de lumière
|
|
\item Broches de connexion (pin ou GPIO)
|
|
\item Capteurs de température
|
|
\item Une boussole
|
|
\item Capteurs de mouvements (accéléromètre et boussole)
|
|
\item Interface USB
|
|
\item 25 LEDs programmables individuellement
|
|
\item 2 boutons A et B
|
|
\item Communication sans fil, via Radio et Bluetooth
|
|
\end{itemize}
|
|
\end{multicols}
|
|
\item Repérer sur la carte le éléments précédemment listé.
|
|
\item Imaginer 3 utilisations possibles de cette carte pour faire des objets connectés.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
|
|
\begin{exercise}[subtitle={Matrice Led}, step={2}, origin={Ma tête}, topics={ Informatique embarqué et objets connectés }, tags={ Python, Programmation, Architecture }]
|
|
Dans cet exercice, vous apprendrez à utiliser la matrice de led.
|
|
|
|
Page de la documentation officiel traitant des images :
|
|
\begin{center}
|
|
\url{https://microbit-micropython.readthedocs.io/fr/latest/tutorials/images.html}
|
|
\end{center}
|
|
|
|
La documentation nous invite à essayer ce premier programme
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\inputminted[bgcolor=base3,linenos]{python}{./scripts/02_image.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
|
|
\begin{enumerate}
|
|
\item Écrire le programme proposé et le déposer sur la carte pour voir le dessin affiché.
|
|
\item Affichage d'images pré-dessinées
|
|
\begin{enumerate}
|
|
\item En vous basant sur la documentation, modifier le programme précédent pour afficher un visage de colère.
|
|
\item Pour afficher plusieurs images les unes à la suite des autres, il faut faire une pause entre.
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\inputminted[bgcolor=base3,linenos]{python}{./scripts/02_image_time.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
Modifier le programme précédent pour faire tourner une aiguille comme une montre.
|
|
\end{enumerate}
|
|
|
|
\item Affichage d'images personnelles
|
|
\begin{enumerate}
|
|
\item Lire la suite de la documentation pour afficher des images personnelles.
|
|
\item Choisir deux images de cette banque et les afficher sur la matrice de led.
|
|
\begin{center}
|
|
\includegraphics[scale=0.8, angle=90]{./fig/5x5}
|
|
\end{center}
|
|
\end{enumerate}
|
|
|
|
\item Affichage de texte: La méthode \texttt{display.scroll(....)} permet de faire défilé du texte.
|
|
|
|
Faire défiler votre nom sur la matrice.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Animations}, step={3}, origin={Ma tête}, topics={ Informatique embarqué et objets connectés }, tags={ Python, Programmation, Architecture }]
|
|
Dans cet exercice, on propose de faire des animations sur la matrice de leds.
|
|
|
|
Par exemple faire déplacer un point sur la matrice.
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.7\linewidth}
|
|
\inputminted[bgcolor=base3,linenos]{python}{./scripts/04_for_led.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
|
|
Modifier le programme précédent pour faire les animations suivantes:
|
|
\begin{enumerate}
|
|
\item Éteindre la led allumée avant d'activer la suivante pour donner l'impression que c'est un point qui bouge.
|
|
\item Faire clignoter deux fois chaque led de la première ligne avant de passer à la suivante.
|
|
\item Faire parcourir au point toute la matrice led.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Utiliser les capteurs}, step={3}, origin={Ma tête}, topics={ Informatique embarqué et objets connectés }, tags={ Python, Programmation, Architecture }]
|
|
Dans le premier exercice, nous avons vu que la carte micro-bit contenait plusieurs capteurs. Voici un programme simple qui affiche la température.
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.7\linewidth}
|
|
\inputminted[bgcolor=base3,linenos]{python}{./scripts/05_temperature.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
|
|
\begin{enumerate}
|
|
\item Programmer la carte avec le code ci-dessus et vérifier qu'il fonctionne.
|
|
\item Expliquer ce que fait chaque ligne du programme. À quoi peut service la ligne \mintinline{python}{while True:}?
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Utiliser les boutons}, step={3}, origin={Ma tête}, topics={ Informatique embarqué et objets connectés }, tags={ Python, Programmation, Architecture }]
|
|
Ci-dessous un exemple de programme utilisant les boutons.
|
|
\begin{center}
|
|
\begin{minipage}{0.7\linewidth}
|
|
\inputminted[bgcolor=base3,linenos]{python}{./scripts/05_boutons.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
\begin{enumerate}
|
|
\item Programmer la carte avec le code ci-dessus et vérifier qu'il fonctionne. Que fait ce programme ?
|
|
\item Transformer ce programme pour qu'il affiche la température quand le bouton A est pressé.
|
|
\item Écrire un programme qui allume la led centrale, qui la fait se déplacer à droite quand le B est pressé et vers la droite si c'est le bouton A.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Jeu final - Pierre Feuille Ciseau}, step={3}, origin={Ma tête}, topics={ Informatique embarqué et objets connectés }, tags={ Python, Programmation, Architecture }]
|
|
On souhaite créer un jeu de pierre feuille ciseau sur micro-bit pour jouer contre l'ordinateur.
|
|
|
|
\begin{enumerate}
|
|
\item Dessiner 3 icônes pierre, feuille et ciseaux puis les afficher les unes à la suite des autres sur l'écran du micro-bit.
|
|
\item Le programme ci-dessous permet de choisir au hasard entre \mintinline{python}{"P"} (pour pierre), \mintinline{python}{"F"} (pour feuille) et \mintinline{python}{"C"} (pour ciseau)
|
|
\begin{center}
|
|
\begin{minipage}{0.7\linewidth}
|
|
\inputminted[bgcolor=base3,linenos]{python}{./scripts/05_PFC.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
Adapter le programme pour qu'il affiche vos icônes à la place du nom du choix.
|
|
\item Ajouter un décompte (de 3 à 1) au début du programme (après le \mintinline{python}{while True}).
|
|
\item Avant de faire faire un choix au hasard au microbit, donner la possibilité à l'utilisateur de faire sélectionner sont choix :
|
|
\begin{itemize}
|
|
\item Quand bouton A est pressé, c'est Ciseau
|
|
\item Quand bouton B est pressé, c'est Pierre
|
|
\item Quand bouton A et B sont pressés, c'est Feuille
|
|
\end{itemize}
|
|
Si aucun choix n'a été fait, le joueur perd.
|
|
|
|
Afficher le choix de l'utilisateur puis celui de l'ordi.
|
|
\item Après que le choix de l'utilisateur et celui du microbit sont affichés, afficher une icône pour savoir si on a gagné ou perdu.
|
|
\item Faire évoluer son programme pour que le décompte se fasse sur 5 secondes et est représenté avec les led de la première ligne qui s'éteignent une par une.
|
|
\item Compter les points et afficher le score du joueur à chaque début de parties (avant le décompte).
|
|
\item Bonus: adapter ce jeu pour que deux personnes sur micro-bit puissent s'affronter.
|
|
|
|
\end{enumerate}
|
|
\end{exercise}
|