MIKROBIT PROJEKTI I RADIONICE
Vežba 1: Merenje temperature
Vežba 2: Alarm
Dobrodošli u vežbu "Alarm na micro:bit-u", gde ćete naučiti kako da napravite jednostavan sistem detekcije pomoću senzora pritiska i radio-veze. Ova vežba je savršen uvod u osnovne koncepte programiranja micro:bit uređaja, kao i praktičnu primenu senzora i komunikacije između uređaja.
Pre nego što započnete, preporučujemo da pogledate sledeće resurse za dodatne informacije i inspiraciju:
- Uputstvo za vežbu "Pressure switch alarm" na zvaničnoj micro:bit stranici - Naučite kako da kreirate jednostavan alarm koristeći micro:bit i senzore pritiska.
- Radio veza na micro:bit-u - Detaljno objašnjenje kako funkcioniše komunikacija između dva micro:bit uređaja.
Kroz ovu vežbu ćete korak po korak razviti svoj sistem alarma i osigurati dublje razumevanje rada sa micro:bit-om. Uživajte u učenju i istraživanju!
Zadatak: Alarm za otkrivanje lopova
Zamislite sledeću situaciju: Vaša kuća je opremljena modernim sigurnosnim sistemom, ali želite da dodate još jedan sloj zaštite. Na ulazu u garažu želite da postavite alarm koji će vas upozoriti kada neko pokuša da provali. Micro:bit uređaj će vam pomoći da osmislite jednostavan, ali efikasan sigurnosni sistem koristeći radio vezu.
Problem koji rešavamo:
- Kada detektor pokreta ili osoba pritisne taster na prvom Micro:bit uređaju, aktivira se alarm na drugom Micro:bit uređaju koji se nalazi u kući.
- Alarm treba da emituje zvuk (zujalica) i prikaže vizuelni signal na ekranu kako biste odmah znali da je uljez u blizini.
Vaš zadatak:
Napravite dva Micro:bit uređaja:
- Detektor: Uređaj koji detektuje uljeza i šalje radio poruku "alarm".
- Alarm: Uređaj koji prima poruku, aktivira zvučni signal i prikazuje vizuelnu notifikaciju.
Konkretni koraci za rešavanje problema:
- Detektor uljeza:
- Prvi Micro:bit treba da detektuje pritisak na dugme A.
- Kada dugme A bude pritisnuto, uređaj treba da pošalje radio poruku "alarm" na specifičnom kanalu.
- Da bi sistem bio vizuelno intuitivan, nakon slanja poruke prikazuje nasmejano lice (simbolizuje uspešno slanje poruke).
- Alarm u kući:
- Drugi Micro:bit treba da sluša radio poruke na istom kanalu.
- Kada primi poruku "alarm", uređaj prikazuje iznenađeno lice na ekranu, uključuje zujalicu na pin P0 na jednu sekundu, i zatim isključuje zvuk i briše ekran.
Korišćeni materijali:
- Dva Micro:bit uređaja.
- Zujalica povezana na pin P0 drugog Micro:bit uređaja.
- USB kablovi i napajanje za oba uređaja.
Ovaj zadatak simulira stvarni alarmni sistem i može se primeniti u raznim situacijama. Na primer, može poslužiti za upozorenje u kući, kao sigurnosni sistem za školu ili kao deo kreativnih projekata za mlade programere.
Sada se bacite na kodiranje i napravite svoj prvi sigurnosni alarm!
1. Hardverske pripreme:
- Pripremite dva micro:bit uređaja.
- Za Micro:bit 2, povežite zujalicu ili zvučnik na pin P0 i GND (opcionalno, za zvučni alarm).
2. Programiranje Micro:bit 1
- Otvorite MakeCode editor (link).
- Postavite blokove kako biste implementirali sledeće:
- U okviru on start bloka, podesite radio kanal na isti broj kao i kod drugog uređaja (npr. kanal 1).
- Dodajte funkcionalnost: Kada korisnik pritisne dugme A, uređaj šalje poruku "alarm".
Kod u python-u za mikrobit 1:
import radio # Uvoz modula za rad sa radio komunikacijom
radio.on() # Aktivacija radio modula
radio.config(channel=1) # Konfigurisanje radio kanala na 1
while True: # Beskonačna petlja za kontinuirano praćenje stanja
display.show(Image.HAPPY) # Prikazivanje srećnog lica na ekranu
sleep(500) # Pauza od 500 milisekundi
display.clear() # Brisanje prikaza sa ekrana
3. Programiranje Micro:bit 2
- Takođe u MakeCode editoru, otvorite novi projekat.
- Postavite blokove kako biste implementirali sledeće:
- U okviru on start bloka, podesite radio kanal na isti broj (npr. kanal 1).
- Dodajte logiku da, kada uređaj primi poruku "alarm", prikaže animaciju i aktivira zvuk.
Kod u python-u za mikrobit 2:
import radio # Uvoz modula za rad sa radio komunikacijom
radio.on() # Aktivacija radio modula
radio.config(channel=1) # Konfigurisanje radio kanala na 1
while True: # Beskonačna petlja za kontinuirano praćenje radio poruka
if message == "alarm": # Provera da li je primljena poruka "alarm"
pin0.write_digital(1) # Aktiviranje zujalice na pinu P0
sleep(1000) # Pauza od 1 sekunde dok zujalica radi
pin0.write_digital(0) # Isključivanje zujalice
display.clear() # Brisanje prikaza sa ekrana
4. Testiranje
- Uključite oba micro:bit uređaja.
- Na Micro:bit 1 pritisnite dugme A. Proverite da li Micro:bit 2 reaguje prikazivanjem animacije i aktiviranjem alarma.
Proširenje zadatka
- Dodajte opciju da Micro:bit 2 po prijemu poruke "alarm" šalje potvrdu nazad prvom uređaju. - Napravite sistem sa više uređaja na istom radio kanalu za kompleksnije simulacije.Projekat 3: Brzina reagovanja
Napraviti uređaj koji meri brzinu reagovanja korisnika pomoću micro:bit uređaja i jednostavnog prekidača napravljenog od aluminijumske folije. Projekat uključuje kreiranje fizičkog prekidača, pisanje programa za micro:bit i testiranje vremena reakcije korisnika.
- micro:bit uređaj (dva uređaja, ako želite dodatni prikaz na drugom micro:bitu).
- USB kabl za povezivanje micro:bit uređaja sa računarom.
- Karton.
- Aluminijumska folija (tri komada).
- Sunđer ili penušasti materijal za razdvajanje folija.
- Provodnici (kablovi sa krokodil štipaljkama).
- Makaze i lepak.
Koraci za realizaciju projekta:
- Isecite tri komada aluminijumske folije dimenzija oko 10x10 cm.
- Na karton zalepite:
- Prvu foliju (A) – povežite je sa pinom P0 na micro:bitu.
- Drugu foliju (B) – povežite je sa GND pinom na micro:bitu.
- Treću foliju (C) – stavite sa suprotne strane kartona tako da bude izolovana (npr. pomoću sunđera).
- Složite karton i folije tako da folija (C) može spojiti folije (A) i (B) kada se karton pritisne.
- Prekidač postavite na pod ili sto – spreman je za korišćenje.
- Glavni micro:bit program:
- Inicijalizujte pin P0 kao ulaz.
- Na ekranu micro:bita prikažite simbol (npr. krug) nakon nasumičnog vremenskog perioda (1-5 sekundi).
- Kada korisnik pritisne prekidač, izmerite vreme između prikaza simbola i aktivacije prekidača.
- Prikažite rezultat (vreme u milisekundama) na ekranu micro:bit-a.
import time # Uvoz modula za merenje vremena
start_time = 0 # Inicijalizacija promenljive za početno vreme
def on_pin_pressed():
print(reaction_time) # Prikazivanje vremena reakcije na ekranu
def main_loop():
time.sleep(pause_time / 1000) # Pauza pre prikaza ikone
print("Ikona se prikazuje!") # Prikazivanje kvadratne ikone (simulirano ispisom)
start_time = time.ticks_ms() # Beleženje trenutnog vremena kada se ikona pojavi
main_loop() # Pokretanje glavne petlje programa
- Priključite micro:bit uređaj na računar ili eksterni izvor napajanja.
- Postavite prekidač ispod tepiha, otirača ili na neku ravnu površinu.
- Kada micro:bit prikaže simbol, brzo pritisnite prekidač.
- Pročitajte vreme reakcije na ekranu micro:bit-a.
U ovoj vežbi koristite aluminijumsku foliju kao fizički prekidač. Igra je osmišljena tako da meri vašu reakciju kada dodirnete ili "udarite" prekidač napravljen od folije. Cilj je da kreirate jednostavan električni kontakt koji mikrobit može da detektuje.
Povezivanje pinova i aluminijumske folije
- Potrebni materijali:
- Mikrobit.
- Aluminijumska folija (oblikovana u komade).
- Krokodilkice (ili žice za povezivanje).
- Eventualno, traka za pričvršćivanje.
- Kako se povezuje?
- Jedan komad aluminijumske folije povezuje se na jedan od digitalnih pinova mikrobita, npr. P1.
- Drugi komad folije povezuje se na pin za uzemljenje (GND).
- Kada "udarite" foliju (ili je spojite prstom), zatvara se strujni krug između P1 i GND.
Šta se dešava sa stanovišta fizike?
1. Zatvaranje strujnog kruga
- Kada dodirnete aluminijumsku foliju povezanu na P1 i foliju povezanu na GND, strujni krug se zatvara kroz vaše telo.
- Vaše telo ovde funkcioniše kao provodnik. Iako ljudsko telo ima relativno visok otpor, napon od 3.3V (koji mikrobit koristi) je dovoljan da se signal prenese.
- Mikrobit detektuje promenu stanja na P1. U normalnim uslovima, P1 može biti u HIGH stanju (3.3V) kada nije spojen sa uzemljenjem.
- Kada spojite P1 i GND (dodirivanjem folija), napon na P1 pada na 0V (LOW), jer se energija prenosi direktno na uzemljenje.
- Ova promena se koristi kao signal za detekciju.
- Aluminijumska folija služi kao jednostavan provodnik. Njena velika površina omogućava lako povezivanje sa telom (rukom ili prstima), čime olakšava zatvaranje kruga.
- Kada je folija spojena sa pinovima, ponaša se kao prekidač: spajanje folija simulira pritisak na fizički taster.
- Mikrobit beleži trenutak kada detektuje da je strujni krug zatvoren (dodirivanje folije).
- Reakcijsko vreme se meri tako što mikrobit beleži vremenski interval između početnog stanja i trenutka kada se prekidač aktivira.
- Možete "udarati" folije koliko god želite, i mikrobit će beležiti vaše reakcije.
Dodatni zadaci (opciono):
- Prikaz na drugom micro:bit uređaju:
- Povežite dva micro:bit-a preko radio komunikacije.
- Na drugom uređaju prikažite vreme reakcije ili uključite alarm.
- Proširenje funkcionalnosti:
- Dodajte više prekidača za timsku igru.
- Sačuvajte rezultate i prikažite prosečno vreme reakcije.
Vežba 4: Merenje brzine
Zamislite da ste postavili eksperiment za merenje brzine kretanja određenog objekta (na primer, automobila, bicikla ili trkača). Cilj ovog zadatka je da pomoću dva Micro:bit uređaja izmerite brzinu objekta koji prolazi između dve tačke.
Problem koji rešavamo:
Prvi Micro:bit detektuje prolazak objekta kroz prvu tačku, dok drugi Micro:bit detektuje prolazak kroz drugu tačku. Komunikacija između uređaja odvija se preko radio veze. Na osnovu vremena koje objektu treba da pređe rastojanje između tačaka, računa se njegova brzina.
Specifikacija zadatka
- Uređaj 1 (Start senzor):
- Ovaj Micro:bit uređaj detektuje početak merenja.
- Kada se dugme A pritisne, uređaj beleži trenutak početka (start_time) i šalje radio poruku "start".
- Uređaj 2 (Stop senzor):
- Ovaj Micro:bit uređaj čeka poruku "start".
- Kada detektuje prolazak objekta (pritiskom na dugme B), beleži trenutak završetka (stop_time) i izračunava ukupno vreme kretanja.
- Na osnovu unapred definisanog rastojanja (npr. 5 metara), uređaj računa brzinu objekta i prikazuje je na ekranu u metrima u sekundi (m/s).
- Unapred definisano rastojanje:
- Pretpostavite da je rastojanje između dve tačke 5 metara.
Koraci za rešavanje zadatka
1. Postavljanje uređaja 1 (Start senzor):
Povežite prvi Micro:bit na računar.
Napišite program koji radi sledeće:
- Uključuje radio vezu i postavlja kanal za komunikaciju.
- Pritiskom na dugme A beleži trenutni trenutak (
start_time
) koristeći ugrađenu funkciju za merenje vremena. - Šalje radio poruku
"start"
drugom Micro:bit uređaju kako bi označio početak merenja. - Prikazuje simbol strelice (
Image.ARROW_W
) kao vizuelni signal da je merenje započeto.
2. Postavljanje uređaja 2 (Stop senzor):
Povežite drugi Micro:bit na računar.
Napišite program koji radi sledeće:
- Uključuje radio vezu i postavlja kanal za komunikaciju.
- Prima poruku
"start"
i prikazuje simbol sata (Image.CLOCK
) kao vizuelni signal da je uređaj spreman za merenje. - Kada se dugme B pritisne, beleži trenutni trenutak (
stop_time
). - Izračunava ukupno vreme prolaska kao razliku između
stop_time
istart_time
. - Na osnovu definisanog rastojanja (5 metara), računa brzinu prema formuli:
brzina = rastojanje / vreme
. - Prikazuje izračunatu brzinu na ekranu u m/s.
3. Testiranje:
- Postavite prvi Micro:bit na početnu tačku, a drugi na krajnju tačku (rastojanje od 5 metara).
- Pokrenite program na oba uređaja.
- Pritisnite dugme A na prvom uređaju da započnete merenje.
- Kada objekat prođe krajnju tačku, pritisnite dugme B na drugom uređaju.
- Na ekranu drugog uređaja očitava se brzina kretanja objekta.