8238.pdf

(947 KB) Pobierz
KURS
Kurs Arduino (2)
Oprogramowanie Arduino IDE
Dodatkowe materiały
na CD/FTP
W  EP 4/2011 rozpoczęliśmy kurs programowania Arduino.
Omówiliśmy wtedy elementy języka. W  tym artykule zajmiemy się
Arduino IDE oraz utworzymy pierwszy program, który jeszcze nie
będzie użyteczny, ale będzie takim arduinowym „Hello World”.
Dodatkowe materiały na CD/FTP:
ftp://ep.com.pl , user: 12147 , pass: 2e7u6a2a
• pierwsza część kursu
Do programowania w systemie Arduino
jest przeznaczone oprogramowanie Ardu-
ino IDE, które jest dostępne jest na stronach
http://arduino.cc/en/Main/Software . Może
ono pracować pod kontrolą systemów ope-
racyjnych Windows, Linux oraz MAC OS X.
Po zainstalowaniu oprogramowanie Ar-
duino uruchamia się za pomocą skrótu lub
przez dwukrotne kliknięcie na plik „ Arduino.
exe” . Wygląd głównego okna pokazano na ry-
sunku   1 . Okno programu można podzielić na
kilka części. Dostępny jest górny pasek na-
rzędzi, okno na przygotowywany program
oraz obszar na dole, w którym będą wyświe-
tlane komunikaty związane z  działaniem
programu Arduino IDE: o pracy kompilatora,
o błędach i programowaniu mikrokontrole-
ra. Pliki z przygotowanym programem dla
mikrokontrolera są w Arduino zapisywane
z rozszerzeniem .pde .
Pasek narzędzi składa się z 7 przycisków.
Dostępny jest jeden przycisk (ze strzałką
w prawo) przy wyborze kartotek, którego
użycie umożliwia dostęp do poleceń za-
rządzania kartotekami z plikami programu.
Dostępne jest również menu podzielone na
grupy File , Edit , Sketch , Tools oraz Help . Do-
datkowe przyciski (pokazane na rysunku   2
i opisane w  tabeli 1 ) umożliwiają szybki
dostęp do najczęściej używanych poleceń
(zapis pliku na dysku, programowanie itp.).
Po wybraniu ikony Verify/Compile kom-
pilator sprawdza składnię programu, a na-
Rysunek 2.
stępnie jest on poddawany kompilacji. Po
jej prawidłowym zakończeniu program jest
gotowy do wysłania do mikrokontrolera.
W  przypadku nieprawidłowości w  kodzie
zostaną w dolnej części okienka systemu Ar-
duino wyświetlone znalezione błędy.
Ikona przycisku Stop zatrzymuje dzia-
łanie Serial Monitor (monitor komunikacji
szeregowej). Jest to pomocne, gdy przesyłane
informacje przez interfejs szeregowy RS232
pojawiają się szybciej, niż można je zaobser-
wować. Przycisk New umożliwia utworzenie
nowego, pustego pliku dla programu. Należy
podać nazwę nowego pliku i jego lokalizację
na dysku. Przycisk Open umożliwia otwarcie
pliku z programem z dostępnej listy plików
w wybranym katalogu. Przycisk Save umoż-
liwia zapisanie przygotowanego programu
do pliku o podanej nazwie i w wybranym ka-
Rysunek 4.
talogu. Przycisk Upload umożliwia przesła-
nie programu do mikrokontrolera a dokład-
nie do zestawu Arduino. Wcześniej należy
przygotowany program poddać weryi kacji
i kompilacji.
Przed wysłaniem programu do mikro-
kontrolera należy skoni gurować typ zestawu
Arduino oraz numer portu w komputerze, do
którego jest dołączony zestaw Arduino. Przy-
cisk Serial Monitor uruchamia okno monito-
ra komunikacji ( rysunek 3 ) przez interfejs
RS232. W jego oknie pojawiają się informa-
cje wysyłane przez interfejs RS232 mikro-
kontrolera (zestaw Arduino). Za jego pomocą
jest również możliwość wysyłania danych
do mikrokontrolera. W oknie monitora są
dostępne opcje automatycznego przewijania
otrzymanych znaków, możliwość wyboru
prędkości transmisji czy opcji związanych
ze znakami końca linii. Monitor będzie po-
Rysunek 3.
Tabela 1. Pase k przycisków
Verify/Compile
Sprawdza i poddaje kompilacji napisany kod programu
Stop
Zatrzymuje działanie monitora interfejsu RS232
New
Tworzy nową pustą zakładkę na programu
Open
Otwiera plik z programem
Save
Zapisuje plik z programem
Umożliwia wysłanie programu do mikrokontrolera z wykorzystaniem szeregowego
interfejsu RS232
Upload
Serial Monitor
Wyświetla okno monitora interfejsu RS232
Rysunek 1.
106
ELEKTRONIKA PRAKTYCZNA 5/2011
1052307891.195.png 1052307891.205.png 1052307891.216.png 1052307891.227.png 1052307891.001.png 1052307891.012.png 1052307891.023.png 1052307891.034.png 1052307891.045.png 1052307891.056.png 1052307891.067.png 1052307891.078.png 1052307891.089.png 1052307891.100.png 1052307891.111.png 1052307891.122.png 1052307891.133.png 1052307891.144.png 1052307891.154.png 1052307891.161.png 1052307891.162.png 1052307891.163.png 1052307891.164.png 1052307891.165.png 1052307891.166.png 1052307891.167.png 1052307891.168.png 1052307891.169.png 1052307891.170.png 1052307891.171.png 1052307891.172.png 1052307891.173.png 1052307891.174.png 1052307891.175.png 1052307891.176.png 1052307891.177.png 1052307891.178.png 1052307891.179.png 1052307891.180.png 1052307891.181.png 1052307891.182.png 1052307891.183.png 1052307891.184.png 1052307891.185.png
 
