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

Tani moduł IoT z kamerką ESP32 CAM – pierwsze uruchomienie

Mega tanie, bezprzewodowe moduły Internet of Things na dobre zadomowiły się w naszych sieciach. Od…

3 dni temu

Aktualizacja oprogramowania w stacji lutowniczej AiXun T3A

Pewnie nie każdy posiadacz tytułowej stacji lutowniczej wie, że posiada ona możliwość aktualizacji firmware'u. Producent…

3 tygodnie temu

Programator USB AVR ISP z Arduino Nano

Jakiś czas temu, przeglądając Aliexpress natknąłem się na ciekawy shield do Arduino Nano. Według opisu…

4 tygodnie temu

Tester elementów elektronicznych na atmega – aktualizacja firmware’u

W mailach i komentarzach kilka razy przewijała się prośba o ten wpis. Chodzi o aktualizację…

2 miesiące temu

Wzmacniacz słuchawkowy Lovely Cube – popularny klon Lehmanna

Dziś tematyka audio, a nawet audiofilska. Uznany wzmacniacz słuchawkowy Lehmann Black Cube Linear o dość…

2 miesiące temu

Podsumowanie 2023 roku

Tradycyjnie w styczniu, publikuję podsumowanie minionego roku na stronie grylewicz.pl. Poniżej trochę liczb, lista najpopularniejszych…

3 miesiące temu