Przykładowe programy na platformę Micro:bit – część 2

Kontynuujemy prezentację możliwości płytki edukacyjnej micro:bit – znakomitej platformy do nauki programowania dla dzieci w wieku od 11 lat. W pierwszej części artykułu z przykładowymi projektami skupiliśmy się na peryferiach, w które wyposażona jest płytka micro:bit. Tym razem do modułu podłączono zewnętrzne peryferia, takie jak buzzer, diody adresowane oraz serwomechanizm.

W artykule zostaną wykorzystane następujące elementy:

Rys. 1. Adapter do płytki micro:bit 

Płytka micro:bit jest wyposażona w złącze krawędziowe, na które wyprowadzone są piny mikrokontrolera. Można do nich podłączyć moduły zewnętrzne. Niektóre ze styków posiadają otwór oraz są szersze niż inne (opisane 0,1,2 piny wejściowe/wyjściowy oraz 3V, GND), co pozwala na użycie ich z wtykami krokodylkowymi (tak jak w artykule Micro:bit – programowanie z wykorzystaniem Arduino IDE ). Jeżeli chcemy skorzystać z interfejsów komunikacyjnych lub większej ilości portów, musimy skorzystać ze specjalnego adaptera (rysunek 1). Z jednej strony adaptera wpinamy płytkę micro:bit, natomiast z drugiej znajduje się złącze goldpin, na które wyprowadzone są wszystkie linie ze złącza krawędziowego (listwę można wpiąć w płytkę stykową jak na rysunku 2).

Rys. 2. Płytka micro:bit z adapterem wpięta w płytkę stykową 

W pierwszym przykładzie do płytki micro:bit podpięty zostanie buzzer, co pozwoli na napisanie programu do odtwarzania prostych dźwięków. Do pinu AIN0 należy podłączyć plus buzzera, a minus do pinu GND. Zostało to pokazane na rysunku poniżej:

Rys 3. Płytka micro:bit z podłączonym buzzerem

Przechodzimy na stronę z edytorem MakeCode (dokładny opis edytora został przedstawiony w pierwszej części z przykładowymi programami dla płytki micro:bit). W tym przykładzie chcemy wykorzystać buzzer do wydawania dźwięków, dlatego będziemy korzystać z bloczków z kategorii Music. Można tam znaleźć bloczki do odtworzenia pojedynczych tonów lub całych melodii. Zamiast buzzera można podłączyć głośniki lub słuchawki. Należy to zrobić według schematu widocznego pod symulatorem:

Rys. 4. Schemat podłączenia płytki micro:bit do słuchawek/głośników (złącze Jack 3,5 mm)

Zaprojektujemy program, który po naciśnięciu przycisku A będzie odgrywał melodię „Sto lat”, natomiast przyciśnięcie przycisku B spowoduje zagranie melodii „Wlazł kotek na płotek” (pełen kod programu dostępny jest na stronie na stronie oraz w sekcji do pobrania). Potrzebny będzie bloczek on button A pressed, w którym należy umieścić element start melody () repeting once z kategorii music. Melodię, która ma być odegrana po przyciśnięciu przycisku A, można wybrać z rozwijanej listy (wybieramy „Sto lat”birthday). Ponieważ chcemy, aby nasza melodia była odegrana raz po naciśnięciu przycisku, w sekcji repeating zostawiamy parametr once. Kod prezentuje się następująco:

Rys. 5. Pierwsza część programu – naciśnięcie przycisku A powoduje odegranie melodii „Sto Lat”

W drugiej części programu również będzie potrzebny bloczek on button A pressed. Musimy jednak zmienić przycisk A na B. Aby odegrać melodię piosenki „Wlazł kotek na płotek”, potrzebne nam będą bloczki play tone Middle C for 1 beat. Można wybrać jaki dźwięk ma być grany (klikając na Middle C) oraz zmieniać czas jego trwania (klikając na beat). Potrzebujemy również melodii piosenki – wygląda ona następująco:

G E E F D D C E G (Wlazł kotek, na płotek i mruga,)

G E E F D D C E C (Ładna to piosenka, niedługa)

Musimy teraz przenieść tą melodie do bloczku on button B pressed. Po wybraniu Middle C, pojawi się wirtualna klawiatura, na której możemy wybrać interesujące nas dźwięki (rysunek 6).

Rys. 6. Rozwinięty bloczek play tone

Następnie tworzymy bloczki, które odpowiadają kolejnym nutom piosenki. Między kolejnymi wersami warto dodać niewielkie opóźnienie. Gotowa melodia stworzona za pomocą bloczków play tone prezentuje się następująco:

Rys. 7. Druga część programu – naciśnięcie przycisku B włącza odegranie melodii „Wlazł kotek na płotek”

Cały program wygląda następująco:

Rys. 8. Kod programu odgrywającego melodie po naciśnięciu przycisku A lub B

Do pobrania

O autorze