Kurs Arduino
Oferta dla prenumeratorów Elektroniki Praktycznej
Avtduino specjalnie z myślą o elektronikach-praktykach!
Od numeru EP 04/2011 rozpoczę-
liśmy kurs programowania mikrokon-
trolerów AVR z  użyciem bezpłatnego
środowiska programistycznego Arduino.
Kurs będzie się opierał na przykładach
przygotowanych dla płytek rozszerza-
jących do bazy (kompatybilnej z syste-
mem modułów Arduino) wyposażonej
m.in. w mikrokontroler ATmega, opisa-
nej w EP1/2011 (odpowiednik Arduino
Duemilanove, AVT-5272).
Dla prenumeratorów Elektroniki
Praktycznej przygotowaliśmy niespo-
dziankę: wszystkim prenumeratorom
papierowej wersji miesięcznika w grud-
niu 2011 zaoferujemy za darmo jedną,
wybraną płytkę drukowaną modułu roz-
szerzenia dla zestawu Avtduino (zgodne
z Arduino), dla których przykłady apli-
kacji przedstawimy w ramach kursu pu-
blikowanego na łamach czasopisma.
Pierwsze artykuły kursowe o Ardu-
ino opublikowaliśmy w EP 4/2011 na
stronach: 96 i 98.
Opis pierwszego modułu rozszerza-
jącego do płyty bazowej Avtduino opu-
blikowaliśmy w Elektronice Praktycznej
4/2011 na stronie 47 (AVT-1615), kolej-
nego w bieżącym numerze na stronie 55
(AVT-1616).
Płytka bazowa systemu Avtduino będąca bazowym
rozwiązaniem dla uczestników kursu
Rysunek 6.
Rysunek 7.
Send umożliwia wysłanie danych do mikro-
kontrolera w  zestawie Arduino. Działanie
monitora transmisji szeregowej można za-
trzymać przyciskiem Stop . Aby ponownie
uruchomić monitor wystarczy przycisnąć
przycisk Serial Monitor . Korzystanie z moni-
tora szeregowej transmisji będzie pokazane
podczas praktycznych przykładów odczytu
danych z czujników, gdy do zestawu nie bę-
dzie dołączony wyświetlacz.
U góry okna Arduino IDE znajduje się
menu składające się z przycisków File , Edit ,
Sketch , Tools oraz Help . W menu File , które
pokazano na rysunku 4 umieszczono funk-
Rysunek 5.
mocny podczas sprawdzania pracy progra-
mu i wyszukiwania w nim błędów. Przycisk
REKLAMA
107
ELEKTRONIKA PRAKTYCZNA 5/2011
1052307891.186.png 1052307891.187.png 1052307891.188.png 1052307891.189.png 1052307891.190.png 1052307891.191.png 1052307891.192.png 1052307891.193.png 1052307891.194.png 1052307891.196.png 1052307891.197.png 1052307891.198.png
 
