Differences

This shows you the differences between two versions of the page.

Link to this comparison view

sde2:laboratoare:03_microbit_fr [2021/03/23 23:38]
alexandra.state2607 [Input devises ou butons]
sde2:laboratoare:03_microbit_fr [2021/03/30 18:08] (current)
ioana_maria.culic [Exercices]
Line 92: Line 92:
  
 Qu'​est-ce qu'un accéléromètre?​ Un accéléromètre a le but de mesurer et analyser des accélérations linaires et angulaires, par exemple, les voitures modernes utilisent un accéléromètre qui détecte un accident pour déployer des airbags. Qu'​est-ce qu'un accéléromètre?​ Un accéléromètre a le but de mesurer et analyser des accélérations linaires et angulaires, par exemple, les voitures modernes utilisent un accéléromètre qui détecte un accident pour déployer des airbags.
 +
 +[[https://​microbit-micropython.readthedocs.io/​en/​v2-docs/​accelerometer.html|Fontions]] pour lire les valuers du accéléromètre sont:
 +
 +  * **accelerometer.get_x()** - renvoie l'​accélération sur l'axe des x;
 +  * **accelerometer.get_y()** - renvoie l'​accélération sur l'axe des y;
 +  * **accelerometer.get_z()** - renvoie l'​accélération sur l'axe des z;
 +  * **accelerometer.current_gesture()** - renvoie une chaîne en représentant le geste du mouvement; les valeurs renvoyées peuvent être: ''​up'',​ ''​down'',​ ''​left'',​ ''​right'',​ ''​face up'',​ ''​face down'',​ ''​freefall'',​ ''​3g'',​ ''​6g'',​ ''​8g'',​ ''​shake''​
  
 ===Exemple 2=== ===Exemple 2===
Line 116: Line 123:
 Le capteur pour [[https://​www.youtube.com/​watch?​v=a3P6LWwPBqM&​feature=emb_logo| la boussole]] détecte les champs magnétiques de la Terre et est mis, aussi, au dos du micro:bit, comme l’accéléromètre. Cela est utilise pour détecter si un aimant est autotour de dispositif ou pour navigation, il peut montre les directions Nord, Sud, Est et Ouest. Le capteur pour [[https://​www.youtube.com/​watch?​v=a3P6LWwPBqM&​feature=emb_logo| la boussole]] détecte les champs magnétiques de la Terre et est mis, aussi, au dos du micro:bit, comme l’accéléromètre. Cela est utilise pour détecter si un aimant est autotour de dispositif ou pour navigation, il peut montre les directions Nord, Sud, Est et Ouest.
  
-===Exemple 3=== +[[https://microbit-micropython.readthedocs.io/​en/​v2-docs/​compass.html|Fonctions]] utiles pour lire les valeurs de la boussole:
-Dans cet exemple on va voir comme le micro:bit peut-être utilise comme une boussole__Attention__:​ Immédiatement après ont eu chargé le code sur le dispositif, vous devez attendre un peu jusqu’à sur l’écran il va apparaitre le texte suivant “TITLING FILL”Puis, une LED sera affichée à son tour, vous devez incliner le micro:bit jusqu’à l’écran se va allume complétement.+
  
 +  * **compass.calibrate()** - calibre la boussole
 +
 +<note warning>
 +Immédiatement après ont eu chargé le code sur le dispositif, vous devez attendre un peu jusqu’à sur l’écran il va apparaitre le texte suivant “TITLING FILL”. Puis, une LED sera affichée à son tour, vous devez incliner le micro:bit jusqu’à l’écran se va allume complétement.
 +
 +</​note>​
 +
 +  * **compass.heading()** - renvoie une valeur d'​angle comprise entre 0 (N) et 360.
 +
 +===Exemple 3===
 +Dans cet exemple on va voir comme le micro:bit peut-être utilise comme une boussole. ​
 <code python> <code python>
 from microbit import display, compass from microbit import display, compass
Line 137: Line 154:
 </​code>​ </​code>​
  
 +
 +=====Capteur tactile =====
 +
 +Micro:bit a un capteur tactile mis sur [[https://​www.youtube.com/​watch?​v=spFD3SxxxHQ&​feature=emb_logo|logo]],​ qui est utilise comme input. Il peut interagir avec l'​utilisateur comme en utilisant bouton.
 +
 +==== Exemple 4 ====
 +Dans cet exemple on vérifie si le senseur est touche, dans ce cas on va afficher le message "​Hello",​ si non, l’écran ne s’allumera pas.
 +
 +<code python>
 +from microbit import display, pin_logo
 +
 +while True:
 +    if pin_logo.is_touched():​
 +        display.scroll("​Hello"​)
 +    else:
 +        display.clear() #display stays empty
 +</​code>​
 +
 +
 +===== Capteur de température et de lumière =====
 +
 +Le capteur de [[https://​youtu.be/​mrHn8eZ9eqg | température]] enregistre avec une approximation la température autour de micro:bit. Le capteur de [[https://​youtu.be/​ii0U_FMr-Z4|lumière]] peut enregistrer le niveau de lumière par les LED.
 +
 +Fonctions utiles:
 +
 +  * ** temperature() ** - renvoie la température en degrés Celsius
 +  * ** display.read_light_level () ** - renvoie une valeur comprise entre 0 et 255 (0-sombre, 255 - lumière maximale)
 +
 +==== Exemple 5 ====
 +
 +Dans l'​exemple suivant on va afficher la température si le bouton A été appuyé. Si le micro:bit va enregistre la lumière fort sur l'​écran va apparaitre une image du diamant. Pour tester le capteur de lumière, dans cet exemple vous pouvez prendre votre portable, allume la lampe de poche et mettre sa lumière vers le dispositif.
 +
 +<code python>
 +from microbit import *
 +
 +while True:
 +    if button_a.was_pressed():​
 +        display.scroll(temperature()) #display the temperature
 +    elif display.read_light_level() > 100: #check the light level
 +        display.show(Image.DIAMOND)
 +    else:
 +        display.clear()
 +</​code>​
  
 =====Le Microphone et le Speaker ===== =====Le Microphone et le Speaker =====
Line 142: Line 202:
 BBC micro:bit V2 a le microphone fixé à l'​arrière et à la face, vous pouvez voir l'​indicateur,​ qui s'​allume lors de lui accès. Cela peut mesurer le niveau du son autotour de dispositif et il peut détecter les son haut ou plus bas. Aussi à l'​arrière il y a sur [[https://​www.allaboutcircuits.com/​technical-articles/​what-is-a-printed-circuit-board-pcb/​|PCB]] un un haut-parleur(speaker) magnétique d’où provient le son comme output. BBC micro:bit V2 a le microphone fixé à l'​arrière et à la face, vous pouvez voir l'​indicateur,​ qui s'​allume lors de lui accès. Cela peut mesurer le niveau du son autotour de dispositif et il peut détecter les son haut ou plus bas. Aussi à l'​arrière il y a sur [[https://​www.allaboutcircuits.com/​technical-articles/​what-is-a-printed-circuit-board-pcb/​|PCB]] un un haut-parleur(speaker) magnétique d’où provient le son comme output.
  
-===Exemple ​4===+===Exemple ​6===
 Cet exemple va simule une bougie. Après l’importation des bibliothèques,​ est déclaré un compteur nommé //lit//, qui a initialement la valeur //True//. Après, on vérifie s’il y a été enregistré un son fort en utilisant la méthode//​was_event()//,​ qui efface également l’historique des événements sonores avant de retour. Si la méthode va retourne //True// on va change la valeur du compteur //lut//. Dans le cas où la bougie est allumée une image simulant une bougie apparaîtra sur l’écran et qui va faire la flamme scintille à une position aléatoire de 1 à 3.  Cet exemple va simule une bougie. Après l’importation des bibliothèques,​ est déclaré un compteur nommé //lit//, qui a initialement la valeur //True//. Après, on vérifie s’il y a été enregistré un son fort en utilisant la méthode//​was_event()//,​ qui efface également l’historique des événements sonores avant de retour. Si la méthode va retourne //True// on va change la valeur du compteur //lut//. Dans le cas où la bougie est allumée une image simulant une bougie apparaîtra sur l’écran et qui va faire la flamme scintille à une position aléatoire de 1 à 3. 
  
Line 177: Line 237:
  
  
-=====Capteur tactile ===== 
  
-Micro:bit a un capteur tactile mis sur [[https://​www.youtube.com/​watch?​v=spFD3SxxxHQ&​feature=emb_logo|logo]],​ qui est utilise comme input. Il peut interagir avec l'​utilisateur comme en utilisant bouton. 
  
-==== Exemple 5 ==== +===== Exercices ​=====
-Dans cet exemple on vérifie si le senseur est touche, dans ce cas on va afficher le message "​Hello",​ si non, l’écran ne s’allumera pas. +
- +
-<code python>​ +
-from microbit import display, pin_logo +
- +
-while True: +
-    if pin_logo.is_touched():​ +
-        display.scroll("​Hello"​) +
-    else: +
-        display.clear() #display stays empty +
-</​code>​ +
- +
-===== Capteur de température et de lumière ===== +
- +
-Le capteur de [[https://​youtu.be/​mrHn8eZ9eqg | température]] enregistre avec une approximation la température autour de micro:bit. Le capteur de [[https://​youtu.be/​ii0U_FMr-Z4|lumière]] peut enregistrer le niveau de lumière par les LED +
- +
-==== Exemple 6 ==== +
- +
-Dans l'​exemple suivant on va afficher la température si le bouton A été appuyé. Si le micro:bit va enregistre la lumière fort sur l'​écran va apparaitre une image de soleil. Pour tester le capteur de lumière, dans cet exemple vous pouvez prendre votre portable, allume la lampe de poche et mettre sa lumière vers le dispositif.+
  
-<code python> +   - **(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]]. 
-from microbit ​import displaybutton_a, Image, temperature +   - **(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]]. 
- +   - **(1p)** Écrivez un programme qui affiche le nombre actuel de secousses sur l’écran. Lorsque le micro-bit enregistre 9 secoussesune image apparaît sur l’affichage. 
-while True+   -  **(1p)** Créez un programme qui enregistre le nombre des inclinaisons à gauche et à droite. Chaque fois que le microbit 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]] 
-    if button_a.was_pressed(): +   - **(0.5p)** Écrivez un programme qui en atteignant le logo (le capteur tactileva faire toggle entre une image avec un diamant et une image avec un petit diamant. 
-        ​display.scroll(temperature()) #displat the temperature +   - **(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]]. 
-    elif display.read_light_level() > 100#check the light level +   - **(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) 
-        ​display.show(Image#sun image +   - **(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). 
-        ​"90909:" +   - **(4p)** Créez un écran de dessin interactif à l'aide de points comme indiqué ci-dessous  ​ 
-        ​"09990:" +       * **(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. 
-        ​"99999:+       * **(0.5p)** Les colonnes et les lignes sont considérées circulairesune fois que nous atteignons la fin de la colonne / ligne, la LED retournera au début de la colonne / ligne 
-        "​09990:" +       * **(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 
-        "90909")) +       * **Bonus**
-    else+          * **(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. 
-        ​display.clear() +          * **(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.
-</​code>​ +
- +
- +
-===== 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]]. +====Solutions==== 
-   -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"​. +[[https://github.com/UPB-FILS-SdE2/Solutions|Solutions]]
-   ​-É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]] +
-   -É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.) +
-   ​-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]].+
  
  
  
  
sde2/laboratoare/03_microbit_fr.1616535537.txt.gz · Last modified: 2021/03/23 23:38 by alexandra.state2607
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0