microbitsensoren
Deutsch   English   Français   

10. AUTRES CAPTEURS DU MICRO:BIT

 

 

TU APPRENDRAS ICI...

 

à utiliser les capteurs suivants du micro:bit :

  • Capteur de luminosité
  • Capteur de température
  • Capteur tactile
  • Capteur de son (microphone)

 

 

CAPTEUR DE LUMINOSITÉ

 

Pour mesurer la luminosité ambiante, le micro:bit utilise les LED situées sur la face avant de la carte. Normalement, les LED transforment le courant électrique en lumière visible. Mais il est également possible de faire l'inverse, c'est-à-dire de transformer la lumière visible en courant électrique.

Le micro:bit peut mesurer ce courant et renvoyer une valeur comprise entre 0 et 255 pour indiquer la luminosité ambiante. La valeur 0 correspond à l'obscurité totale et 255 à une très forte luminosité.

 

Note que le micro:bit utilise uniquement la rangée supérieure des LED pour mesurer la luminosité. Si tu recouvres cette rangée, la valeur affichée devrait être 0.

 

 

EXAMPLE

  La luminosité ambiante est mesurée avec l'instruction display.read_light_level() et affichée dans la fenêtre de sortie avec print(). L'intervalle entre deux mesures est ici de 1000 millisecondes.

Programme:

from microbit import *

while True:
    lightValue = display.read_light_level()
    print(lightValue)
    sleep(1000)
► Copy to clipboard

 

 

CAPTEUR DE TEMPÉRATURE

 

Le capteur de température est intégré au processeur. Il renvoie une valeur correspondant à la température ambiante. Cependant, les résultats des mesures ne sont pas très précis, car le processeur chauffe, notamment lorsqu'il fonctionne pendant une période prolongée.

Pour effectuer des mesures précises de la température, il est préférable d'utiliser un capteur externe, par exemple le capteur de température et d'humidité SHT85.

 

 

 

EXAMPLE

  Dans cet exemple, la température est mesurée en °C avec l'instruction temperature() et affichée dans la fenêtre de sortie avec print(). L'intervalle entre deux mesures est de 300 millisecondes. Si tu touches le processeur du micro:bit avec tes doigts chauds, la température affichée augmente.

Programme:

from microbit import *

while True:
    temp = temperature()
    print(temp)
    sleep(300)
► Copy to clipboard

 

 

CAPTEUR TACTILE

 

Le capteur tactile est intégré au logo du micro:bit. Lorsque tu touches le logo, le capteur renvoie True, sinon il renvoie False.

 

 

 

 

EXAMPLE

  L'instruction pin_logo.is_touched() renvoie True lorsque tu touches le logo et False dans le cas contraire. Dans cet exemple, l'image YES apparaît sur l'écran lorsque le logo est touché. Sinon, l'image NO est affichée.

Programme:

from microbit import *

while True:
    if pin_logo.is_touched():
        display.show(Image.YES)  
    else:
        display.show(Image.NO)  
    sleep(100)
► Copy to clipboard

Remarque : Lorsque tu vérifies une valeur booléenne, tu n'écris pas :
if pin_logo.is_touched() == True:
mais, de manière plus élégante :
if pin_logo.is_touched():

 

 

CAPTEUR DE SON (MICROPHONE)

 

Le micro:bit V2 est équipé d'un microphone, visible sous la forme d'une petite puce dorée à l'arrière de la carte.

Le capteur du microphone mesure le niveau sonore et renvoie des valeurs comprises entre 0 et 255. La valeur 0 correspond au silence complet et 255 à un niveau sonore très élevé.

 

 

 

 

EXAMPLE

  Dans cet exemple, le niveau sonore ambiant est mesuré avec l'instruction microfone.sound_level() and displayed using print(). Si le niveau sonore est greater than 40 , toutes les LED de l'écran s'allument pendant 500 millisecondes.

Programme:

from microbit import *

def on():
    for y in range(5):
        for x in range(5):
            display.set_pixel(x, y, 9)
    sleep(500)
            
def off():
    display.clear()
                
while True:
    level = microphone.sound_level()
    print(level)
    if level > 40:
        on()
    else:
        off()            
    sleep(100)
► Copy to clipboard

 

 

À RETENIR...

 

Le capteur de luminosité renvoie, avec l'instruction display.read_light_level(), la luminosité ambiante sous forme d'une valeur comprise entre 0 et 255.

Le capteur de température mesure, avec l'instruction temperature(), la température en °C.

L'instruction pin_logo.is_touched() renvoie True lorsque tu touches le logo du micro:bit, sinon elle renvoie False.

L'instruction microfone.sound_level() renvoie le niveau sonore ambiant sous forme d'une valeur comprise entre 0 et 255.

 

 

 

EXERCICES À RÉSOUDRE

 

 

1.

Écris un programme qui allume toutes les LED de l'écran lorsque le capteur de luminosité renvoie une valeur inférieure à 100. Lorsque la valeur light-level est supérieure à 100, les LED doivent s'éteindre.


2.

Lorsque tu touches le logo du micro:bit, la mélodie JUMP_UP doit être jouée.

   

3.

Enregistre la température initiale dans une variable appelée temp0. Ensuite, interroge le capteur de température toutes les 1000 millisecondes.

Si la température augmente, affiche l'image ARROW_N. Si elle diminue, affiche l'image ARROW_S. Si elle reste constante, affiche l'image ARROW_E.

  • If the temperature increases, display the image ARROW_N.
  • If the temperature decreases, display the image ARROW_S.
  • If the temperature remains unchanged, display the image ARROW_E.

 

4.

Démarrer un programme en frappant dans les mains. Écris une fonction go() qui fait apparaître un point lumineux dans le coin supérieur gauche de l'écran, puis le fait parcourir tout l'écran.Pour cela, une LED s'allume pendant 400 millisecondes, puis s'éteint. Ensuite, la LED située immédiatement à sa droite s'allume et s'éteint à son tour, et ainsi de suite.Lorsque la première rangée est terminée, les LED de la deuxième rangée s'allument successivement, puis celles des rangées suivantes.

 
La fonction go() est appelée lorsque sound_level > 40, par exemple lorsqu'on frappe dans les mains..