Zapisivanje podataka u stvarnom vremenu pomoću Pythona i Mua

Prikaz podataka u stvarnom vremenu s micro:bitova senzora pomoću Pythona i Mua

Ovaj će vodič ti pokazati kako se možeš koristiti Pythonom za prikaz podataka u stvarnom vremenu s micro:bitovih senzora pomoću uređivača Mu.

Trebat ćeš:

  • 1 ili 2 micro:bita.
  • Računalo s intaliranom verzijom uređivača Mu Python 1.0.0 ili novijom.
  • Kućište za baterije (neobvezatno).
  • Igračka u obliku kamiona ili psa (neobvezatno).

Uvod

BBC micro:bit ima različite ugrađene senzore. On, na primjer, ima mjerač ubrzanja koji može mjeriti gravitaciju u 3 dimenzije i magnetometar koji mjeri magnetska polja. One služe da bi se nešto dogodilo kada protreseš svoj micro:bit ili kada ga okreneš naopako te u projektima s kompasom.

Koristeći se Pythonom i Muom možeš na zaslonu svog računala očitati podatke s micro:bitovih senzora i vidjeti ih na grafikonu u stvarnom vremenu. Animacija u nastavku pokazuje ti kako to funkcionira:

Prvi koraci

Otvori Mu i provjeri jesi li odabrao način rada s BBC micro:bitom. Sada 'flashaj' ovaj Pythonov program na svoj micro:bit:

    
from microbit import *

while True:
    sleep(20)
    print(accelerometer.get_values())
  

Potom u Muu pritisni tipku REPL. (REPL je kratica za petlju Pročitaj-procijeni-ispiši ('Read-Evaluate-Print Loop'). Ona ti omogućuje interakciju sa svojim micro:bitom koristeći se Pythonovom naredbenom linijom te upisivanjem tekstualnih naredbi koje se odmah pokreću i reagiraju na tvoj micro:bit).

Ponovno pokreni svoj micro:bit pritiskom na tipku 'reset' na poleđini. Sada bi trebao vidjeti setove od tri broja kada se pomičeš prema gore po zaslonu. To su očitanja s mjerača ubrzanja. Ako protreseš svoj micro:bit, trebao bi vidjeti kako se mijenjaju.

Ti se brojevi tako brzo izmjenjuju da je teško shvatiti njihovo značenje. Možeš ih lakše razumjeti ako ih iscrtaš na grafikonu. Pritisni tipku 'Plotter' u Muu i vidjet ćeš očitanja senzora ucrtana u stvarnom vremenu. Ako ponovno pritisneš tipku REPL, povećat ćeš grafikon i bolje ćeš ga vidjeti.

Trebao bi vidjeti tri linije: zelenu, plavu i narančastu, od kojih svaka pokazuje mjerenje na različitoj osi (X, Y i Z). Možeš li shvatiti koja se linija odnosi na koju os?

Ako protreseš svoj micro:bit, trebao bi vidjeti kako se linije brzo pomiču. Sada vrati svoj micro:bit okrenut na stol licem prema gore i ponovno pogledaj linije. Trebao bi vidjeti da su plave i zelene linije oko 0, a narančasta linija je znatno niže, oko -1000. Okreni micro:bit na drugu stranu i uočit ćeš promjenu očitanja narančaste linije na +1000.

To pokazuje učinak Zemljine gravitacije na mjerač ubrzanja. Brojevi se mjere u mili-g, ili tisućinki g. 1g (1000 milli-g) je sila Zemljine gravitacije. To znači da Zemlja na tvoj micro:bit privlači mnogo više sile u jednoj osi nego u drugima pa narančasta linija mora mjeriti očitanja u osi Z.

Sada udari o stol i trebao bi vidjeti da se linije pomiču poput traga na seizmografu koji mjeri podrhtavanje Zemlje. Što se događa kada o stol udariš jače, slabije, bliže ili dalje?

Ako postaviš micro:bit na njegov rub trebao bi vidjeti da zelena linija raste do 1000, dok su druge dvije linije na 0. To znači da zelena linija pokazuje očitanja na osi Y.

Postavi micro:bit bočno i plava linija raste do 1000 ili -1000, ovisno o tome na koju ga stranu postaviš.

