Sensor Board pour Micro:Bit

Le module Sensor Board regroupe a lui seul 3 capteurs différents. Il est capable de mesurer le volume sonore, la température et la luminosité. Cet exemplaire m’a été offert par Françoise et Dominique Meurisse de la boutique MC Hobby (et du blog du même nom). Le branchement est tellement simple que pour une fois, je n’ai pas besoin de faire un schéma :

  • P0 sur le capteur de son
  • P1 sur le capteur de température
  • P2 sur le capteur de lumière
  • Alimentation 3V et GND

Mais, pourquoi ne pas avoir fait comme pour les modules STOP:bit ou LAMP:bit de Kitronik qui se connectent si facilement au Micro:Bit avec quelques vis ?

Heureusement, ce petit « problème » est quand même facile à surmonter. Ensuite, l’utilisation du module est extrêmement simple. Je n’ai eu aucunes difficulté à reproduire les exemples présentés sur le site de Monkmakes (le fabricant du module).

Le capteur de son

Le capteur de son connecté à l’entrée analogique P0 réagit en fonction du volume sonore. Si l’environnement est silencieux, il renvoie 1,5V ce qui correspond à une valeur de 512, mais s’il détecte du bruit la valeur oscille entre 0 et 3V (c’est à dire, entre 0 et 1023 pour l’entrée P0).

Pour obtenir une représentation graphique cohérente, il faut supprimer les valeurs inférieures à 1,5V (et donc à 512, dans le code).

# Appel de la bibliothèque "microbit"
from microbit import *
# Boucle infinie
while True:
    # Calcul du volume sonore (entre 0 et 5)
    volumeSonore = (pin0.read_analog() - 511) / 100
    # Affichage du volume sonore dans la matrice de LED
    display.clear()
    for y in range(0, 5):
        if volumeSonore > y:
            for x in range(0, 5):
                display.set_pixel(x, 4-y, 9)

Température

Le capteur de température fonctionne selon le même principe. Il transmet une tension différente (entre 0 et 3V) suivant la température. Le Micro:Bit interprète la tension sous forme de valeur (comprise entre 0 et 1023) et il suffit ensuite d’appliquer une simple formule de calcul pour obtenir la température en degré Celsius (ou Fahrenheit).

# Appel de la bibliothèque "microbit"
from microbit import *
# Boucle infinie
while True:
    display.scroll(int(pin1.read_analog() * 75 / 1000 - 14))
    sleep(500)

Lumière

Le capteur de luminosité utilise un photo-transistor pour mesurer la lumière.

En théorie, la tension envoyée par le capteur devrait être comprise entre 0 et 3V, ce qui correspondrait (pour le Micro:bit) à une valeur comprise entre 0 à 1023. Mais dans la pratique, la valeur maximale envoyée par le capteur ne dépasse pas 900.

Lorsque la lumière augmente, la tension (et donc la valeur détectée par le Microbit) augmente également :

  • Sombre 0 à 3
  • À l’intérieur, salle peu éclairée 6 à 10
  • À l’intérieur, sous la lumière 10 à 50
  • À l’extérieur (temps couvert) 100 à 200
  • À l’extérieur (journée ensoleillée) 800 à 900
# Appel de la bibliothèque "microbit"
from microbit import *
# Boucle infinie
while True:
    # Calcul du niveau de luminosite 
    lumiere = pin2.read_analog() / 10
    # Affichage de la luminosite dans la matrice de LED
    display.clear()
    for y in range(0, 5):
        if lumiere > y:
            for x in range(0, 5):
                display.set_pixel(x, 4-y, 9)

Conclusion

Simple et facile à utiliser, ce module s’adresse particulièrement aux débutants et à ceux qui n’aiment pas utiliser une breadboard. S’il vous intéresse, vous le trouverez dans la boutique de Françoise et Dominique (MCHobby).


Laisser un commentaire