1052307891.199.png 1052307891.200.png 1052307891.201.png 1052307891.202.png 1052307891.203.png 1052307891.204.png 1052307891.206.png 1052307891.207.png 1052307891.208.png 1052307891.209.png 1052307891.210.png 1052307891.211.png 1052307891.212.png 1052307891.213.png 1052307891.214.png 1052307891.215.png 1052307891.217.png 1052307891.218.png 1052307891.219.png 1052307891.220.png 1052307891.221.png 1052307891.222.png 1052307891.223.png 1052307891.224.png 1052307891.225.png 1052307891.226.png 1052307891.228.png 1052307891.229.png 1052307891.230.png 1052307891.231.png 1052307891.232.png 1052307891.233.png 1052307891.234.png 1052307891.235.png 1052307891.236.png 1052307891.237.png 1052307891.002.png 1052307891.003.png 1052307891.004.png 1052307891.005.png 1052307891.006.png 1052307891.007.png 1052307891.008.png 1052307891.009.png 1052307891.010.png 1052307891.011.png 1052307891.013.png 1052307891.014.png 1052307891.015.png 1052307891.016.png 1052307891.017.png 1052307891.018.png 1052307891.019.png 1052307891.020.png 1052307891.021.png 1052307891.022.png 1052307891.024.png 1052307891.025.png 1052307891.026.png 1052307891.027.png 1052307891.028.png 1052307891.029.png 1052307891.030.png 1052307891.031.png 1052307891.032.png 1052307891.033.png 1052307891.035.png 1052307891.036.png 1052307891.037.png 1052307891.038.png 1052307891.039.png 1052307891.040.png 1052307891.041.png 1052307891.042.png 1052307891.043.png 1052307891.044.png 1052307891.046.png 1052307891.047.png 1052307891.048.png 1052307891.049.png 1052307891.050.png 1052307891.051.png 1052307891.052.png 1052307891.053.png 1052307891.054.png 1052307891.055.png 1052307891.057.png 1052307891.058.png 1052307891.059.png 1052307891.060.png 1052307891.061.png 1052307891.062.png 1052307891.063.png 1052307891.064.png 1052307891.065.png 1052307891.066.png 1052307891.068.png 1052307891.069.png 1052307891.070.png 1052307891.071.png 1052307891.072.png 1052307891.073.png 1052307891.074.png 1052307891.075.png 1052307891.076.png 1052307891.077.png 1052307891.079.png 1052307891.080.png 1052307891.081.png 1052307891.082.png 1052307891.083.png 1052307891.084.png 1052307891.085.png 1052307891.086.png 1052307891.087.png 1052307891.088.png 1052307891.090.png 1052307891.091.png 1052307891.092.png 1052307891.093.png 1052307891.094.png 1052307891.095.png 1052307891.096.png 1052307891.097.png 1052307891.098.png 1052307891.099.png 1052307891.101.png 1052307891.102.png 1052307891.103.png 1052307891.104.png 1052307891.105.png 1052307891.106.png 1052307891.107.png 1052307891.108.png 1052307891.109.png 1052307891.110.png 1052307891.112.png 1052307891.113.png 1052307891.114.png 1052307891.115.png 1052307891.116.png 1052307891.117.png 1052307891.118.png 1052307891.119.png 1052307891.120.png 1052307891.121.png 1052307891.123.png 1052307891.124.png 1052307891.125.png 1052307891.126.png 1052307891.127.png 1052307891.128.png 1052307891.129.png 1052307891.130.png 1052307891.131.png 1052307891.132.png 1052307891.134.png 1052307891.135.png 1052307891.136.png 1052307891.137.png 1052307891.138.png 1052307891.139.png 1052307891.140.png 1052307891.141.png 1052307891.142.png 1052307891.143.png 1052307891.145.png 1052307891.146.png 1052307891.147.png 1052307891.148.png 1052307891.149.png 1052307891.150.png 1052307891.151.png
 
