Skip to content

Activiteit

Licht alarm

Gevorderd | MakeCode, Python | Geluid, LED scherm, Licht sensor, Radio | Communicatie, Energie, Herhalingen (iteratie), Licht, Relationele operators, Selectie, Sensoren

Stap 1: Maak het

Wat is het?

Een radiografisch alarm op afstand, zodat je dus weet dat iemand het licht heeft aangedaan, of een lade of tas heeft geopend.

micro:bit toont een boos gezicht met radiogolven die eruit komen en een lichtbron die erop schijnt

Zo werkt het

  • Net als het Zonlicht sensorproject gebruikt dit de LED's van de micro:bit als een licht sensor om te meten hoeveel licht er op het scherm valt.
  • Met behulp van een lus stuurt het sensorprogramma elke 10 seconden een radiobericht om te zeggen of het licht of donker is. Het gebruikt selectie om een 'lichten aan' bericht te verzenden als de lichtmeting meer dan (>) 50 is, en 'lichten uit' als deze minder is dan (<) 50. Mogelijk moet je deze waarden wijzigen, afhankelijk van de lichtomstandigheden waar jij bent.
  • Door op invoer knop A te drukken, wordt een lichtmeting weergegeven op de LED display uitvoer die je zal helpen bij het instellen van jouw alarm, zodat je 50 kunt wijzigen in het beste nummer voor jouw omgeving.
  • Het alarm programma reageert wanneer het een bericht krijgt. Als het bericht gelijk is aan 'lichten uit', wordt het LED display gewist, maar als het gelijk is aan 'lichten aan'dan, toont het een boos gezicht en speelt het 'SLECHTERIK' alarmgeluid.
  • Zorg ervoor dat je sensor en alarm dezelfde radiogroep gebruiken - elk nummer tussen 0 en 255.

Benodigdheden

  • 2 micro:bits, minimaal één met een batterijpakket
  • iets kostbaars om veilig te houden
  • optionele koptelefoon, zoemers of actieve luidsprekers voor alarm

Step 2: Codeer het

Sensor / zender:

1from microbit import *
2import radio
3radio.config(group=5)
4radio.on()
5
6while True:
7    if button_a.was_pressed():
8        display.scroll(display.read_light_level())
9    if display.read_light_level() > 50:
10        radio.send('lights on')
11    else:
12        radio.send('lights off')
13    sleep(10000)
14

Alarm / ontvanger:

1from microbit import *
2import music
3import radio
4radio.config(group=5)
5radio.on()
6
7while True:
8    message = radio.receive()
9    if message:
10        if message == 'lights off':
11            display.clear()
12        elif message == 'lights on':
13            display.show(Image.ANGRY)
14            music.play(music.BADDY)
15

Stap 3: Verbeter het

  • Combineer dit met het Tilt alarm project om te voelen wanneer er iets wordt verplaatst OF als de lichten aan gaan.
  • Laat het alarm andersom werken, zodat het afgaat als iemand het licht uitdoet.
  • Pas het aan om het energieverbruik te monitoren: gebruik een variabele om het aantal seconden bij te houden dat de lichten aan blijven of activeer een alarm pas nadat ze te lang aan zijn geweest.