Ova se očitanja također koriste da bi na micro:bitu pomoću Pythona radili pokreti poput "protresi", "gore", "dolje", "desno", "licem prema gore" i "licem prema dolje".

Ne možeš 'flashati' svoj program?

Ako ne možeš učitati ('flashati') program na svoj micro:bit zato što tipka 'flash' ne radi, možda trebaš zatvoriti REPL ili Plotter ponovnim pritiskom tih tipki. Ne možeš 'flashati' programe dok se koristiš REPL-om ili Plotterom jer se oni koriste istim sučeljem kojima se koristi tvoje računalo za 'flashanje' programa na tvoj micro:bit.

Video vodič

Ovdje je videozapis s uputama koji ti pokazuje kako doći do zapisanih podataka u stvarnom vremenu pomoću svog micro:bita, Pythona i Mua:

Dodaj senzor za daljinsko praćenje pomoću radija

Možda ćeš smatrati korisnijim očitavanje podataka na daljinu, bez priključivanja USB-a. Na primjer, možeš pričvrstiti micro:bit na igračku automobil i gledati njegovo ubrzanje dok se spušta niz padinu.

Možeš se koristiti micro:bitovom funkcijom radija kako bi to postigao. Jedan će micro:bit biti senzor pričvršćen na kućište za baterije koji bežično šalje podatke. Trebat ćeš i drugi micro:bit za primanje podataka i slanje preko USB kabela na Mu na svome računalu.

'Flashaj' ovaj Pythonov program na senzoru micro:bita:

  
from microbit import *
import radio
radio.on()

while True:
    sleep(20)
    radio.send(str(accelerometer.get_values()))
  

Potom odspoji ovaj micro:bit sa svog računala i pričvrsti ga na kućište s baterijama. Sada se prenose očitanja s 3 mjerača ubrzanja (osi X, Y i Z) svakih 20 milisekundi u obliku niza znakova.

Tvoj drugi micro:bit će ostati pričvršćen na tvoje računalo preko svog USB kabela. 'Flashaj' na njega sljedeći Pythonov program:

  
from microbit import *
import radio
radio.on()

while True:
    message = radio.receive()
    sleep(20)
    print(message)
  

Kao i prije, klikni na tipku REPL u Muu, ponovno pokreni micro:bit pritiskom na tipku 'reset' na poleđini i pritisni tipku Plotter u Muu. Sada bi trebao vidjeti očitanja mjerača ubrzanja u stvarnom vremenu s drugog micro:bitova senzora za očitanje na daljinu.

Kao što ga možeš pričvrstiti na vozilo u pokretu, možeš gumicom povezati senzor za daljinsko praćenje i ipogađati što se događa na očitanjima. Kakve druge pokuse još možeš osmisliti?

Pohranjivanje snimljenih podataka

Poslije možete proučiti sve snimljene podatke. Mu sprema tvoje podatke kao datoteku CSV (vrijednosti odvojene zarezom) koju možeš otvoriti u bilo kojem programu za proračunske tablice. Ako označiš podatke u proračunskoj tablici možeš ih iscrtati kao linearni graf kako bi ga bilo lakše interpretirati.

Na svom računalu u datoteci 'home' možeš naći CSV datoteke. Pogledaj 'mu_code', a potom datoteku 'data_capture'.

Daljnji koraci

Mogao bi pokušati prikupiti očitanja s drugih ugrađenih senzora poput kompasa ili dodajući vanjske senzore poput senzora za temperaturu, svjetlost ili zvuk. Na primjer, možeš iscrtati koliko su jaka magnetska polja u blizini tvog micro:bita koristeći se ovim Pythonovim programom i Mu Plotterom:

  
from microbit import *

while True:
    sleep(20)
    print((compass.get_field_strength(),))
  

To možda izgleda malo čudno! Mu Plotter radi samo s torkama (vrijednostima grupiranim zajedno), stoga trebamo staviti zarez za dodavanje novih parametara ('trailing comma') nakon očitanja kompasa. 'Flashaj' ovaj progam na micro:bit, otvori REPL i Plotter, ponovno pokreni micro:bit i vidi što se događa kada približiš različite metalne objekte ili magnete.

Ovdje možeš pronaći više informacija o tome kako radi Mu Plotter: https://codewith.mu/en/tutorials/1.0/plotter

Uživaj!

Selecting this opens external content from our support system, which adheres to their privacy policy.