KURS
Listing 1. Program powodujący miganie diody LED
void setup() {
pinMode(13, OUTPUT); //konfi guracja linii 13 jako wyjście
}
void loop() {
digitalWrite(13, HIGH); // wyłączenie diody LED
delay(1000); // opóźnienie 1 sekundy
digitalWrite(13, LOW); // włączenie diody LED
delay(1000); // opóźnienie 1 sekundy
}
Rysunek 8.
Rysunek 12.
Rysunek 9.
strony, natomiast w opcji Preferences jest
możliwość zmiany opcji koni guracyjnych
Arduino IDE. Oczywiście dostępna jest rów-
nież opcja drukowania. W menu Edit pokaza-
nym na rysunek 5 dostępne są opcje cofania
zmian w programie, kopiowania, wklejania
oraz wycinania. Są również opcje wstawia-
nia komentarzy do programu, zaznaczania
oraz opcje wyszukiwania Find Find Next .
W menu Sketch ( rysunek 6 ) znajdują się
ważne opcje związane z weryi kacją i kompi-
lacją programu ( Verify/Compile ). Ponadto do-
stępna jest opcja Stop zatrzymująca monitor
komunikacji szeregowej. Opcja Show Sketch
Folder pokazuje folder z programem, nato-
miast opcja Import Library umożliwia import
biblioteki z której będzie korzystał przygo-
towywany program (do programu wstawia-
ny jest odnośnik do wybranej biblioteki).
Program wyświetla biblioteki znajdujące się
folderze libraries oprogramowania Arduino
IDE. Domyślnie dostępnych jest kilkanaście
bibliotek do których można również dołą-
czyć biblioteki dostępne w Internecie. Opcja
Add File umożliwia dodanie kolejnego pliku
do przygotowywanego programu. W menu
Tools pokazanym na rysunku 7 znajdują się
narzędzia dzięki którym będzie możliwa ko-
munikacja z zestawami Arduino. Opcja Auto
Format umożliwia z formatowanie napisane-
go programu (wprowadza wcięcia sprawia-
jące że program będzie bardziej czytelny).
Opcja Archive Sketch umoż-
liwia archiwizację przygoto-
wanego oprogramowania do
formatu ZIP. Dostępna jest
również opcja Serial Monitor
włączająca monitor komu-
nikacji szeregowej. W  opcji
Board jest możliwość wyboru
zestawu Arduino z  którym
będzie się komunikowało
oprogramowanie Arduino
IDE. Natomiast w opcji Serial
Port wybiera się numer portu
szeregowego z którym będzie
odbywała się komunikacja
z zestawem Arduino. W opcji
Rysunek 13.
Burn Bootloader znajdują się obsługiwane
przez Arduino programatory zewnętrzne za
pomocą których jest możliwość przesłania
do mikrokontrolera tak zwanego programu
Bootloadera za pomocą którego będzie moż-
liwe programowanie mikrokontrolera bez
potrzeby wykorzystywania dodatkowego ze-
wnętrznego programatora. W menu Help ( ry-
sunek 8 ) znajdują się opcje związane z odno-
śnikami do stron internetowych o Arduino,
jego obsługi, sposobu programowania czy
dostępnych instrukcji.
Rysunek 10.
cje tworzenia nowego programu, jego zapisu
oraz zamknięcia. W opcji Example znajdu-
ją się przykładowe programy dla Arduino.
Można w nich znaleźć dużo przykładów po-
dzielonych na grupy. Są to programy do ob-
sługi silników, wyświetlaczy czy czujników.
Dostępnych jest kilkadziesiąt przykłado-
wych programów. Opcja Upload to I/O Board
wysyła program do mikrokontrolera. Opcja
Page Setup umożliwia ustawienie opcji
Podstawowe elementy zestawu
Arduino IDE
Odpowiednik zestawu Arduino UNO
(Avtduino) z mikrokontrolerem ATmega168,
który będzie używany podczas kursu, był opi-
sywany w styczniowej Elektronice Praktycz-
nej. Na rysunku 9 pokazano elementy płytki
zestawu Arduino UNO. Zestaw ma gniazdo
USB, za pomocą którego będzie się odbywać
komunikacja komputera PC z mikrokontrole-
rem zestawu. Jest ona przeprowadzana z uży-
ciem konwertera USB-RS232. Zestaw może
być zasilany z interfejsu USB lub z wykorzy-
staniem zewnętrznego zasilania.
W zestawie dostępne są linie DIGITAL
(cyfrowe) mikrokontrolera oznaczone 0...13
przy czym linie 0 i 1 są liniami interfejsu
RS232. Dostępna jest również linia AREF, do
której można dołączyć zewnętrzne napięcie
odniesienia dla przetwornika A/C mikrokon-
trolera. Do gniazda ANALOG IN (analogowe)
dołączone zostały linie analogowe mikro-
kontrolera A0...A5, które również mogą pra-
cować jako linie cyfrowe. Do gniazda Power
Rysunek 11.
108
ELEKTRONIKA PRAKTYCZNA 5/2011
1052307891.152.png 1052307891.153.png 1052307891.155.png 1052307891.156.png 1052307891.157.png
Kurs Arduino
doprowadzono linie masy, napięcia zasila-
jące 5 V i 3,3 V oraz linię zerującą RESET .
Dostępne jest również gniazdo ICSP, do któ-
rego można dołączyć zewnętrzny programa-
tor. Umożliwia on załadowania do pamięci
mikrokontrolera programu Bootloadera lub
zaprogramowania go dowolnym innym pro-
gramem. Ponadto zestaw wyposażono w dio-
dę sygnalizującą zasilanie, diody sygnalizu-
jące transmisję z wykorzystaniem interfejsu
RS232 oraz diodę „L” sygnalizującą stan linii
13 mikrokontrolera. Do dostępnych gniazd
z liniami portów i zasilających będzie moż-
liwość dołączania własnych lub dostępnych
modułów Avtduino. Więcej informacji o ze-
stawie Arduino UNO można znaleźć z Elek-
tronice Praktycznej 01/2011.
rego będzie się odbywała komunikacja z ze-
stawem Arduino UNO.
Należy jeszcze odpowiednio skoniguro-
wać oprogramowanie Arduino IDE. W menu
Tools->Board należy wybrać zestaw pokaza-
ny na rysunku 11 . Następnie ustawić numer
portu, po którym będzie się odbywała ko-
munikacja. Prawidłową konigurację dla za-
instalowanego portu (w tym przypadku port
COM5) pokazano na rysunku 12 .
Po wykonaniu opisanych nastaw opro-
gramowanie Arduino IDE może się już ko-
munikować z zestawem Arduino UNO, który
został już wyposażony z odpowiedni Bootlo-
ader. Prawidłowa komunikacja będzie sygna-
lizowana za pomocą diod TX oraz RX. Aby
przesłać do zestawu przygotowany program,
po jego weryikacji i kompilacji wystarczy
przycisnąć przycisk Upload . Jeśli będą pro-
blemy z  komunikacją może to być wina
sprzętu lub nieprawidłowej koniguracji por-
tu komunikacyjnego. Zainstalowany numer
portu powinien być zgodny z wybranym por-
tem w oprogramowaniu Ardiuino IDE.
trolera. Dioda miga w  jednosekundowych
odstępach.
Po przepisaniu przykładowego programu
( rysunek 13 ) należy w pierwszej kolejności
wykonać weryikację oraz kompilację kli-
kając na ikonie Verify/Complile . Po bezbłęd-
nej kompilacji (gdy jest brak komunikatów
o  znalezionych błędach) program można
przesłać do mikrokontrolera naciskając przy-
cisk Upload . Po przesłaniu programu do mi-
krokontrolera powinna zacząć migać dioda
oznaczona jako „L”. Można zmienić wartości
opóźnień w instrukcji Delay i zobaczyć jak
zacznie się zachowywać dioda LED L
Podsumowanie
W  ramach tej części kursu pokazano
funkcje oprogramowania Arduino IDE oraz
pokazano sposób konigurowania i  komu-
nikację z  zestawem Arduino UNO wraz
z  przykładowym programem testowym.
W następnych częściach kursu będą przed-
stawiane przykłady obsługi różnych peryfe-
riów mikrokontrolera i dołączonych do niego
modułów wraz ze szczegółowym opisem ich
działania. Przykłady będą pomocne podczas
przygotowywania własnych programów, bę-
dzie je można szybko zmodyikować i dosto-
sować do własnych potrzeb.
Marcin Wiązania
marcin.wiazania@ep.com.pl
Uruchomienie zestawu
Zestaw może być zasilany z użyciem ze-
wnętrznego zasilacza lub z interfejsu USB.
Po połączeniu zestawu Arduino UNO z kom-
puterem za pomocą przewodu USB należy
w pierwszej kolejności zainstalować sterow-
niki USB wirtualnego portu COM. Sterowni-
ki te znajdują się w pakiecie Arduino w ka-
talogu Drivers . Po prawidłowym zainstalo-
waniu w  menedżerze urządzeń powinny
się pojawić dwa urządzenia zaznaczone na
rysunku 10 . W przykładzie został zainstalo-
wany wirtualny port COM5 , za pomocą któ-
Przykładowy program
Aby sprawdzić prawidłową współpracę
oprogramowania Arduino IDE z zestawem
Arduino UNO należy przepisać program
listingu 1 . Powoduje on miganie diody „L”
dołączonej do wyprowadzenia 13 mikrokon-
REKLAMA
109
ELEKTRONIKA PRAKTYCZNA 5/2011
1052307891.158.png 1052307891.159.png 1052307891.160.png
 
Zgłoś jeśli naruszono regulamin