Symulacje Arduino

Wprowadzenie do symulowania projektów Arduino

Symulatory Arduino w ciągu ostatnich lat zyskały na znaczeniu i stają się coraz bardziej zaawansowane, niemal dorównując doświadczeniom z rzeczywistymi urządzeniami. Te wirtualne środowiska symulacyjne oferują realistyczne odwzorowanie działania płytek Arduino i komponentów, umożliwiając precyzyjne eksperymentowanie i testowanie projektów w warunkach zbliżonych do pracy z fizycznym sprzętem.

Dzięki symulacjom można zdobyć praktyczne doświadczenie bez potrzeby posiadania rzeczywistych podzespołów, co jest szczególnie korzystne dla osób początkujących, które mogą obawiać się kosztów lub ryzyka uszkodzenia sprzętu.

Co istotne, umiejętności nabyte podczas symulacji łatwo przenoszą się na pracę z fizycznymi komponentami, zapewniając płynne i bezproblemowe przejście do rzeczywistych projektów.

Na naszej stronie dostępny jest prosty symulator Arduino, przedstawiony poniżej:

Symulacja_1

Jeśli symulator załadował się poprawnie, powinien wyglądać tak jak na poniższym Rys.1.

Rysunek przedstawia interfejs prostego symulatora Arduino z oznaczonymi elementami. Na górze znajdują się przyciski: "Start" do rozpoczęcia symulacji, "Stop" do jej zakończenia oraz "Przywróć pierwotny kod". W centralnej części widoczny jest edytor z kodem szkicu zawierającym funkcje void setup() i void loop() - kod pojawiający się domyślnie po uruchomieniu nowego szkicu. Poniżej znajdują się sekcje: "Dane wyjściowe" z wynikami kompilatora oraz "Monitor portu szeregowego" z danymi portu (obie sekcje nie wyświetlają tu żadnych wyników). Wszystkie opisane powyżej elementy zostały oznaczone strzałkami i opisane żółtymi etykietami.
Rys.1. Widok okna symulatora Arduino ze wskazaniem podstawowych funkcji.

Przyciski w interfejsie:

  1. Przycisk rozpoczęcia symulacji “Start”: Rozpoczyna proces kompilacji kodu z edytora. Po prawidłowej kompilacji program jest uruchamiany na wirtualnym mikrokontrolerze. Po uruchomieniu przycisk “Start” zostaje wyłączony, a aktywny staje się przycisk “Stop”.
  2. Przycisk zakończenia symulacji “Stop”: Zatrzymuje aktualnie działającą symulację. Po naciśnięciu przycisk “Stop” zostaje wyłączony, a przycisk “Start” ponownie jest dostępny.
  3. Przycisk “Przywróć pierwotny kod”: Przywraca domyślny kod programu do edytora. Jest użyteczny, gdy kod został zmodyfikowany i potrzebne jest ponowne uruchomienie pierwotnej wersji programu.

Sekcje wyjściowe i informacje:

  1. Pole edytora kodu (Treść szkicu): Znajduje się poniżej przycisków. Tutaj można pisać i edytować kod programu, który zostanie skompilowany i uruchomiony na symulatorze. Kod jest w języku C++, typowym dla mikrokontrolerów AVR, takich jak Arduino.
  2. Dane wyjściowe (Sekcja “Dane wyjściowe”): Ta sekcja wyświetla wyniki kompilacji, informacje o błędach oraz status działania programu po uruchomieniu symulacji. Informacje w tej sekcji są aktualizowane po każdorazowym naciśnięciu przycisku “Start”.
  3. Monitor portu szeregowego (Sekcja “Monitor portu szeregowego”): Sekcja ta symuluje port szeregowy mikrokontrolera, wyświetlając informacje wysyłane z programu przez interfejs szeregowy. Przydatne do debugowania programu i śledzenia danych wyjściowych z kodu.

Inne elementy

  • Status symulacji (Pole “Status”): Wyświetla bieżący status działania symulacji, czas symulacji oraz szybkość działania. Aktualizuje się automatycznie podczas symulacji (przed rozpoczęciem symulacji pole to jest niewidoczne).

Sposób używania symulatora:

  1. Pisz lub edytuj kod w polu edytora kodu (Treść szkicu).
  2. Uruchom symulację za pomocą przycisku “Start”.
  3. Obserwuj wyniki kompilacji w sekcji “Dane wyjściowe”.
  4. Monitoruj komunikaty wyświetlane przez mikrokontroler w sekcji “Monitor portu szeregowego”.
  5. Zatrzymaj symulację za pomocą przycisku “Stop”.
  6. Przywróć pierwotny kod za pomocą przycisku “Przywróć pierwotny kod” – jeśli chcesz.

Uwagi:

Symulator jest zoptymalizowany do pracy w środowisku przeglądarki i może nie wspierać wszystkich funkcji typowych dla fizycznych mikrokontrolerów. Każda modyfikacja kodu wymaga ponownego uruchomienia symulacji, aby mogła zostać uwzględniona.

