logo

Co i jak z ArduEasyBlocks?

Może zacznijmy od tego czym jest ArduEasyBlocks? Jest to blokowy generator kodu oparty na api Blockly, umożliwiający proste programowanie płytek arduino za pomocą bloczków. Coś jak scratch, tylko nie sterujemy wirtualnym kotem, a mikrokontrolerem. Generator ten zamienia poukładane w polu roboczym bloczki na kod w języku C/C++ dla frameworku Arduino.

Jak zacząć układać kod?

Pierwsze co musimy zrobić to przeciągnąć bloki startowe na pole robocze, są nimi dwie główne funkcje programu "Po uruchomieniu" i "Zawsze (funkcja loop)", znajdują się one w zakładce "Podstawowe funkcje".

Główne funkcje programu

Tak jak sama nazwa mówi, funkcja "Po uruchomieniu" wykonuje się pierwsza zaraz po uruchomieniu mikrokontrolera. Instrukcje w niej zawarte wykonają się jedna po drugiej tylko raz. Jest to odpowiednik funkcji "setup" w frameworku Arduino.

Drugą funkcją podstawową jest funkcja "Zawsze (funkcja loop)", zaczyna się ona wykonywać gdy wszystkie instrukcje zawarte w funkcji "Po uruchomieniu" wykonają się i wykonuje się cały czas w kółko, aż do wyłączenia lub zresetowania mikrokontrolera. Jest to odpowiednik funkcji "loop" w frameworku Arduino.

Pierwszy program

Dla przykładu poukładajmy sobie program który będzie migał wbudowaną diodą w arduino podłączoną pod pin D13. Mamy już na polu roboczym główne funkcje naszego programu. Teraz musimy wkładać do nich instrukcje które umożliwią nam miganie diodą.

Najpierw musimy ustawić pin D13 jako wyjście. Z zakładki "Proste I/O" wybieramy bloczek "Ustaw pin jako" i przeciągamy go do funkcji po uruchomieniu.

Funkcja pinmode

Teraz musimy wybrać pin D13 w bloczku z rozwijanego menu i upewniamy się że ustawiony jest jako "OUTPUT" czyli wyjście.

Wybór pinu D13

Pin D13 jest już ustawiony jako wyjście, teraz możemy zmieniać jego stan za pomocą funkcji "Ustaw stan pinu", funkcja ta znajduje się również w zakładce "Proste I/O". Przeciągamy go do funkcji "Zawsze (funkcja loop)" i również ustawiamy pin na D13. Domyślnie funkcja "Ustaw stan pinu" ma dołączony bloczek z stanem "HIGH" czyli wysokim (dioda zapalona). By nasza dioda zgasła musimy dodać drugi taki bloczek i zmienić dołączony mu stan na "LOW" czyli niski (dioda zgaszona). Jak wiemy mikrokontroler pracuje bardzo szybko, więc by zrobić tak aby dioda zauważalnie dla nas migała musimy opóźnić działanie programu pomiędzy zmianami stanu pinu. Do tego służy funkcja "Opóźnij o 1000 ms", która znajduje się w zakładce "Podstawowe funkcje". Przeciągamy ją pomiędzy funkcje zmiany stanu pinu. Wartość 1000 jest wartością domyślną, opóźni nam to działanie programu o 1000ms czyli 1s. Dzięki temu dioda będzie zmieniać swój stan co sekundę. Gotowy program powinien wyglądać tak jak na obrazku poniżej:

Gotowy kod

Aby wygenerować kod do mikrokontrolera musimy nacisnąć przycisk "Generuj kod".

Przycisk generuj kod

Gdy wszystko będzie ok, pokaże nam się okno z kodem do skopiowania.

Okno z wygenerowanym kodem

Możemy teraz zaznaczyć i skopiować wygenerowany kod lub użyć przycisku "copy" który jest widoczny po najechaniu na pole z wygenerowanym kodem.

Kopiowanie kodu

Możemy teraz wkleić nasz kod do Arduino IDE, skompilować go i wgrać do mikrokontrolera.

Wklejanie kodu

Jak skonfigurować i wgrać kod do płytki arduino wytłumaczyłem w pierwszym moim wpisie. Link do wpisu: https://znow-o-kablach.pl/elektronika/1/start-z-arduino/

Kilka wskazówek

Kopiowanie skonfigurowanych bloczków

Aby nie musieć non stop przeciągać i konfigurować od nowa bloczków, możemy je powielać klikając na bloczek prawym przyciskiem myszy i wybierając "Powiel".

Powielanie bloczków

Porządkowanie bloczków na polu roboczym

Możemy porządkować bloczki na polu roboczym klikając prawym przyciskiem myszy na puste pole robocze (poza bloczkiem) i wybierając "Uporządkuj Bloki"

Porządkowanie bloczków

Kosz na usunięte bloczki

Kosz z usuniętymi bloczkami znajduje się w prawym dolnym rogu pola roboczego. Po jego kliknięciu wyświetlą się wszystkie ostatnio usunięte bloczki i będzie można ich użyć ponownie.

Kosz z bloczkami

Gotowe przykłady

Gdy najedziemy kursorem myszy na napis "Pole Robocze" w nawigacji, znajdziemy tam przycisk do otwarcia okna z przykładami. Klikając na przycisk z nazwą przykładu możemy załadować go do pola roboczego.

Przykłady

Importowanie i eksportowanie bloczków

Możemy sobie zapisać na komputerze plik z poukładanym kodem gdy będziemy chcieli go zachować na później. Później możemy zaimportować do pola roboczego bloczki z poukładanym kodem z tego pliku.

Pinout i połączenia

Pod przyciskiem "Więcej" w pasku nawigacji kryje się okno z dodatkowymi funkcjami. Znajduje się tam m.in. przycisk otwierający okno z pinoutem Arduino Nano oraz przycisk "Połączenia" który otwiera okno z wygenerowanym pinoutem na podstawie kodu. Pinout wygenerowany na podstawie przykładu "Blink" wygląda tak (patrz na obrazek poniżej), widać na nim że pin D13 jest ustawiony jako wyjście.

Okno z pinotem programu blink

Dla innego przykładu wygenerowany pinout wygląda tak:

Okno z przykładowym pinoutem

Potrzebne biblioteki w Arduino IDE

Listę potrzebnych bibliotek można znaleźć klikając na przycisk "Więcej" a później "Biblioteki". Dokładnie pod tym linkiem: https://znow-o-kablach.pl/garaz/4/instalacja-bibliotek-ardueasyblocks/.

Generator kodu będzie dalej z czasem dalej rozwijany, w przyszłości wpis może być aktualizowany.


Dziękuję za przeczytanie artykułu. :)