Skip to content

Activitat

Aplaudeix els llums

Novell | MakeCode, Python | Micròfon, Pantalla LED | Lògica booleana, Selecció, Sensors

Pas 1: Crea-ho

En què consisteix?

Converteix la teva micro:bit en una llum que pots encendre i apagar aplaudint o fent un so fort.

Introducció

Guia de programació

Què aprendràs

  • Com canviar les sortides com a resposta les entrades dels sensors
  • Com utilitzar la lògica Booleana per fer un interruptor que commuta, d'encès a apagat i d'apagat a encès amb el mateix esdeveniment

Com funciona

  • El programa fa servir una variable anomenada lightsOn (llum encès) per fer un seguiment de si la llum està encesa o no. L'estem utilitzant com un tipus especial de variable, una variable booleana. Les variables booleanes només poden tenir dos valors: True - Cert (activat) o False - Fals (desactivat).
  • Quan el sensor del micròfon detecta un so fort, el codi alterna el valor de llum encès (lightsOn) configurant-lo com a llum no encès (not lightsOn).
  • Això vol dir que quan aplaudim, si ligthsOn (llum encès) és fals (false)(i els llums estan apagats), esdevé veritat i el programa il·lumina els LED.
  • Si lightsOn (llum encés) és cert (true)(i els llums estaven encesos), s'esdevé fals (false)i el programa apaga els leds, esborrant la pantalla .

Què necessites

  • Una micro:bit
  • Editor MakeCode o Python
  • Piles (opcional)

Pas 2: Programa-ho

1from microbit import *
2lightsOn = False
3
4while True:
5    if microphone.was_event(SoundEvent.LOUD):
6        lightsOn = not lightsOn
7        if lightsOn:
8            display.show(Image('99999:'
9                               '99999:'
10                               '99999:'
11                               '99999:'
12                               '99999'))
13        else:
14            display.clear()
15    sleep(100)

Pas 3: Millora-ho

  • Pots fer que el bloc "en detectar un so fort" sigui més o menys sensible afegint un bloc "estableix el llindar de so fort" a un bloc "en iniciar". Utilitza números més petits per a sons més fluixos, números més grans per a sons més forts. El vídeo del programa anterior et mostra com fer-ho.
  • A Python per canviar el llindar de sons forts utilitza "microphone.set_threshold(SoundEvent.LOUD, 128)" - canviant el numero 128 al valor que vulguis entre 0 i 255.
  • Fes que els llums també reprodueixin una melodia quan s'encenen.
  • Utilitza el so per controlar altres projectes, com ara LED d'il·luminació o servomotors connectats als pins de la teva micro:bit.