Micro:bit : le retour

Test du programme suivant permettant d’afficher la température en degré Celsius de la carte sur la matrice de leds :

from microbit import *
while True:
    tpre=temperature()
    display.scroll(tpre,delay=300,wait=True)

Modification du programme pour afficher la température en degré Celsius si l’on appuie sur le bouton « A » et en Kelvin si l’on appuie sur le bouton « B » (à réaliser sur Mu) :

from microbit import *
unit="celsius"
while True:
    if button_a.is_pressed():
        unit="celsius"
    elif button_b.is_pressed():
        unit="kelvin"
    else:
        if unit=="celsius":
            temp = temperature()
            print(temp," C")
            sleep(100)
        else:
            temp = temperature()+273
            print(temp," K")
            sleep(100)

Pour afficher le résultat sur la matrice de leds, il faut remplacer « print » par « display.scroll ».

Il est également possible d’utiliser la matrice de leds en capteur de lumière.

Pour effectuer des tests, il faut utiliser Mu ; c’est la ligne de commande interactive REPL qui va permettre d’afficher les résultats des mesures.

Voici le programme utilisé pour capteur de lumière :

from microbit import *
while True:
    lum=display.read_light_level()
    print(lum)
    sleep(100)

Lorsque la carte est dans l’obscurité, la console affiche 0.

Au contraire lorsqu’on la soumet à une forte lumière comme celle d’un téléphone, elle affiche des nombres beaucoup plus importants, se rapprochant de 255.

Programme affichant l’image « HAPPY » si la lumière ambiante est suffisante et « SAD » dans le cas contraire :

from microbit import *
while True:
    lum=display.read_light_level()
    if lum>50:
        display.show(Image.HAPPY)
    else:
        display.show(Image.SAD)
    sleep(10)

La carte microbit est également équipée de l’extension gravity. Il est donc possible de connecter un haut parleur au pin0 en respectant les couleurs. https://microbit-micropython.readthedocs.io/en/latest/tutorials/music.html.

Programme passant de Frère Jacques à Beethoven :

import music
tune = ["C4:4", "D4:4", "E4:4", "C4:4", "C4:4", "D4:4", "E4:4", "C4:4",
        "E4:4", "F4:4", "G4:8", "E4:4", "F4:4", "G4:8"]
betov=['r4:2', 'g', 'g', 'g', 'eb:8', 'r:2', 'f', 'f', 'f', 'd:8']
music.play(tune,wait=True)
music.play(betov,wait=True)

Il est également possible de modifier l’audio que l’on souhaite écouter, par exemple :

from microbit import *
import music

music.play(music.NYAN)

 

Programme allumeur de réverbère :

(A utiliser avec un del connectée au pin2)

import microbit 
outputPin = microbit.pin2       
while True:
    outputPin.write_digital(1)      
    microbit.sleep(500)
    outputPin.write_digital(0)       
    sleep(500)

« pin2 » est une sortie digitale pouvant prendre les valeurs 0 ou 1. On peut ajouter un potentiomètre sur pin1 qui sera déclaré en entrée analogique.

Programme permettant d’afficher les valeurs mesurées après conversion :

import microbit 
import time     
analogueIn =microbit.pin2    
while True:
    level= analogueIn.read_analog()
    print(level)

Les valeurs affichées doivent varier entre 0 et 1024.

Programme allumeur de réverbère (brancher un capteur de lumière sur pin1 et une led sur pin2) :

import microbit 
import time     
analogueIn =microbit.pin2
outputPin = microbit.pin1       
while True:
    level= analogueIn.read_analog()
    if level<40:
        outputPin.write_digital(1)      
        microbit.sleep(25)
    else:
        outputPin.write_digital(0)        
        sleep(25)

On peut remplacer le capteur de lumière par un capteur sonore. La led s’allume puis s’éteint au bout de 5s lorsque l’on claque des doigts.

import microbit 
import time     
analogueIn =microbit.pin2
outputPin = microbit.pin1       
while True:
    level= analogueIn.read_analog()
    print(level)
    if level>20:
        outputPin.write_digital(1)      
        sleep(5000)
    else:
        outputPin.write_digital(0)        
        sleep(25)

La lampe s’allume et s’étend lorsque l’on claque des doigts (ou que l’on produit un son supérieur à 100) ; print(level) permet d’afficher le niveau sonore dans la console :

import microbit 
import time     
analogueIn =microbit.pin2
outputPin = microbit.pin1       
etat=0
while True:
    level= analogueIn.read_analog()
    print(level)
    if level>100:
        if etat==0:
            outputPin.write_digital(1)      
            microbit.sleep(25)
            etat=1
        else:
            outputPin.write_digital(0)      
            microbit.sleep(25)
            etat=0

Aucune réponse

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *