RADIO VEZA NA MIKROBIT UREĐAJU
Mikrobit uređaj omogućava komunikaciju sa drugim mikrobitima putem radio veze, koristeći ugrađenu antenu koja se nalazi na zadnjoj strani uređaja. Ova funkcionalnost može biti korisna u projektima koji zahtevaju bežičnu razmenu podataka, kao što su igre sa više igrača, razmena poruka ili prenos senzornih podataka.
Primeri upotrebe radio veze
- Razmena poruka između uređaja – omogućava slanje i primanje kratkih tekstualnih ili numeričkih poruka.
- Sinhronizacija uređaja – idealno za kreiranje jednostavnih mreža ili grupe mikrobita koji rade sinhronizovano.
Komande u Radio paleti
- radio set group – podešava grupu kojoj mikrobit pripada. Samo uređaji u istoj grupi mogu međusobno da komuniciraju.
- radio send number – šalje broj drugim uređajima u istoj grupi.
- radio send string – šalje tekstualni niz putem radio signala.
- radio on received – izvršava se kada mikrobit primi broj ili tekst od drugog mikrobita u grupi.
- radio send value – šalje vrednost u formatu "ključ: vrednost", što može biti korisno za prenos kompleksnijih podataka.
- on radio received[receivedNumber] - Registruje kod koji će biti pokrenut kada se primi broj
- on radio received[name] [value] - Pokreće deo programa kada Micro:bit primi par-ime-vrijednost preko radija.
- on radio received[receivedString] - Registruje kod koji će biti pokrenut kada se primi string
- received packet [signal strength] - Preuzima jedno od svojstava iz poslednjeg primljenog radio paketa.
- radio set transmit power – podešava snagu prenosa signala (od 0 do 7), što utiče na domet komunikacije.
- radio set transmit serial number – omogućava slanje serijskog broja mikrobita zajedno sa porukama, što je korisno za identifikaciju pojedinačnih uređaja u mreži.
- radio set frequency band - Mijenja opseg prenosa i prijema radija na dati kanal. Podrazumijevano je 7.
- radio raise event from source with value - Šalje događaj preko radija da se podigne u sabirnici događaja drugog uređaja
Kako dva mikrobita razmenjuju poruke preko radio veze
Komunikacija između dva mikrobit uređaja pomoću radio veze omogućava da uređaji razmenjuju podatke bežično na jednostavan način. Ovo je posebno korisno za projekte koji uključuju daljinsko upravljanje, deljenje podataka, ili sinhronizaciju događaja. Evo detalja kako ovo funkcioniše i kako se može koristiti:
Ključni koraci za radio komunikaciju:
- Omogućavanje radio veze:
- Na svakom mikrobitu potrebno je pozvati funkciju radio.setGroup(groupNumber) da bi uređaji komunicirali unutar iste grupe. Broj grupe mora biti isti za sve uređaje koji žele da komuniciraju.
- Brojevi grupa se koriste kao "kanali" za komunikaciju i pomažu u izolaciji različitih komunikacija.
- Slanje podataka:
- Koristi se komanda radio.sendString("poruka") za slanje tekstualnih poruka.
- Alternativno, mogu se slati i brojevi pomoću radio.sendNumber(broj) ili prilagođeni podaci pomoću radio.sendValue("ime", vrednost).
- Prijem podataka:
- Mikrobit koristi događaje za prijem podataka:
- radio.onReceivedString(function (receivedString) {...}) za prijem tekstualnih poruka.
- radio.onReceivedNumber(function (receivedNumber) {...}) za prijem brojeva.
- radio.onReceivedValue(function (name, value) {...}) za prijem imenovanih vrednosti.
- Mikrobit koristi događaje za prijem podataka:
- Povezivanje udaljenosti:
- Radio komunikacija mikrobita ima domet od oko 10-20 metara u zatvorenom prostoru i do 50 metara na otvorenom, u zavisnosti od prepreka.
- Podešavanje snage signala (opciono):
- Komanda radio.setTransmitPower(powerLevel) (nivo snage od 0 do 7) se koristi za podešavanje snage signala.
Primeri praktične primene:
- Daljinsko upravljanje vozilom:
- Jedan mikrobit služi kao kontroler, dok drugi mikrobit na vozilu prima komande za kretanje (npr. „napred“, „nazad“, „levo“, „desno“).
- Razmena poruka:
- Dva mikrobita se koriste za razmenu tekstualnih poruka, gde korisnik pritiskom na dugme šalje poruku koja se prikazuje na ekranu drugog mikrobita.
- Merenje udaljenosti i alarm:
- Jedan mikrobit prikuplja podatke sa senzora (npr. ultrazvučnog senzora) i šalje ih drugom mikrobitu koji prikazuje ili reaguje na te podatke.
- Igre za više igrača:
- Na primer, igra "Potapanje brodova" gde svaki igrač koristi mikrobit za označavanje brodova i prijem podataka o napadima.
- Sinhronizacija uređaja:
- Jedan mikrobit šalje signal više uređaja za sinhronizaciju aktivnosti, kao što su paljenje svetala ili pokretanje motora.
Projekat 1: Merenje temperature na daljinu koristeći micro:bit uređaje
Opis problema:
Napraviti sistem koji koristi dva micro:bit uređaja za merenje spoljašnje temperature na udaljenosti. Jedan uređaj meri temperaturu pomoću ugrađenog senzora i šalje podatke putem radio veze, dok drugi uređaj prima te podatke i prikazuje ih na svom LED ekranu. Ovaj princip se može proširiti i za kreiranje kompletne meteorološke stanice.
Napraviti sistem koji koristi dva micro:bit uređaja za merenje spoljašnje temperature na udaljenosti. Jedan uređaj meri temperaturu pomoću ugrađenog senzora i šalje podatke putem radio veze, dok drugi uređaj prima te podatke i prikazuje ih na svom LED ekranu. Ovaj princip se može proširiti i za kreiranje kompletne meteorološke stanice.
Opis projekta:
- Cilj:
- Demonstracija upotrebe radio veze na microbit uređajima za razmenu podataka.
- Kreiranje jednostavnog sistema za merenje i prikaz temperature na daljinu.
- Potreban hardver:
- Dva microbit uređaja (jedan za merenje temperature, drugi za prikaz podataka).
Koraci u realizaciji
Kod za uređaj za merenje temperature ("Sender")
- Postaviti radio grupu (npr. grupa 1) pomoću komande radio.setGroup(1).
- Očitavati temperaturu pomoću komande input.temperature().
- Koristiti radio.sendNumber() za slanje očitane vrednosti drugom uređaju u redovnim intervalima (npr. svake sekunde).
Kod za uređaj za prikaz temperature ("Receiver")
- Postaviti istu radio grupu.
- Pomoću radio.onReceivedNumber() uhvatiti primljene podatke.
- Prikazati primljenu temperaturu na LED ekranu.
Proširenje projekta:
- Dodati alarm koji upozorava na ekstremne temperature (npr. preko 30°C ili ispod 0°C).
- Koristiti eksterni senzor temperature (kao što je DHT11 ili DS18B20) za preciznija merenja.
- Prikazati dodatne informacije, kao što su vlažnost vazduha, pritisak ili vreme poslednjeg očitavanja, koristeći dodatne radio poruke.
Kako ovo može postati meteorološka stanica?
- Uvećati broj senzora (za vlažnost, svetlost, pritisak) povezanih na "Sender" micro.
- Koristiti prilagođeni ekran (npr. LCD modul) na "Receiver" uređaju za prikaz više podataka.
- Implementirati slanje podataka na računar ili server za dugotrajno skladištenje i analizu.
Projekat: "Pazi, lopov!"
Opis projekta:
Cilj ovog projekta je da se napravi alarmni sistem koristeći dva micro:bit uređaja koji komuniciraju preko radio veze. Sistem funkcioniše tako da jedan micro:bit("Senzor") prati pokret kutije ili predmeta u kojoj se nalazi dragocenost, dok drugi micro("Alarm") obaveštava o mogućem pokušaju krađe. Kada akcelerometar na senzoru detektuje pokret, na njegovom ekranu se prikazuje ljuto lice, a poruka "Lopov!" se šalje alarmu, koji potom emituje zvuk sirene i upozorava na pomeranje.
Cilj ovog projekta je da se napravi alarmni sistem koristeći dva micro:bit uređaja koji komuniciraju preko radio veze. Sistem funkcioniše tako da jedan micro:bit("Senzor") prati pokret kutije ili predmeta u kojoj se nalazi dragocenost, dok drugi micro("Alarm") obaveštava o mogućem pokušaju krađe. Kada akcelerometar na senzoru detektuje pokret, na njegovom ekranu se prikazuje ljuto lice, a poruka "Lopov!" se šalje alarmu, koji potom emituje zvuk sirene i upozorava na pomeranje.
Uputstvo za realizaciju:
Potreban hardver:
- Dva micro:bit uređaja.
- Opcionalno: zvučnik povezan na pin microza emitovanje sirene.
Kod za microbit "Senzor":
Zadaci:
Glavne komande:
Zadaci:
- Detektovati pomeranje predmeta pomoću ugrađenog akcelerometra.
- Prikazati ljuto lice na LED ekranu kada se pomeranje otkrije.
- Poslati poruku "Lopov!" i uklučiti microbit "Alarm".
Glavne komande:
- input.acceleration(Dimension.Strength) za praćenje jačine ubrzanja.
- radio.setGroup() za usklađivanje radio grupe.
- radio.sendString() za slanje upozorenja.
Kod za micro:bit "Alarm":
Zadaci:
Objašnjenje funkcionalnosti:
- Detekcija pokreta pomoću ugrađenog senzora za gestove.
- Slanje radio poruke "lopovi" kada se pokret detektuje.
- Reagovanje na primanje poruke prikazivanjem ikone i puštanjem melodije.
Objašnjenje funkcionalnosti:
- Detekcija pokreta: Funkcija input.onGesture(Gesture.Shake, function () { ... }) detektuje tresenje uređaja. Kada se to desi, pokreće se alarm i šalje se radio poruka.
- Slanje i prijem poruka:
- Alarm:
- Postavljanje radio grupe:
radio.setGroup(1) osigurava da oba uređaja komuniciraju u istoj grupi.
Proširenje projekta:
- Dodati detekciju otvaranja kutije pomoću dodatnog senzora (npr. magnetnog prekidača).
- Prikazivati na ekranu micro"Alarm" broj uzastopnih pokušaja krađe.
- Implementirati različite zvučne alarme u zavisnosti od detektovanog događaja (npr. blagi ili hitni alarm).
Zaključak
Ovaj projekat pruža odličan primer kako se microbit uređaji mogu koristiti za bežičnu komunikaciju i praktične sisteme upozorenja. Pomoću dodatnih senzora ili modula, ovaj sistem se lako može proširiti i prilagoditi različitim potrebama.