Gdy wciśniemy przycisk rozpoczęcia symulacji “Start” program zostanie skompilowany. W przypadku pomyślnej kompilacji, symulacja zostanie uruchomiona – tak jak na poniższym rysunku (Rys.2).


Rysunek przedstawia interfejs prostego symulatora Arduino z oznaczonymi kluczowymi elementami. W prawym górnym rogu widoczny jest aktualny czas symulacji wraz z prędkością jej działania w procentach w stosunku do rzeczywistego czasu. Centralną część zajmuje edytor kodu, w którym widoczny jest przykładowy szkic zawierający funkcje setup() i loop()  - kod pojawiający się domyślnie po uruchomieniu nowego szkicu. Poniżej znajduje się sekcja danych wyjściowych, gdzie wyświetlane są informacje dotyczące kompilacji, takie jak zajętość pamięci programu, pamięci dynamicznej oraz komunikaty o działaniu programu. Na dole umieszczony jest monitor portu szeregowego, który służy do wyświetlania danych przesyłanych podczas działania programu (tu nic nie pokazuje). Przyciski "Start", "Stop" i "Przywróć pierwotny kod" umożliwiają odpowiednio rozpoczęcie, zakończenie symulacji oraz przywrócenie domyślnego kodu.
Rys.2. Widok okna symulatora Arduino po pomyślnej kompilacji – w trakcie pracy.



Symulator Arduino – Wokwi

Jeśli potrzebujemy bardziej zaawansowanego symulatora Arduino, możemy wybrać symulator Wokwi. Jest on internetową platformą symulacyjną, która pozwala na wizualizację i testowanie projektów opartych na Arduino w przeglądarce internetowej. Do poprawnego działania niezbędne jest połączenie z Internetem. Oferuje ona dość bogaty zestaw komponentów elektronicznych, w tym różne modele płytek Arduino, sensory, wyświetlacze, a nawet elementy złożone, takie jak matryce LED. Wokwi idealnie nadaje się do szybkiego prototypowania, nauki podstaw elektroniki oraz testowania skomplikowanych projektów przed ich fizyczną realizacją.

Jedną z największych zalet Wokwi jest to, że nie ma potrzeby logowania się, aby rozpocząć testowanie projektów. Możesz od razu wejść na stronę, wybrać Arduino Uno lub inny mikrokontroler, napisać kod i uruchomić symulację – wszystko to bez tworzenia konta. To świetne rozwiązanie dla osób, które chcą szybko wypróbować swoje pomysły lub uczą się podstaw programowania Arduino.

Na Rys. 3 pokazano okno symulatora Wokwi po włączeniu nowego projektu na płytkę Arduino Uno na ekranie komputera. Po lewej stronie widzimy miejsce gdzie użytkownik wprowadza kod (wygląda podobnie jak w aplikacji Arduino IDE), po prawej stronie jest miejsce gdzie użytkownik tworzy schemat graficzny.

Rysunek przedstawia interfejs symulatora Wokwi dla Arduino UNO otwarty w przeglądarce internetowej na komputerze. Po lewej stronie widoczny jest edytor kodu z przykładowym szkicem programu zawierającym funkcje setup() i loop()  - kod pojawiający się domyślnie po uruchomieniu nowego szkicu, a po prawej – wizualizacja płytki Arduino UNO z oznaczeniami pinów. Powyżej edytora znajdują się zakładki umożliwiające przełączanie między edytorem kodu, diagramami oraz menedżerem bibliotek. Na górnym pasku interfejsu dostępne są przyciski zapisu i udostępniania projektu. Sekcja symulacji zawiera przyciski startu, pauzy i dodawania komponentów.
Rys.3. Okno programu symulatora Wokwi na komputerze.

Z kolei na urządzeniu mobilnym interfejs jest zorganizowany w zakładki, aby lepiej wykorzystać przestrzeń na mniejszym ekranie (w wersji mobilnej wygląda tak jak na Rys.4). Kod i schemat połączeń dostępne są jako oddzielne zakładki, więc należy przełączać się między nimi, aby przejść od edytowania kodu do tworzenia schematu. Konsola może znajdować się w osobnej zakładce lub pojawiać się po uruchomieniu symulacji.

Rysunek przedstawia interfejs symulatora Wokwi dla Arduino UNO na urządzeniu mobilnym. Po lewej stronie widoczna jest wizualizacja płytki Arduino UNO z oznaczeniami pinów oraz przyciski sterujące symulacją, takie jak start i ustawienia. Po prawej stronie pokazano edytor kodu z funkcjami setup() i loop()  - kod pojawiający się domyślnie po uruchomieniu nowego szkicu. Górny pasek umożliwia przełączanie między symulacją a kodem, a także dostęp do menedżera bibliotek. Interfejs został zoptymalizowany do pracy na mniejszych ekranach.
Rys.4. Okno programu symulatora Wokwi na urządzeniu mobilnym.

Klikając w poniższy link, sprawdzisz jak u Ciebie wygląda okno programu symulatora Wokwi:

https://wokwi.com/projects/new/arduino-uno

Jeśli wciśniesz zielony przycisk rozpoczęcia symulacji, taki jak pokazany na Rys.5, symulacja powinna się uruchomić.

Uwaga: na tym etapie nic jeszcze się nie wydarzy – symulator będzie jedynie pokazywał czas trwania symulacji, ponieważ korzystamy z pustego szablonu, który nie generuje żadnych efektów działania ani sygnałów. Aby zobaczyć widoczne wyniki, musimy napisać program, który wykona konkretne operacje, takie jak zapalanie diody LED lub wyświetlanie danych.

Rysunek przedstawia interfejs symulatora Wokwi dla Arduino UNO na komputerze. Po lewej stronie znajduje się edytor kodu z funkcjami setup() i loop() (domyślny kod po włączeniu programu), oznaczony żółtym opisem „Treść szkicu” z czerwoną strzałką wskazującą na kod. Po prawej stronie widoczna jest wizualizacja płytki Arduino UNO z oznaczonymi pinami. Nad płytką umieszczono przyciski sterowania symulacją, a zielony przycisk „Start” został wyróżniony żółtym opisem „Przycisk rozpoczęcia symulacji” i wskazany czerwoną strzałką. Wszystkie strzałki i opisy zostały dodane ręcznie i nie są częścią oryginalnego interfejsu.
Rys.5. Okno programu symulatora Wokwi ze wskazaniem podstawowych funkcji – przycisk rozpoczęcia symulacji (widok na komputerze).

Po uruchomieniu symulacji w prawym górnym rogu ekranu pojawi się licznik czasu oraz wskaźnik prędkości symulacji, wyrażony w procentach. Wskaźnik ten pokazuje, jak szybko symulacja przebiega względem rzeczywistego czasu – wartości bliskie 100% oznaczają działanie w czasie rzeczywistym, natomiast niższe wartości mogą wskazywać na większe obciążenie symulatora.

W górnej części po lewej stronie znajdują się dodatkowe przyciski do zarządzania symulacją: możesz ją ponownie uruchomić (restart), całkowicie zatrzymać lub wcisnąć pauzę, aby tymczasowo wstrzymać jej działanie, co ilustruje Rys.6.

Rysunek przedstawia interfejs symulatora Wokwi dla Arduino UNO z oznaczonymi funkcjami sterowania symulacją. Na górze widoczne są przyciski: „Przycisk wstrzymania symulacji” (pauza), „Przycisk restartu symulacji” (zielona strzałka okrężna) oraz „Przycisk zakończenia symulacji” (kwadrat). Wszystkie są oznaczone żółtymi etykietami i wskazane czerwoną strzałką. Po prawej stronie widnieją wskaźniki „Czas oraz prędkość symulacji”, także opisane żółtym tekstem i wskazane strzałką. Strzałki oraz opisy zostały dodane ręcznie i nie są częścią oryginalnego interfejsu.
Rys.6. Okno programu symulatora Wokwi ze wskazaniem podstawowych funkcji – przyciski restartu, stopu i pauzy symulacji (widok na komputerze).

Po zatrzymaniu symulacji możesz spróbować wprowadzić przypadkowe znaki między nawiasami { } w obrębie funkcji setup lub loop, aby sprawdzić, czy spowoduje to błąd kompilacji. Jeśli kod zawiera błędy, pojawi się komunikat „Build failed!” informujący o niepowodzeniu kompilacji, jak pokazano na Rys. 7. Dzięki temu zobaczysz, jak symulator reaguje na błędy w kodzie, co ułatwi naukę rozwiązywania problemów programistycznych.

Rysunek przedstawia komunikat błędu kompilacji w symulatorze Wokwi z nagłówkiem „Build failed!”. W szczegółach komunikatu podano, że w pliku sketch.ino, wewnątrz funkcji void setup(), wystąpił błąd: 'PrzypadkowyTekst' was not declared in this scope. Wskazano na tekst PrzypadkowyTekst symbolem ^~~~~~~~~~~~~~~~. Na dole komunikatu znajduje się informacja Error during build: exit status 1, oznaczająca, że kompilacja zakończyła się niepowodzeniem. Widoczne są również przyciski „GET HELP” (Uzyskaj pomoc) oraz „CLOSE” (Zamknij).
Rys.7. Przykładowy komunikat błędu kompilacji w symulatorze Wokwi.



Asystent Arduinowo_AI

Asystent Arduinowo_AI zgłębił powyższy zakres wiedzy i z przyjemnością wszystko Ci wyjaśni.







Zdobądź więcej wiedzy!

Przejdź do kolejnych materiałów naszego kursu >>> Port Szeregowy