Czy można zaprogramować Arduino w innych językach?
11
Czy można zaprogramować Arduino w innych językach, które nie są oparte na C / C ++? Co by to było wymagane? Wiem, że inne IDE są dostępne, ciekawi mnie rzeczywiste języki programowania, na przykład możliwość kodowania Arduino w Pythonie, na przykład.
Zdecydowanie możliwe jest użycie alternatywnych języków do programowania w Arduino, ale niekoniecznie przy użyciu standardowego IDE. Dzieje się tak, ponieważ na koniec dnia kod C / C ++ jest składany w bajt-kod dla mikroukładu AT na płycie Arduino. Jednym z dostępnych języków jest Céu , wersja C / C ++ wyższego poziomu. Głównym problemem, jaki będziesz mieć, jest znalezienie kompilatora dla swojego wybranego języka - na koniec możesz napisać swój własny - wymaga to jednak dogłębnej znajomości C / C ++. Dlatego prawdopodobnie najlepiej trzymać się C / C ++, przynajmniej na razie.
EDYCJA: Lekko przeformułowałeś swoje pytanie, więc tak, możliwe byłoby zaprogramowanie swojego Arduino w Pythonie (zły wybór języka, ale to tylko moja opinia), ale z innych powodów potrzebujesz innego IDE / niestandardowego kompilatora powyżej. Ponadto należy zachować ostrożność podczas łączenia bibliotek napisanych w innym języku dla Arduino (ponieważ wszystkie są C / C ++).
Naprawdę nie jest możliwe uruchomienie Pythona na Arduino (poza Arduino Mega, w każdym razie). Projekt python-on-a-chip działa na kompaktowym środowisku wykonawczym Pythona i potrzebuje co najmniej ~ 8 KB SRAM.
@ConnorWolf Dwa punkty: 1) Moje użycie Pythona jako przykładu było takie, jakie było w pytaniu - i tak nie lubię Pythona. 2) Teoretycznie można przekonwertować Pythona na C, a następnie uniknąć konieczności używania środowiska wykonawczego Python na bootloaderze.
Wygląda na to, że obecnie nie ma łatwego sposobu na kodowanie Arduino w niczym innym niż Assembly / C / C ++ (i Céu, jak wspomniano w odpowiedzi Polar - choć jest to tylko przetłumaczone na C ++). Istnieje jednak wiele języków, z których można komunikować się z arduino .
Jednak teoretycznie nie jest to niemożliwe. Wystarczy napisać kompilator dla układu i zdefiniować wbudowane funkcje, a następnie przesłać skompilowany kod przez port szeregowy. Lub możesz napisać tłumacz Pythona na c ++ i sprawić, by działał.
Jeśli masz zamiłowanie do .NET, możesz wypróbować Netduino . Wydaje się, że istnieje również środowisko wykonawcze Java dla AVR, zwane NanoVM . Istnieje również dk-basic dla BASIC. Jednak nie próbowałem żadnego z nich.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.