This shows you the differences between two versions of the page.
sde2:laboratoare:03_microbit_fr [2021/03/23 23:58] alexandra.state2607 |
sde2:laboratoare:03_microbit_fr [2021/03/30 18:08] (current) ioana_maria.culic [Exercices] |
||
---|---|---|---|
Line 241: | Line 241: | ||
===== Exercices ===== | ===== Exercices ===== | ||
- | - Écrivez un programme qui en appuyant simultanément les boutons A et B, va afficher une image qui représente "OUI". Si pas de boutons est appuyé sur l'écran va affiche une image qui représente "NON" "NON". Voir les image sur [[https://microbit-micropython.readthedocs.io/en/v2-docs/tutorials/images.html|documentation]]. | + | - **(0.5p)** Écrivez un programme qui en appuyant simultanément les boutons A et B, va afficher une image qui représente "OUI". Si pas de boutons est appuyé sur l'écran va affiche une image qui représente "NON" "NON". Voir les image sur [[https://microbit-micropython.readthedocs.io/en/v2-docs/tutorials/images.html|documentation]]. |
- | -Modifier l’exercice antérieur tel que en appuyant le bouton A va afficher sur l’écran la lettre "A" et en appuyant le bouton B va afficher sur l’écran la lettre "B". | + | - **(0.5p)** Modifier l’exercice antérieur tel que pour que deux images différentes s'affichent dans les deux cas. Voir les image sur [[https://microbit-micropython.readthedocs.io/en/v2-docs/tutorials/images.html|documentation]]. |
- | -Écrivez un programme qui affiche le nombre actuel de secousses sur l’écran. Lorsque le micro-bit enregistre 9 secousses, une image apparaît sur l’affichage. | + | - **(1p)** Écrivez un programme qui affiche le nombre actuel de secousses sur l’écran. Lorsque le micro-bit enregistre 9 secousses, une image apparaît sur l’affichage. |
- | -Créez un programme qui enregistre le nombre des inclinaisons à gauche et à droite. Chaque fois que le micro: bit est pointé dans l’un des deux côtés, il doit afficher sur l’écran le nombre actuel d’inclinaisons de ce côté. //Hint//: utilisez la méthode [[https://microbit-micropython.readthedocs.io/en/v1.0.1/microbit.html#microbit.sleep|sleep]] | + | - **(1p)** Créez un programme qui enregistre le nombre des inclinaisons à gauche et à droite. Chaque fois que le micro: bit est pointé dans l’un des deux côtés, il doit afficher sur l’écran le nombre actuel d’inclinaisons de ce côté. //Hint//: utilisez la méthode [[https://microbit-micropython.readthedocs.io/en/v1.0.1/microbit.html#microbit.sleep|sleep]] |
- | -Écrivez un programme qui en atteignant le logo (le capteur tactile) va faire toggle entre une image avec un diamant et une image avec un petit diamant. | + | - **(0.5p)** Écrivez un programme qui en atteignant le logo (le capteur tactile) va faire toggle entre une image avec un diamant et une image avec un petit diamant. |
- | -Écrivez un programme qui, lors de l’enregistrement d’un son, affichera une image sur l’écran et parlera avec la parole "ON". Si aucun son n’est pas enregistré, l’affichage reste vide. Affichez le niveau sonore pour une action a votre choix (appui sur un bouton, logo tactile, inclinaison, etc.) | + | - **(0.5p)**Changer le code de exemple 5 pour que le micro:bit détecte la lumière pour utiliser le haut-parleur pour lire de la musique JUMP_UP, et lorsque la lumière est éteinte pour lire de la musique JUMP_DOWN. Pour accéder à la bibliothèque "musique", voir la [[https://microbit-micropython.readthedocs.io/en/v2-docs/tutorials/music.html|documentation]]. |
- | -Changer le code de [[https://ocw.cs.pub.ro/courses/sde/laboratoare/02_microbit_ro?&#senzorul_de_temperatura_si_de_lumina|exemple 7]] pour que le micro:bit détecte la lumière pour utiliser le haut-parleur pour lire de la musique JUMP_UP, et lorsque la lumière est éteinte pour lire de la musique JUMP_DOWN. Pour accéder à la bibliothèque "musique", voir la [[https://microbit-micropython.readthedocs.io/en/v2-docs/tutorials/music.html|documentation]]. | + | - **(0.5p)** Créer un programme qui, lorsqu'il est pressé à plusieurs reprises sur le logo, affichera sur l'écran LED les valeurs des paramètres environnementaux (température, luminosité, niveau de bruit) |
+ | - **(1.5p)** Créez un système d'éclairage intelligent: en fonction du niveau de luminosité, les lignes de LED s'allumeront progressivement (lumière forte → toutes les LED éteintes, foncées → toutes les LED allumées). | ||
+ | - **(4p)** Créez un écran de dessin interactif à l'aide de points comme indiqué ci-dessous: | ||
+ | * **(3p)** Lorsque nous appuierons sur le logo (capteur tactile), une LED allumée sera générée dans le coin inférieur gauche. En utilisant le bouton A, nous pouvons "déplacer" la LED vers le haut sur la colonne sur laquelle elle se trouve actuellement. En utilisant le bouton B, nous pouvons "déplacer" la LED vers la droite sur la ligne où elle se trouve maintenant. Une fois que nous avons atteint la position où nous voulons laisser la LED allumée, nous appuyons à nouveau sur le logo. Pour générer une nouvelle "LED allumée", on va appuye à nouveau sur le logo. | ||
+ | * **(0.5p)** Les colonnes et les lignes sont considérées circulaires: une fois que nous atteignons la fin de la colonne / ligne, la LED retournera au début de la colonne / ligne | ||
+ | * **(0.5p)** Nous ne pouvons pas avoir deux LED allumées dans la même position; lorsque on déplace une LED allumée sur une LED déjà allumée, il va "saute" à la première position libre dans le sens du mouvement | ||
+ | * **Bonus**: | ||
+ | * **(1p)** Si au moment de la génération du point, il y a déjà un point dans le coin inférieur gauche de l'écran, il sera généré sur la première position libre sur la première ligne. Si la ligne est complètement occupée, on va passer à la ligne suivante. | ||
+ | * **(1p)** Éteindre une LED: Si un LED est déjà allumée à l'endroit où on a deplace un LED, elle s'allumera et s'éteindra à plusieurs reprises (une fois a toutes les 100 ms). L'utilisateur peux faire deux actions: soit appuyer sur le logo et le LED s'éteindra; soit appuyez sur l'un des deux boutons (A ou B) et la LED se déplacera vers la nouvelle position. Ainsi, la LED "précédemment superposée" restera allumée. | ||
+ | |||
+ | ====Solutions==== | ||
+ | [[https://github.com/UPB-FILS-SdE2/Solutions|Solutions]] | ||