Szykujemy nowy konkurs! Jaka powinna być nagroda? Wypełnij krótką ankietę (3 pytania) »

Jak automatycznie generować kod i schemat dla Arduino?

Jak automatycznie generować kod i schemat dla Arduino?

Męczyliście się kiedyś z uruchomieniem projektu na Arduino, a później okazało się, że wina leży w źle wykonanych połączeniach?

Oto program, który na podstawie listy układów wygeneruje dla Was schemat montażowy, kod testowy oraz dokładną instrukcję budowy.

Jednym z głównych czynników popularyzujących Arduino jest "niski próg wejścia" - dosłownie każdy może zacząć. Wszystko m.in. za sprawą prostej składni dedykowanego języka oraz licznym przykładom, które zostały wbudowane w środowisko Arduino IDE.

Czy życie początkujących elektroników może być jeszcze łatwiejsze? Zdecydowanie tak! Opisywaliśmy już różne środowiska takie jak XOD, Visuino oraz Tinkercad, które starały się jeszcze bardziej ułatwić pierwsze kroki w świecie Arduino. Tym razem pora na circuito.io, czyli generator całych projektów.

Czym jest jest circuito.io?

Circuito.io to narzędzie, które pozwala błyskawicznie wygenerować schemat montażowy oraz program dla dowolnego projektu. Wystarczy przeciągnąć wybrany komponent do obszaru roboczego, a po chwili otrzymamy niezbędne informacje. Dla jasności: przeciągamy tylko konkretne elementy typu czujnik temperatury lub wyświetlacz.

Program wygeneruje również kod, który pozwoli na przetestowanie układu. Co więcej, pojawi się też automatycznie przygotowana instrukcja opisującą proces budowy projektu (krok, po kroku). Ostatnim ogniwem tej układanki jest możliwość łatwego zamówienia wszystkich potrzebnych komponentów.

Cały proces widoczny jest na krótkim filmie demonstracyjnym:

Wydawać się może, że jest to coś idealnego, zwłaszcza dla początkujących. Czy na pewno?

Automatyczne generowanie schematów

Po otworzeniu kreatora zobaczymy obszar roboczy z Arduino UNO oraz dwa dodatkowe panele. Po lewej stronie znajduje się repozytorium komponentów, a po prawej jest BOM, czyli lista komponentów.

Widok kreatora circuito.io

Widok kreatora circuito.io

Aby dodać elementy do projektu, wystarczy przeciągnąć je z repozytorium i upuścić w obszarze roboczym. Miejsce, w którym upuścimy wybrany element nie ma żadnego znaczenia, gdyż zostanie ono automatycznie wybrane podczas tworzenia połączeń.

Pomysł generowania schematów jest niewątpliwie ciekawy, ale jakość jego wykonania pozostawia wiele do życzenia. Jeśli coś jest zrobione automatycznie, to niekoniecznie musi być przyjazne dla człowieka, zwłaszcza, że schematy nie tylko muszą być poprawne, ale powinny też być łatwe w interpretacji.

Szybko zauważymy, że rozłożenie węzłów i prowadzenie ścieżek nie jest najlepsze. Węzły, zależnie od sytuacji, mogą oznaczać zwykłe połączone przewodów lub połączenie z płytką stykową.

Mylnie położony węzeł sugerujący połączenie z płytką stykową

Mylnie położony węzeł sugerujący połączenie z płytką stykową

Z kolei przy prowadzeniu zasilania, ścieżka masy często błędnie pokrywa się z 5V. Nie jest to dobrym znakiem jak na program dla początkujących elektroników.

Nałożenie się przewodów zasilających sugerujące zwarcie

Nałożenie się przewodów zasilających sugerujące zwarcie

Automatyczne generowanie kodu Arduino

Przejdźmy teraz do drugiego etapu, czyli wygenerowania przykładu. Znajdziemy go w zakładce Code. Oczywiście Circuito nie domyśliło się co dokładnie chcemy zbudować, więc nie wygenerowało dla nas "gotowca". Powstał jednak projekt, który pozwoli sprawdzić czy połączenia na płytce są poprawne.

