Kategorie Mikrokontrolery

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?

Wojtek

Zobacz komentarze

Ostatnie posty

Słuchanie stacji radiowych DAB+ w Linuksie

Radio nieodłącznie kojarzy się z nieśmiertelnym FM lub transmisją intermetową. Standard DAB+ wydaje się być…

2 tygodnie temu

Tani odpowiednik baterii 9V 6F22

Poniżej opiszę odpowiednik drogiej (w stosunku do pojemności) baterii 9V o oznaczeniu 6F22. Ze względu…

4 tygodnie temu

Drogowa / budowlana lampa ostrzegawcza – budowa i działanie

Widząc migającą na pomarańczowo lampę ostrzegawczą, zastanawiałem się (ciekawe czy tylko ja) jak jest zbudowana,…

1 miesiąc temu

ConsolePi – genialny serwer szeregowej konsoli

W tym wpisie przedstawię bardzo ciekawe narzędzie na RaspberryPi, przydatne każdemu administratorowi urządzeń sieciowych. W…

2 miesiące temu

Adapter USB-HDMI Grabber Video

Poniżej opiszę mały, przydatny gadżet, który przechwytuje obraz i dźwięk z portu HDMI i przekazuje…

2 miesiące temu

Przejściówka USB-RS232 PL2303HXA PHASED OUT SINCE 2012

Tytuł tego wpisu zawiera część komunikatu z menedżera urządzeń systemu Windows 11, po wsadzeniu w…

2 miesiące temu