BBC micro:bit
BBC Micro Bit to brytyjska płytka rozwojowa, oparta na procesorze ARM, która została stworzona głównie w celu nauki programowania w szkołach.
Zawartość
Jest kilka edycji, w jakich można kupić urządzenie, ja wybrałem wersj „bbc micro:bit go”, w skład której wchodzą:
- 1 x micro:bit
- 1 x kabelek micro USB – USB do podłączenia z komputerem
- 1 x koszyk na 2 baterie 1,5V
- 2 x broszurki (instrukcja + informacje)
Prezentuje się wszystko w taki sposób:
Hardware
- wymiary: 43 mm × 52 mm
- procesor: Nordic nRF51822 – 16 MHz 32-bit ARM Cortex-M0, 256 KB pamięci flash, 16 KB RAM, 2.4 GHz Bluetooth low energy, procesor jest w stanie przełączać się między częstotliwościami 16 MHz i 32.768 kHz.
- kontroler USB: NXP/Freescale KL26Z – 48 MHz ARM Cortex-M0+, służy do komunikacji między głównym mikrokontrolerem a portem USB
- akcelometr: NXP/Freescale MMA8652 – trój-osiowy sensor komunikujący się po magistrali I2C
- magnetometr: NXP/Freescale MAG3110 – trój-osiowy sensor komunikujący się po magistrali I2C
- złącza: 1 x micro USB, 1 x złącze baterii, 23 pinowe złącze rozszerzeń, 5 x złącze typu „banana”
- wyświetlanie: 25 czerwonych LEDów, w rozłożeniu macierzy 5 x 5
- klawisze: 3 x przycisk typu „tact switch”, jeden do resetowania płytki, dwa do własnych zastosowań
Software
Twórcy urządzenia przygotowali kilka ciekawych środowisk do tworzenia kodu. Pierwszym z nich jest „PXT„, w którym składany każde kolejne polecenie za pomocą osobnych klocków. Jest to narzędzie online’owe, jeżeli komuś nie pasuje idea wizualnego tworzenia kodu, może przełączyć się na źródło w postaci języka JavaScript. Używania aplikacji jest bardzo proste i intuicyjne, byłem sceptycznie nastawiony do tego typu wynalazków, ale okazało się całkiem przyjemne. Drugą możliwością jest pisanie kodu w języku Python, przy uzyciu online’owego edytora. Pozostałe 4 opcje, które były dostępne wcześniej, a są teraz wyparte przez powyższe to:
Jak zacząć?
Tworzymy jakiś programik w jednym z dostępnych edytorów. Zapisujemy go w postaci pliku „*.hex”. Podłączamy micro:bit poprzez kabel micro USB – USB do komputera. Płytka powinna pojawić się w systemie jako pamięć wymienna o rozmiarze 8 MB. Kopiujemy zapisany wcześniej plik do głównego katalogu i zostanie on automatycznie wgrany (żółta dioda powinna na zmianę zapalać się i gasić). Jak widać proces jest bardzo prosty, nie trzeba żadnego dodatkowego oprogramowania i konfiguracji.
Jeżeli potrzebujemy w jakikolwiek sposób przeprowadzić debug naszego kodu (można wyświetlać rzeczy na LEDach, ale jest to mało wygodne rozwiązanie) to polecam podłączenie płytki do komputera i odczytywania wartości bezpośrednio przez terminal szeregowy (coś na styl „Serial Monitora” w Arduino IDE”). W tym celu (na komputerze z systemem Windows):
- Ściągamy sterownik szeregowego interfejsu urządzenia, dostępny pod TYM adresem. Instalujemy go z podłączonym urządzeniem. (mimo, że jest napisane iż w Windows 10 nie trzeba tego robić, i tak musiałem na tym systemie instalować sterownik)
- Pobieramy jakiś emulator terminala w stylu „Tera Term” lub nawet „Putty”
- Wybieramy w typie połączenia „serial”, port który w nazwie ma „mbed” i prędkość połączenia „115200”
- Po podłączeniu powinniśmy mięc dostęp do komunikatów wysyłanych z/do płytki
Wpisywanie / odczytywanie rzeczy z szeregowej komunikacji jest normalnie dostępne we wszystkich środowiskach IDE (zakładka „Serial”). Przykładowy kod sprawdzający wartości wszystkich sensorów i wyrzucający wyniki do terminala:
Kod dostępny online w TYM miejscu. Output z terminala:
UWAGA: Przed wyświetleniem czegokolwiek w terminalu, należy skalibrować kompas (na diodach zostanie wyświetlony napis proszący o ruszaniu dookoła płytką, po tej operacji terminal będzie wypełniać się danymi)
Zastosowania
Dzięki użytym sensorom można odczytać takie wartości jak:
- obecny kierunek geograficzny (NESW)
- położenie i przyspieszenie
- temperaturę otoczenia
- poziom jasności otoczenia
- różnego rodzaju „wearables” typu licznik kroków
Łącząc powyższe rzeczy wraz z dostępnymi środkami komunikacji, takimi jak Bluetooth, matryca LEDowa, można wykonać sporo ciekawych projektów.
Podsumowanie
Urządzenie jest bardzo ciekawym rozwiązaniem do nauki programowania mikrokontrolerów, zarówno dla dzieci, jak i starszych osób. Bardzo proste oprogramowanie, z maksymalnie uproszczonymi bibliotekami do ich obsługi jest dodatkowym atutem. Niestety na chwilę obecną nie ma żadnych modułów, shieldów, czy chociaż wyprowadzeń do nietypowego portu rozszerzeń, a konektory bananowe zbytnio nie nadają się do poważnych projektów. Pewnie z czasem się pojawią, bo lutowanie kabelków bezpośrednio do pinów jest średnio ciekawym pomysłem.











