Feat: Premiers exercices sur la carte micro:bit
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Bertrand Benjamin 2022-09-04 16:56:28 +02:00
parent de5a03ddab
commit 758a1224f9
8 changed files with 80 additions and 75 deletions

View File

@ -1,7 +1,68 @@
\begin{exercise}[subtitle={<++>}, step={1}, origin={<++>}, topics={ Programmation Python et microbit }, tags={ Python, Programmation, Architecture }]
<++>
\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{solution}
<++>
\end{solution}
\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}

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

View File

@ -1,68 +0,0 @@
Programmation Python et microbit
################################
:date: 2022-09-04
:modified: 2022-09-04
:authors: Benjamin Bertrand
:tags: Python, Programmation, Architecture
:category: 1NSI
:summary: Retour sur les bases du python avec microbit
Élements du programme
=====================
.. list-table:: Architectures matérielles et systèmes dexploitation
:header-rows: 1
* - Contenus
- Capacités attendues
- Commentaires
* - Périphériques dentrée et de sortie Interface Homme-Machine (IHM). Identifier le rôle des capteurs et actionneurs.
- Réaliser par programmation une IHM répondant à un cahier des charges donné.
- Les activités peuvent être développées sur des objets connectés, des systèmes
.. list-table:: Langages et programmation
:header-rows: 1
* - Contenus
- Capacités attendues
- Commentaires
* - Constructions élémentaires
- Mettre en évidence un corpus de constructions élémentaires.
- Séquences, affectation, conditionnelles, boucles bornées, boucles non bornées
Progression
===========
Étape 1: Identification des capacités de la carte microbit
----------------------------------------------------------
Étape 2: Succession d'instruction et prise en main
--------------------------------------------------
Dans cette étape, les élèves apprennent à manipuler les images sur la matrice de led et à utiliser quelques capteurs.
Avant de laisser les élèves se lancer dans la suite des exercices, on fait une présentation du "workflow" pour programmer, compiler puis flasher un programme sur micorbit.
Étape 3: Boucle while
---------------------
Étape 4: Boucle for
-------------------
Étape 5: Conditions et évènements
---------------------------------
Étape 6: Un peu tout mélangé
----------------------------
Ressources
==========
- `lecluseo <https://lecluseo.scenari-community.org/CircuitPython/co/module_Micropython_3.html>`_
- `glassus <https://glassus.github.io/snt/Theme4_Objets_Connectes/cours/#0-presentation-de-la-carte-bbc-microbit>`_

View File

@ -27,10 +27,14 @@ Savoir-faire de la séquence
\bigskip
Ordre des étapes à respecter
% Ordre des étapes à respecter
\section{}
\section{Prise en main de la carte micro:bit}
\listsectionexercises
\section{Programmation linéaire}
\listsectionexercises

View File

@ -0,0 +1,2 @@
from microbit import *
display.show(Image.HAPPY)

View File

@ -0,0 +1,6 @@
from microbit import *
import time
display.show(Image.HAPPY)
time.sleep(1)
display.show(Image.SAD)