I_R_W15_M02 Budujemy pierwszy układ
Komunikacja z komputerem
Komunikacja na linii komputer‑Arduino odbywa się z wykorzystaniem protokołu UART. Jest to praktycznie ten sam interfejs komunikacyjny co RS232 opracowany przez firmę Gordon Bell, z tą różnicą, że RS232 pracuje przy napięciach od -15 V do 15 V, a UART wykorzystuje napięcia od 0 V do 5 V. UART jest protokołem szeregowym. Działa na zasadzie wysyłania ciągu bitów, które składane są w pojedyncze ramki informacji. Ramka protokołu UART składa się z:
bitu startu,
od 5 do 8 bitów danych,
bitu parzystości (opcjonalnego),
bitu stopu o wartości 1, 1,5 lub 2 bitów.
Dodatkowo piny cyfrowe 0 oraz 1 na płytce Arduino Uno są oznaczone jako RX oraz TX. Dzięki tym właśnie wyprowadzeniom możemy komunikować się za pośrednictwem protokołu UART z innymi urządzeniami.
Wysyłanie informacji z płytki do komputera
Aby wysyłać informacje z płytki Arduino do komputera, musimy określić w szkicu prędkość transmisji. Służy do tego polecenie Serial.begin(prędkość).
Ustawiliśmy prędkość 9600 bodówbodów (baudów). Wystarcza ona do komunikowania się z komputerem. Pamiętajmy, aby tę samą prędkość ustawić w Monitorze portu szeregowego. Klikamy Monitor portu szeregowego w Arduino IDE.

Następnie na dole okna ustawiamy prędkość równą 9600.

Po wgraniu szkicu i włączeniu Monitora portu szeregowego nic na ekranie się nie pojawia. Dodajmy instrukcję wyświetlającą napis Witaj świecie.

Pierwsza symulacja
Sterowanie płytką Arduino z komputera
Teraz napiszmy program, który za pomocą komendy wydanej w Monitorze portu szeregowego włączy lub wyłączy diodę.
Aby program działał prawidłowo, zbudujmy odpowiedni układ. Jest on bardzo podobny do tego skonstruowanego wcześniej. Różni się tylko tym, że dioda jest podpięta do pinu 9. zamiast 13., tak aby pokazać, że możemy sterować każdym pinem cyfrowym.

W funkcji setup() ustawiamy pin numer 9 jako pin wyjściowy. Następnie inicjujemy transmisję szeregową i ustawiamy jej prędkość.
Używając instrukcji warunkowej if sprawdzamy, czy została wysłana do płytki jakaś informacja. Jeżeli tak było, odczytujemy ją za pomocą deklaracji Serial.read(); i zapisujemy w zmiennej typu char o nazwie znak.
Założyliśmy, że liczba 1 będzie włączać diodę LED podpiętą do pinu 9., natomiast liczba 2 będzie tę diodę wyłączać.
Korzystamy znowu z instrukcji warunkowej if i tym razem sprawdzamy, co znajduje się w zmiennej znak. Informacja pobrana z portu szeregowego jest znakiem 1 lub 2. Jeżeli jest to znak 1, to ustawiamy stan pinu 9. na wysoki; natomiast jeżeli jest to liczba 2, ustawiamy stan pinu 9. na niski. Wgrywamy szkic do płytki Arduino i sprawdzamy czy działa prawidłowo.
Poniżej prezentujemy pełen program.
Po wgraniu szkicu otwieramy Monitor portu szeregowego i wpisujemy znak 1. Aby ta instrukcja (znak) została wysłana do Arduino, wciskamy [Enter] lub klikamy przycisk Wyślij.
Słownik
skrót od angielskiego słowa ground oznaczającego masę układu
(ang. Universal Asynchronous Receiver and Transmitter) uniwersalny asynchroniczny odbiornik i nadajnik
zmienna wielkości 1 bajta, przechowuje wartości od -128 do 127
płytka służąca do budowania prototypów układów elektronicznych bez potrzeby lutowania
(ang. baud) jednostka prędkości transmisji, określająca ile razy w ciągu sekundy zmienia się stan medium transmisyjnego; w przypadku łącza, w którym operuje się wyłącznie symbolami 0 i 1, prędkość transmisji wynosząca 1000 bodów oznacza przesłanie 1000 bitów w ciągu sekundy; symbolem boda (bauda) jest Bd


