Poniższy artykuł to jedna z części tworzonego na bieżąco kursu, który pomoże Ci opanować podstawy robotyki z wykorzystaniem platformy Arduino. Chcesz przejść do pozostałych lekcji?
Blink
Pierwszym programem, który napiszemy, będzie sterowanie wbudowaną diodą na płytce Arduino. Jest to najprostsza rzecz, jaką można za pomocą płytki zrobić. Zaczynają od tego dosłownie wszyscy, więc zacznijmy i my.
Poniżej znajduje się 6 prostych kroków pokazujących, jak zapalić wbudowaną diodę LED w Arduino:
Podłącz Arduino
Podłącz Arduino do komputera za pomocą kabla USB.
Otwórz program Arduino IDE
Otwórz program Arduino IDE na swoim komputerze.
Otwórz przykładowy kod
Wybierz przykładowy kod „Blink” z menu „Plik”->”Przykłady”->”01.Basics”->”Blink”.
Wybierz płytkę Arduino i port szeregowy
Wybierz odpowiednią płytę Arduino i port szeregowy w menu „Narzędzia„. Jeśli nie wiesz pod jakim portem działa Arduino to odepnij kabel USB od komputera, podłącz ponownie i zwróć uwagę, jaki nowy port COM pojawił się na liście. To będzie port Arduino.
Wgraj kod do Arduino
Wgraj kod do płytki Arduino za pomocą przycisku „Wgraj” na pasku narzędzi.
Obserwuj wbudowaną diodę LED
Teraz wbudowana na płytce dioda LED powinna migać co 1 sekundę. Jeśli chcesz zmienić częstotliwość migania diody, zmodyfikuj wartość zmiennej „delay” w kodzie.
Omówienie kodu
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Funkcja Setup
Funkcja setup() jest wywoływana podczas uruchamiania szkicu. Używana jej do inicjalizacji zmiennych, trybów pinów, rozpoczęcia korzystania z bibliotek, itp. Funkcja setup() będzie uruchamiana tylko raz, po każdym włączeniu zasilania lub zresetowaniu płytki Arduino.
W naszym przykładzie w funkcji setup deklarujemy, że port, do którego przypięta jest dioda LED ma być obsługiwany jako „wyjście”.
pinMode(pin, mode)
Gdzie:
- PIN – numer pinu.
W przypadku wbudowanej diody jest to pin numer 13 lub zmienna globalna LED_BUILTIN - MODE – deklaracja działania portu
- INPUT – port obsługiwany jako wejście danych
- OUTPUT – port obsługiwany jako wyjście danych
- INPUT_PULLUP – odwrócenie logiki portu
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
W naszym przykładzie zadeklarowaliśmy, że pin (LED_BUILTIN) wbudowanej diody LED ma być obsługiwany jako wyjście (OUTPUT). To oznacza możemy wydawać polecenia przez ten pin. Niejako wysyłamy informacje przez ten port.
Jeśli ten PIN zadeklarowalibyśmy jako INPUT, to oznacza, że możemy odbierać dane na tym pinie.
Funkcja Loop
Po utworzeniu funkcji setup(), która inicjalizuje i ustawia wartości początkowe, funkcja loop() robi dokładnie to, co sugeruje jej nazwa, czyli zapętla kolejno, pozwalając Twojemu programowi zmieniać się i reagować. Użyj jej do aktywnego sterowania płytką Arduino.
Przykład użycia:
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Idąc kolejno:
- Ustawiamy stan wysoki na Pinie LED (włączamy diodę)
- Robimy przerwę 1000 milisekund
- Ustawiamy stan niski na pinie LED (wyłączamy diodę)
- Robimy przerwę 1000 milisekund
Całość powtarzamy w nieskończoność.
Korzystając z funkcji digitalWrite ustawiamy dla danego pinu stan wysoki lub niski. Czyli mówiąc potocznie włączamy lub wyłączamy prąd na tym pinie.
digitalWrite(pin, value)
Gdzie:
- pin – numer pinu.
- value – deklaracja stanu
HIGH lub LOW
Funkcja Delay
Wstrzymuje program na czas (w milisekundach) podany jako parametr. W jednej sekundzie jest 1000 milisekund.
Interesuje Cię praktyczne wykorzystanie robotyki w projektach komercyjnych?
Sprawdź nasze realizacje!