Bertrand Benjamin
f8337b40ab
All checks were successful
continuous-integration/drone/push Build is passing
149 lines
7.4 KiB
TeX
149 lines
7.4 KiB
TeX
\begin{exercise}[subtitle={Découverte de la carte Micro:bit}, step={1}, origin={Ma tête}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
|
|
\begin{enumerate}
|
|
\item Observer la carte micro:bit puis identifier les éléments présents en les reportant sur le schéma ci-dessous
|
|
\begin{center}
|
|
\includegraphics[scale=0.5]{./fig/micro-bit}
|
|
\end{center}
|
|
\item Classer ces éléments dans l'une des trois catégories suivantes: capteur, actionneur, autre. Imaginer une utilité possible de ces éléments.
|
|
\item Trouver la documentation officielle (en français) de la programmation de cette carte en python (micropython ici).
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Matrice Led}, step={2}, origin={Ma tête}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
|
|
Dans cette exercice, vous apprendrez à utiliser la matrice de led.
|
|
|
|
Page de la documentation officiel traitant des images: \url{https://microbit-micropython.readthedocs.io/fr/latest/tutorials/images.html}
|
|
|
|
La documentation nous invite à essayer ce premier programme
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\lstinputlisting{./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 faire afficher d'autres images.
|
|
\item Pour afficher plusieurs image les unes à la suite des autres, il faut faire une pause entre.
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\lstinputlisting{./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 Reproduire quelques caractères du tableau suivant
|
|
\begin{center}
|
|
\includegraphics[scale=0.8]{./fig/5x5-charmap}
|
|
\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={Quelques capteurs}, step={2}, origin={Ma tête}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
|
|
Comme sur dans le premier exercice, la carte micro:bit est composé de quelques capteurs.
|
|
\begin{enumerate}
|
|
\item Pour accéder au capteur de température, il faut utiliser la commande \texttt{temperature()}.
|
|
|
|
Écrire un programme qui fait défiler la température.
|
|
\item Pour accéder au capteur de la boussole, il faut utiliser la commande \texttt{compass.heading()}.
|
|
|
|
Écrire une programme qui fait défiler la direction de la boussole.
|
|
|
|
\item Écrire un programme qui affiche une image, puis la température et enfin la direction de la boussole.
|
|
|
|
\item Critiquer les deux qui viennent d'être écrits. Pourquoi ne sont-ils pas satisfaisants?
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Boucles infinies}, step={3}, origin={Ma tête}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
|
|
Pour mettre à jour de façon continue une valeur, il faut utiliser une \textbf{boucle infinie} pour mesurer la valeur puis éventuellement l'afficher.
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\lstinputlisting{./scripts/03_temperature_infinie.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
\begin{enumerate}
|
|
\item Décrire ce que fait chaque ligne du programme.
|
|
\item Écrire un programme qui indique la direction dans laquelle pointe la carte à tout moment.
|
|
|
|
\textit{Pour calibrer la boussole, vous pouvez utiliser \texttt{compass.calibrate()} avant la boucle infinie.}
|
|
\item Dessiner deux coeurs, un petit et un gros, puis faire apparaitre un coeur qui bat sur la matrice.
|
|
\item Le planeur est le plus petit vaisseau qui peut apparaitre dans le Jeu de la vie de Conway. Faire défiler un planeur sur la matrice.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
\begin{exercise}[subtitle={Boucles finies avec condition}, step={3}, origin={Ma tête}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
|
|
La boucle \texttt{while} vue dans l'exercice précédent peut aussi s'arrêter à une certain condition.
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\lstinputlisting{./scripts/03_while_condition.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
\begin{enumerate}
|
|
\item Décrire ce que fait chaque ligne.
|
|
\item Écrire un programme qui fait un décompte en partant de 5 puis qui affiche un coeur.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
|
|
\begin{exercise}[subtitle={Boucle finie}, step={4}, origin={Ma tête}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
|
|
Il est possible aussi de faire des boucles sur des ensembles définis à l'avance.
|
|
|
|
Par exemple faire déplacer un point sur la matrice.
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\lstinputlisting{./scripts/04_for_led.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
|
|
\begin{enumerate}
|
|
\item Faire parcourir au point toute la matrice led.
|
|
\item Faire clignoter 5 fois chaque led de la première colonne de la matrice.
|
|
\item (*) Faire 5 relevés de température à une seconde d'intervalle, ajouter ces 5 valeurs, puis afficher la température moyenne sur les 5 secondes écoulées.
|
|
\end{enumerate}
|
|
|
|
On peut aussi faire une boucle sur des éléments d'une liste
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\lstinputlisting{./scripts/04_for_list.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
\begin{enumerate}
|
|
\item Changer les images affichées.
|
|
\item Afficher une flèche qui fait le tour autour du centre de la matrice.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
|
|
\begin{exercise}[subtitle={Capteurs}, step={5}, origin={Ma tête}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
|
|
Il est aussi possible d'utiliser les deux boutons à côté de la matrice led.
|
|
|
|
\begin{center}
|
|
\begin{minipage}{0.5\linewidth}
|
|
\lstinputlisting{./scripts/05_boutons.py}
|
|
\end{minipage}
|
|
\end{center}
|
|
|
|
\begin{enumerate}
|
|
\item Modifier le programme pour qu'il affiche la température si le bouton a est préssé et la direction de la boussole sinon.
|
|
\item (*) Écrire un programme qui montre un visage content sauf quand on secoue le microbit où le visage devient triste.
|
|
\item (*) Écrire une programme qui permet de faire circuler des images dans une liste avec les boutons a et b.
|
|
\end{enumerate}
|
|
\end{exercise}
|
|
|
|
% ---- Miniprojets
|