Arduino IDE w Linuksie
Jakoś nigdy nie byłem fanem Arduino. Jest to oczywiście świetna platforma dla początkujących lub ludzi którzy chcą pobawić się elektroniką i zamiast lutowania i programowania wolą łączyć gotowe moduły i programować w prosty sposób. Ja lepiej czuje się z płytką testową, językiem C i praktycznie pełną kontolą nad peryferiami mikrokontrolera. Ale ostatnio zaciekawił mnie projekt jeżdżącego robota (pisałem o tym na facebooku i google+) z video kursu Arduino i postanowiłem nabyć płytkę Uno.
Środowisko Arduino IDE w Linuksie
Do całej zabawy, prócz płytki z atmegą z wgranym bootloaderem, potrzebne jest też specjalne środowisko IDE, które umożliwia pisanie programów, kompilację i wgranie do avr’a. Całość jest dość uniwersalna, bo w dziale download strony projektu można znaleźć instalkę do Windowsów, Linuksa i Maca a nawet źródła.
W przypadku Linuksa pobiera się paczkę, rozpakowuje i już można odpalać korzystając ze skryptu o nazwie arduino. Druga metoda to instalacja z repozytoriów, czyli polecenie:
sudo apt-get install arduino
Instalacja trwa tylko chwilę:
A dodatkowym bonusem jest ładny skrót w Menu->Programowanie:
Opcja instalacji jest mniej czasochłonna i szybsza niż ściaganie i rozpakowywanie paczki.
Arduino IDE, Linuks i port szeregowy
Hardware Arduino podłącza się do komputera za pomocą kabla USB. Dzięki temu możliwa jest komunikacja z mikroprocesorem jak i zasilanie całości. Na płytce znajduje się jeszcze układ zapewniający konwersję USB na RS232 TTL. W oryginale jest to atmega16 w wersji smd ze specjalnym wsadem, w mojej chińskiej kopii siedzi układ CH340T.
Jeśli Arduino IDE zostało zainstalowane, to przy pierwszym uruchomieniu pojawi się taki oto komunikat:
W skrócie – dodaje on bieżącego użytkownika do grupy ‘dialout’, dzięki czemu będzie możliwe korzystanie z portu USB/RS232 i ładowanie wsadu do płytki. Wystarczy wcisnąć ‘Add’ wylogować się, zalogować i zapomnieć o problemach. W przypadku odpalenia wersji ściągniętej ze strony Arduino, taki komunikat nie pokaże się, ale jest na to prosty sposób, opisany niżej.
Uruchomienie Arduino IDE z poziomu użytkownika nie należącego do grupy ‘dialout’, zaowocuje brakiem dostępu do Narzędzia->Port szeregowy:
Ale wystarczy ręcznie dodać się do odpowiedniej grupy i po sprawie. Można to zrobić w trybu graficznego (w Mint System->Użytkownicy i grupy) lub z poziomu terminala, wklepując:
sudo usermod -g dialout nazwa_usera
W moim przypadku wyglądało to tak:
Można też łatwo sprawdzić do jakich grup się należy, wpisując:
id nazwa_usera
Po wylogowaniu/zalogowaniu można wybrać port, do którego podłączona jest płytka, najczęściej będzie to /dev/ttyUSB0:
Teraz jeszcze trzeba sprawdzić w menu Narzędzia->Płytka, czy wybrany jest odpowiedni, posiadany przez nas hardware i można korzystać z dobrodziejstw ogromnej liczby bibliotek :).
Zauważył ktoś może, albo wie, jakie są funkcjonalne różnice lub ograniczenia wynikające z zastosowania CH340T zamiast atmega16?
2 komentarze
[…] Testy z opisywanym modułem przeprowadzałem w środowisku Arduino IDE 1.6.5. Nie było najmniejszych problemów z komunikacją. Płytka wyjęta z żółtej koperty od razu pracowała poprawnie. Mimo to, wgrałem przez USBasp bootloader, by uniknąć niespodzianek w przyszłości. Osoby po raz pierwszy odpalające Arduino IDE w swoich linuksach może zaskoczyć brak komunikacji. Rozwiązanie jest proste – dodanie się do grupy dialout – opisałem to tutaj: Arduino IDE w Linuksie. […]
[…] zainstalowaniu/rozpakowaniu (przydatny wpis na ten temat: Arduino IDE w linuksie) przechodzimy do Plik->Preferencje i w pole na dole okna ‚Dodatkowe adresy URL do menedżera […]