czwartek, 12 lutego 2015

Arduino - część 2 - pierwszy program

W tej części pokażę jak zainstalować i podłączyć Arduino, a następnie  uruchomić przykładowy program (sketch).

Tak jak wspominałem we wstępie siłą platformy Arduino jest ustanowiony standard. Na czym on polega? Otóż mamy całą gamę płytek, tak jak pisałem wcześniej: Arduino Uno, Leonardo, Mega, Pro, Nano, i wiele innych...

Jednak niezależnie którego Arduino użyjemy to do dyspozycji mamy  to samo środowisko do budowy programu (sketch'u), używamy tych samych funkcji, tych samych bibliotek. Oznacza to że jeśli trzymamy się standardu, napiszemy i przetestujemy nasz sketch na Leonardo to bez problemu przeniesiemy go na Uno, Mega, Nano czy jakikolwiek inny.

Nie ma więc znaczenia, iż w tym przykładzie użyję chińskiego Nano, kupionego za $3.5:


Arduino IDE

Czyli oprogramowanie Integrated Development Environment (zintegrowane środowisko tworzenia oprogramowania). Ściągamy najnowszą wersję (w tej chwili jest to 1.6.0) ze strony Arduino.
Mamy tam do wyboru instalator lub plik spakowany zip'em. Pod Linuksem  możemy także spróbować instalacji odpowiednią komendą: np w przypadku dystrubycji opartej na Debianie (Mint/Ubuntu) będzie to:
sudo apt-get install arduino
lub
sudo apt-get install arduino arduino-core
W przypadku Windows możemy ściągnąć instalator (wymaga praw administratora do zainstalowania), lub spakowany plik zip, który wystarczy rozpakować do wybranego folderu.

Podłączenie

Podłączamy nasze Arduino do komputera z użyciem kabla USB.
Tym samym Arduino zostanie zasilone i włączone.

Instalacja sterowników

W zależności od posiadanego systemu przejdź do odpowiedniej części opisu:

Windows

To może nie być takie proste jak się nam początkowo wydaje.

Generalnie po podłączeniu naszego Arduino system zacznie szukać sterowników - i najprawdopodobniej ich nie znajdzie. Wchodzimy do panelu sterowania, do managera urządzeń i szukamy niezainstalowanego (zaznaczonego na żółto) urządzenia usb-serial. Klikamy na nim prawym przyciskiem myszy i wybieramy aktualizuj sterownik. Wskazujemy na folder gdzie zainstalowaliśmy/rozpakowaliśmy nasze Arduio, a dokładniej podkatalog drivers w tej lokacji. Klikamy OK i czekamy aż system zakończy instalację.

I tu może być problem: pewne klony Arduino używają innych układów niż oryginalne FTDI i sterowniki (VCPD: Virtual Com Port Drivers) na pewno nie zostaną odnalezione. Trzeba wtedy zrobić to ręcznie. Ja znalazłem sterowniki (CH340) na tej chińskiej stronie, ściągnąłem, uruchomiłem setup.exe i wybrałem "install driver". Udało się. Plik jest do pobrania także z mojego dysku google drive.

Linuks

To może być prostsze niż się nam początkowo wydaje. Poniższy opis powinien działać na debiano-podobnych systemach jak Mint czy Ubuntu.

Uruchamiamy konsolę.

Po pierwsze dodajemy grupy usb oraz dialout (mogą już istnieć, nie szkodzi), a następnie do tych grup dodajemy swojego użytkownika, wpisujemy więc w konsoli:
sudo addgroup usb
sudo addgroup dialout
sudo adduser twoja_nazwa_uzytkownika usb
sudo adduser twoja_nazwa_uzytkownika dialout 
Po drugie instalujemy odpowiedni soft w systemie:
sudo apt-get install libusb-1.0-0-dev avrdude
Nie zawadzi także zainstalowanie bibliotek developerskich, przydadzą się później:
sudo apt-get install gcc-avr avr-libc
Oraz Javy:
sudo apt-get install openjdk-7-jre
Przestartowujemy system lub przelogowujemy się.

Zasady bezpiecznej zabawy

Przed podłączeniem czegokolwiek do Arduino polecam zapoznać się z zasadami.

Piszemy

Uruchamiamy Arduino, jeśli nie korzystałeś z instalatora to po prosu kliknij na plik arduino w katalogu gdzie go rozpakowałeś.

Teraz należy poprawnie wybrać płytkę jakiej używasz:

Wybieramy naszą płytkę Arduino
Oraz port, pod który jest Arduino podłączone:

wybieramy odpowiedni port Arduino

Uruchamiamy

Została najprostsza rzecz: z menu wybieramy File - Examples - 01 Basic - Blink.
Przykład otworzy się w edytorze:
void setup() {
  pinMode(13, OUTPUT);
}

void loop() {
  digitalWrite(13, HIGH); 
  delay(1000);          
  digitalWrite(13, LOW);   
  delay(1000);             
}
Jak to rozumieć ?

Zawsze będziemy mieć co najmniej dwie funkcje:
  1. setup() - ta funkcja będzie wykonana tylko raz przu uruchomieniu sketch'u, zwykle tam należy umieścić komendy inicjalizujące sprzęt. W tym przypadku za pomocą wywołania pinMode ustawiamy pin 13 jako wyjście.
  2. loop() - ta fukcja jak wskazuje nazwa będzie wykonywana w pętli. W naszym programie wygląda to tak:
    • ustawiamiamy za pomocą digitalWrite stan wysoki (HIGH) na pinie 13 (czyli na pinie 13 Arduino pojawia się napięcie +5V) - co spowoduje zapalenie się diody na Arduino.
    • uruchamiamy opóźnienie na 1 sekundę (1000 milisekund).
    • ustawiamy stan niski co spowoduje zgaszenie diody.
    • znów wywołujemy funkcję opóźniającą.
Jak widać wszystko jest bardzo proste (jak na razie) i intuicyjne.
 
Wszystko co należy zrobić to przykład skompilować (Verify) oraz wgrać (Upload). Jeśli wszystko pójdzie dobrze to po wgraniu zostanie on automatycznie uruchomiony i dioda zacznie ładnie migać.
Arduino - pierwszy program
Czy to koniec? Tego poradnika tak, natomiast dla Ciebie to dopiero początek! 
Zachęcam do eksperymentowania, na początek zmień czas migania diody. Pamiętaj że musisz zapisać poprawiony program, a nie można zmieniać  dostarczonych z Arduino przykładów (są tylko do odczytu) - więc taki program musisz po prostu zapisać w innej lokacji.

Udanej zabawy!

Brak komentarzy:

Prześlij komentarz