Podstawy robotyki: Pierwszy program!

dogtronic.io 1 rok temu

Blink

Pierwszym programem, który napiszemy, będzie sterowanie wbudowaną diodą na płytce Arduino. Jest to najprostsza rzecz, jaką można dzięki 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:

Krok 1

Podłącz Arduino

Podłącz Arduino do komputera dzięki kabla USB.

Arduino Uno podłączasz do komputera dzięki przewodu USB typu A.
Krok 2

Otwórz program Arduino IDE

Otwórz program Arduino IDE na swoim komputerze.

Adruino IDE domyślanie otwiera się z pustym szkicem.
Krok 3

Otwórz przykładowy kod

Wybierz przykładowy kod "Blink" z menu "Plik"->"Przykłady"->"01.Basics"->"Blink".

Arduino IDE zawiera mnóstwo przykładowych programów.
Kod programu Blink
Krok 4

Wybierz płytkę Arduino i port szeregowy

Wybierz odpowiednią płytę Arduino i port szeregowy w menu "Narzędzia". jeżeli 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.

Ilość portów będzie dla wszystkich komputera inna.
Krok 5

Wgraj kod do Arduino

Wgraj kod do płytki Arduino dzięki przycisku "Wgraj" na pasku narzędzi.

Wgranie orpogramowania do płytki chwilę potrwa.
Krok 6

Obserwuj wbudowaną diodę LED

Teraz wbudowana na płytce dioda LED powinna migać co 1 sekundę. jeżeli chcesz zmienić częstotliwość migania diody, zmodyfikuj wartość zmiennej "delay" w kodzie.

Do symulacji Arduino użyto narzędzia: wokwi.com

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, iż 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, OUTPUT, lub INPUT_PULLUP
    • 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, iż 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, iż 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:

  1. Ustawiamy stan wysoki na Pinie LED (włączamy diodę)
  2. Robimy przerwę 1000 milisekund
  3. Ustawiamy stan niski na pinie LED (wyłączamy diodę)
  4. 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.
Poprzednia lekcja
Idź do oryginalnego materiału