Kwiecień 1, 20179:26 Hardware, Technologie ####

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):

  1. Ś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)
  2. Pobieramy jakiś emulator terminala w stylu „Tera Term” lub nawet „Putty”
  3. Wybieramy w typie połączenia „serial”, port który w nazwie ma „mbed” i prędkość połączenia „115200”
  4. 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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *