Chciałbym rozpocząć tworzenie podstawowych projektów Arduino, ale nie posiadam jeszcze płyty Arduino. Czy istnieje sposób, w jaki mogę napisać kod i emulować / przetestować go na komputerze stacjonarnym, więc po przybyciu płyty muszę po prostu załadować i uruchomić na nim mój projekt?
205
Odpowiedzi:
Istnieje cała masa symulatorów Arduino, wiele bezpłatnych, a także płatnych produktów.
Jeśli szukasz, istnieje wiele innych symulatorów Arduino, a przez cały czas ogłaszane są nowe, nawet finansowane z funduszy społecznościowych.
źródło
Lubię do tego używać circuits.io, znanego również jako TinkerCAD .
Jest oparty na chmurze i ma kilka ciekawych funkcji, w tym projektowanie i współpracę z PCB.
IMO symulacja i możliwości Arduino są imponujące i intuicyjne.
źródło
W świecie symulatorów elektronicznych istnieje wiele opcji, ale circuits.io, znany również jako TinkerCAD, jest prawdopodobnie najbardziej wszechstronny.
Jest to przykładowy obwód z pilotem na podczerwień i ekranem LCD.
Oświadczenie: Jesteśmy twórcami obwodów 123D
źródło
Pamiętaj, że żaden symulator nie odtworzy rzeczywistych sytuacji. Na forum Arduino pojawiło się wiele postów na temat problemów z kodem lub elektroniką, które okazują się czymś subtelnym, na przykład:
Ze swojej natury symulatory nie są w stanie odtworzyć tego wszystkiego. Nawet gdyby mogli, czy pomyślałbyś o przełączeniu opcji „wstaw losowy hałas z silników”?
Aby przygotować się do przybycia płyty, pobierz IDE i zacznij programować. Możesz zainstalować biblioteki, napisać kod i uniknąć błędów składniowych, uporządkować go i być ogólnie gotowym na wielki dzień, gdy sprzęt jest w twoich rękach.
Baw się dobrze i baw się eksperymentując ze swoim Arduino!
źródło
Możesz użyć Yenka (darmowy do użytku domowego) do symulacji Arduino, PIX, PIXACE i innych płyt z cyfrowymi, analogowymi i szeregowymi I / O. Zapewnia wiele komponentów i przykładowych projektów.
Zrzut ekranu:
źródło
Tak, możesz spróbować użyć Proteus ISIS do symulacji kodu ...
Aby uzyskać pełną emulację Arduino, istnieje program shareware o nazwie VBB (Virtual BreadBoard) , próbowałem też i było przyjemnie.
Edit: Można sprawdzić mój szczegółowy poradnik tutaj , w jaki sposób symulować na Proteus ISIS
źródło
Uważam, że ta strona internetowa zawiera listę emulatorów i symulatorów wraz z ich ceną i dostępnością.
Aktualizacja:
Ponieważ niektórzy użytkownicy wspomnieli, że na tej stronie są zepsute linki, oto wybór emulatorów, które znalazłem. Pamiętaj, że niektóre opisy mogły zostać zaczerpnięte ze wspomnianego linku:
Emulino : To oprogramowanie oparte na systemie Linux typu open source we wczesnym etapie rozwoju, które emuluje MCU specyficzne dla Arduino.
Emulare : jest emulatorem sprzętowym ogólnego zastosowania. Ma na celu zapewnienie centralnego interfejsu do tworzenia symulacji elektronicznych do tworzenia oprogramowania wbudowanego. Obecnie emulare koncentruje się na linii mikrokontrolerów ATMega (Arduino UNO ma procesor ATMega).
SimAVR : to nowy symulator AVR dla systemu Linux lub dowolnej platformy korzystającej z avr-gcc. Symulator ładuje pliki ELF bezpośrednio, a istnieje nawet sposób na określenie parametrów symulacji bezpośrednio w emulowanym kodzie za pomocą sekcji .elf. Obsługuje emulację wielu procesorów ATMega i wspomniano, że łatwo jest nawet dodawać nowe.
Amtel Studio : Wydaje się, że nie wspomina o emulacji, ale jest to wyrafinowane IDE do debugowania kodu na wielu platformach, szczególnie Arduino. Atmel Studio 7 oferuje płynny import projektów utworzonych w środowisku programistycznym Arduino za pomocą jednego kliknięcia. Szkic, w tym wszelkie biblioteki, do których się odwołuje, zostanie zaimportowany do Studio 7 jako projekt C ++. Po zaimportowaniu możesz wykorzystać pełne możliwości Studio 7, aby dostroić i debugować swój projekt. Atmel Studio 7 w pełni obsługuje wbudowany debugger na płycie Arduino Zero. W przypadku innych płyt Arduino dostępne są adaptery ekranowe, które odsłaniają złącza debugowania lub przełączają się na jedną z wielu dostępnych płyt Xplained-Mini / PRO, aby w pełni wykorzystać ekosystem Atmel HW.
Nadal możesz używać symulatorów, takich jak EasyEDA, do testowania kodu, a w większości przypadków można go uruchomić na urządzeniu. Należy jednak pamiętać, że biorąc pod uwagę naturę elementów elektronicznych, może być konieczne zapewnienie zewnętrznych rezystorów, kondensatorów itp., Aby uzyskać oczekiwane wyniki.
źródło
Virtualbreadboard ma nową edycję VBB4Arduino „Two Arduino”, która zawiera ZARÓWNO emulator JVM Arduino ORAZ symulator zestawu instrukcji AVR z przykładami obejmującymi prawie wszystkie przykłady dystrybucji Arduino i kilka urządzeń peryferyjnych - LCD, WS2812 Neo LEDS, Silniki, Serwosilniki , Logic Analyzer i więcej.
http://www.virtualbreadboard.com
Oświadczenie: Jestem autorem Virtual Breadboard
źródło
Wypróbuj Simulator for Arduino - jest najlepszy, ale wtedy jesteśmy stronniczy, ponieważ jesteśmy częścią zespołu programistów. Nie wszyscy chcą płacić 19,99 USD, chociaż prawie 5 000 użytkowników Arduino w ciągu ostatnich kilku lat. Istnieje bezpłatna wersja Simulator for Arduino, która działa przez 45 dni lub 100 obciążeń szkicu i maksymalnie 200 linii. Wypróbuj to, a następnie kup, jeśli możesz sobie na to pozwolić i / lub wydaje się to opłacalne.
Jeśli coś jest nie tak lub które można poprawić, daj nam znać - wszyscy tak robią i właśnie dlatego, dlatego Simulator for Arduino został zbudowany w 99% na podstawie pomysłów użytkowników i zgłoszeń błędów.
Ponadto jedynym innym wypróbowanym przez nas programem, który jest bliski jakości, jest Proteus, ale jest to pełne studio do projektowania obwodów drukowanych i wygląda na bardzo drogie - tj. O wiele więcej niż 20 USD. I planujemy zignorować niedawną prośbę użytkownika o podwyższenie ceny do 200 USD.
źródło
Możesz np. Użyć mojego symulatora. Jest szczególnie przydatny w aplikacjach podobnych do PLC, w których wielozadaniowość osiągana jest poprzez cykliczną ocenę połączonych obiektów podobnych do obwodu: timerów, znaczników, zatrzasków, Oneshotów i rejestrów. Możesz go użyć do symulacji kontrolowanego systemu, jak wynika z przykładów w pliku do pobrania. Ma skromne możliwości wizualizacji, może rysować wykresy czasowe oraz umożliwia dostęp i zmianę cq wymuszania wszystkich zmiennych w czasie rzeczywistym podczas przeprowadzanej symulacji. Możesz także zatrzymać czas. Kiedy jesteś zadowolony z zachowania twojej kontroli, generuje kod C, który ma zostać przesłany do rzeczywistego Arduino.
https://pypi.python.org/pypi/SimPyLC
źródło
Jeśli masz na myśli „test jednostkowy” za pomocą komputera stacjonarnego, mogę zaoferować bibliotekę, którą napisałem o nazwie arduino_ci .
Nie oferuje emulacji. Wyraziłbyś swoje testy w kodzie. Na przykład, oto test pobrany z dokumentacji referencyjnej, który sprawdza poprawność danych zapisanych na porcie:
W praktyce prawdopodobnie nie wywoływałbyś
digitalWrite
funkcji bezpośrednio - wywołałeś funkcję w bibliotece, a następnie sprawdziłeś, czy „stan świata” (reprezentowany tutaj przezGODMODE
konstrukcję) odpowiada temu, czego oczekiwałeś od biblioteki.źródło
Tak, możesz i dość łatwo. Istnieje wspaniała symulacja online (całkowicie darmowa) o nazwie TinkerCAD . Ma doskonałą symulację makiet z częściami takimi jak tranzystory, diody LED, układy scalone i Arduino. Możesz zaprogramować Arduino i uruchomić go w symulacji na żywo, która zawiera interaktywne wejścia (przyciski, przełączniki DIP itp.).
[Edytuj: Poniższy tekst odnosi się do funkcji, która została przeniesiona do Circuits.io , a mianowicie Eagle PCB ]
To nie wszystko. Zawiera również w osobnej zakładce schematy dla twojego obwodu oraz kolejną zakładkę do projektowania obwodu drukowanego płytki PCB! Lub możesz po prostu zrobić schematy od zera i stamtąd stworzyć płytkę drukowaną.
Możesz wykonać własne projekty obwodów i możesz je kupić. Możesz to wszystko zrobić w circuits.io i nie ryzykujesz zepsucia swojego Arduino. Posiada również wskaźniki ostrzegawcze w symulacji (na przykład, jeśli nie użyłeś wystarczającej rezystancji na diodzie LED lub układzie scalonym).
źródło