Microbit – rádio

Mikrobity si môžu medzi sebou posielať správy pomocou integrovaného bluetooth modulu. Najprv je potrebné spustiť modul:

from microbit import * 
import radio 
radio.on() 

Potom je treba zvoliť číslo kanálu (od 0 do 100) ,na ktorom bude prebiehať komunikácia a vysielací výkon (od 0 do 7):

from microbit import * 
import radio 
radio.on() 
radio.config(channel=19) 
radio.config(power=7) 

Na posielanie správ slúži príkaz radio.send(“správa”) a na prijímanie správ príkaz prijata_sprava = radio.receive(). Hotový ukážkový program môže vyzerať takto:

from microbit import * 
import radio 
radio.on() 
radio.config(channel=19) 
radio.config(power=7)           
odosielana_sprava = "SP" 
while True:         
        radio.send(odosielana_sprava)         
        prijata_sprava = radio.receive()         
        if  prijata_sprava  is not None:             
            display.scroll(prijata_sprava)                     
        sleep(500) 

V nekonečnom cykle While True sa neustále odosiela správa a prijíma správa (ukladá sa do premennej prijata_sprava) od iného mikrobitu. Ak v premennej prijata_sprava nie je prázdno ( is not None) tak sa jej obsah vypíše na displej. Cyklus sa opakuje každých 500 milisekúnd.

Samozrejme rovnaký program musí byť uložený aj v druhom mikrobite.

Správy je lepšie odosielať pomocou tlačidiel:

from microbit import * 
import radio 
radio.on() 
radio.config(channel=19) 
radio.config(power=7)           
odosielana_sprava_1 = "1SP" 
odosielana_sprava_2 = "2SP"  
while True:         
        if button_a.is_pressed():         
            radio.send(odosielana_sprava_1)   
        if button_b.is_pressed():         
            radio.send(odosielana_sprava_2)        
        prijata_sprava = radio.receive()         
        if  prijata_sprava  is not None:             
            display.scroll(prijata_sprava)                     
        sleep(500)  

Pri stlačení tlačidla A sa pošle prvá správa a pri stlačení tlačidla B sa pošle druhá správa

Leave a Reply

Your email address will not be published. Required fields are marked *