Wygenerowany kod programu

Wygenerowany kod programu

Na zakładce Code możemy zapoznać się z programem oraz załączonymi bibliotekami. Nie możemy edytować wygenerowanego kodu, możemy go tylko przejrzeć i pobrać gotową paczkę. Po pobraniu archiwum, należy standardowo otworzyć projekt w Arduino IDE i wgrać go do układu.

Wszystkie programy testowe budowane są na podobnej zasadzie. Po uruchomieniu monitora portu szeregowego zostanie wyświetlona instrukcja:

Przykład użycia termometru DS18B20 i diody RGB

Przykład użycia termometru DS18B20 i diody RGB

Po wysłaniu numeru reprezentującego konkretny komponent, zostanie przeprowadzony jego test... lub zostanie wyświetlony komunikat, że test nie został przygotowany. Niestety aktualnie jest sporo części, które nie mają jeszcze kodów testowych. Na szczęście te najpopularniejsze są dobrze opisane.

Brakujący przykład dla programowanej diody RGB

Brakujący przykład dla programowanej diody RGB

Automatyczna instrukcja montażu

Aby pomóc początkującym Circuito.io posiada również moduł automatycznego generowania instrukcji montażowych. Poradnik budowy układu znajdziemy na zakładce, która nazywa się Project Guide.

Zakładka prowadząca do wygenerowanej instrukcji

Zakładka prowadząca do wygenerowanej instrukcji

Postępując zgodnie z instrukcją możemy zmontować cały układ. Niektóre komponenty mają dodane informacje przydatne podczas montażu, np. małe podzespoły w obudowach TO-92 mają wskazane ułożenie ścięcia na obudowie, a diody świecące mają dokładnie zaznaczone dłuższe wyprowadzenie.

Etap testowania kodu w instrukcji

Etap testowania kodu w instrukcji

Tworzenie i modyfikacja komponentów

Czy Circuito.io jest więc wybrakowany pod względem swojej podstawowej funkcjonalności, czyli kodów testowych? Trochę tak, ale na samym dole repozytorium znajdziemy przycisk dający możliwość dodania własnych komponentów lub modyfikacji istniejących.

Odbywa się to w webowym edytorze Gitpod, w którym mamy możliwość dodania ilustracji, reguł łączenia wyprowadzeń, bibliotek i bloków kodu dla generatora przykładów. Zmiany, po wcześniejszym zatwierdzeniu, zostaną przesłane do repozytorium Circuito.

Podsumowanie

Circuito.io jest bardzo ciekawym udogodnieniem. Szczególnie zadowoleni będą początkujących, którzy chcą coś szybko przetestować. Korzystając z takiej platformy można łatwo uchronić się przed wieloma błędami, których znalezienie zajęłoby później stosunkowo dużo czasu.

Czy artykuł był pomocny? Oceń go:

Średnia ocena / 5. Głosów łącznie:

Wadą tej aplikacji jest wybrakowane repozytorium, w którym bardziej zaawansowane komponenty nie posiadają przykładów, a to jest właśnie główną zaletą tego generatora. Pozostaje mieć więc nadzieję, że cała społeczność fanów Aduino będzie rozwijała repozytoria elementów. Jak Wam się podoba pomysł na takie ułatwienie? Czy to nie jest już przesadne wyręczanie początkujących?

Autor: Piotr Adamczyk
Redakcja: Damian Szymański

Prosty program do symulacji Arduino (i nie tylko)
Prosty program do symulacji Arduino (i nie tylko)

Czy możliwe jest sprawdzenie działania układu elektronicznego bez jego wykonania? Oczywiście, wystarczy, że wykorzystamy program, za pomocą... Czytaj dalej »

arduino, generator, programowanie, przykłady

Trwa ładowanie komentarzy...