Skip to content

Aktivnost

Alarm za nagib

Napredni | MakeCode, Python | Mjerač ubrzanja, Radio | Funkcije, Komunikacija, Senzori, Sile

1. korak: Napravi

Što je to?

Osiguraj svoje dragocjenosti pomoću protuprovalnog alarma upravljanog radiom.

Ova dva videa prikazuju što ćeš napraviti i kojim kodom:

Uvod

Vodič za kodiranje

Kako to radi

  • Kada se micro:bit zatrese, njegov brzinomjer detektira pokret pa se na LED zaslonu prikaže ljutito lice i oglasi se zvuk alarma.
  • Također pošalje poruku 'lopov!' putem radija, tako da te drugi micro:bit može upozoriti da netko pomiče tvoj dragocjeni predmet.
  • Ako imaš dva micro:bita, preuzmi program na oba. Jednoga stavi u ili na predmet koji želiš zaštititi, a drugoga drži uz sebe.
  • Želimo istovremeno prikazati ljutito lice i odsvirati melodiju 'ZLOČESTI' i na senzoru pokreta i na alarmu pa zato program koristi funkciju (ili proceduru) nazvanu alarm.
  • Procedure i funkcije su vrlo korisni postupci koje koristimo na više mjesta u programu. Na taj se način ne mora duplicirati kôd, a program je sažetiji i učinkovitiji.

Što ti treba


  • 2 micro:bita
  • a battery pack
  • nešto vrijedno što treba čuvati
  • headphones, buzzers or powered speakers and two crocodile clip leads to attach them if using a V1 micro:bit

2. korak: Kodiraj

1from microbit import *
2import radio
3import music
4radio.config(group=1)
5radio.on()
6
7def alarm():
8    display.show(Image.ANGRY)
9    music.play(music.BADDY)
10    
11while True:
12    message = radio.receive()
13    if message:
14        alarm()
15    if accelerometer.was_gesture('shake'):
16        radio.send('thief!')
17        alarm()
18

3. korak: Unaprijedi

  • Što bi još mogao zaštititi ovakvim alarmom? Kako bismo time zaštitili drveće?
  • Napravi ga osjetljivijim pomoću očitanja brzinomjera ili drugih pokreta.
  • Razdijeli program na dva dijela tako da različiti programi budu na senzoru uz tvoju dragocjenost i na alrmu uz tebe.
  • Pošalji razne znakove i prikaži razne slike za razne senzore na raznim dragocjenim predmetima.