Dodaj produkty podając kody

Dodaj plik CSV
Wpisz kody produktów, które chcesz zbiorczo dodać do koszyka (po przecinku, ze spacją lub od nowej linijki). Powtórzenie wielokrotnie kodu, doda ten towar tyle razy ile razy występuje.

Licznik w mikrokontrolerze

2019-03-31
Licznik w mikrokontrolerze

Założę się, że spotkałeś się w swoich projektach z taką sytuacją, że potrzebowałeś, aby jakaś część Twojego kodu wykonała się określoną przez Ciebie ilość razy i dopiero gdy wykona się odpowiednia ilość powtórzeń, Arduino wykona kolejną czynność. Nawet w życiu codziennym nieświadomie spotykałeś się z tego typu sytuacjami. Przykład? Proszę bardzo. Rodzice mówili Ci nie raz, abyś zastanowił się trzy razy, zanim coś zrobisz. Odzwierciedleniem tych słów w języku, w którym piszesz programy, na Arduino są funkcje "if" oraz "for". Zobacz jak prosto zaprogramować licznik w mikrokontrolerze.

Licznik w mikrokontrolerze — wykorzystane elementy

Pięciokrotny blink

Załóżmy, że wykonujesz swój nowy projekt i potrzebujesz, aby czerwona dioda LED pięć razy zapaliła się i zagasła, a następnie zaczekała dwie sekundy, zanim znów pięciokrotnie mignie. Początkujący zapewne rozwiązaliby ten problem w taki sposób:

digitalWrite (dioda, HIGH);
delay (500);
digitalWrite (dioda, LOW);
delay (500);

I tak pięć razy

delay (2000);

Sprawi to, że Twój kod nie będzie przejrzysty i będzie o wiele, wiele za długi. Wyobraź sobie, co by było gdyby dioda miała zabłysnąć 100 lub 1000 razy! W takim wypadku kod miałby kilkaset linijek, a wystarczyłoby tylko zastosować funkcję "if"...

Przykład funkcji "if" (jeżeli)

void loop()
{
digitalWrite (dioda, HIGH);
delay(500);
digitalWrite (dioda, LOW);
delay(500);
blysk++;

if (blysk == 5)
{
delay(2000);
blysk = 0;
}
}

Powyższy przykład będzie działał w następujący sposób:

  1. Zapal diodę
  2. Odczekaj 0,5 sekundy
  3. Zgaś diodę
  4. Odczekaj 0,5 sekundy
  5. Dodaj wartość 1 do zmiennej "blysk"
  6. Jeżeli wartość zmiennej "blysk" będzie równa 5, to wykonaj, polecenie w nawiasie klamrowym (zaczekaj 2 sekundy)
  7. Przypisz wartość 0 zmiennej "blysk"



Licznik w mikrokontrolerze — drobny upgrade

Rozbudujmy od razu nasz projekt, dodając kolejną diodę LED oraz kilka linijek kodu. Stworzymy również własną funkcję o nazwie "red". Czy rozumiesz działanie poniższego kodu? Jeżeli niezbyt, to nie masz się czym przejmować, wszystko Ci wyjaśnię.

void loop() {
for (licznik1 = 0; licznik1 < 5; licznik1++)
{
red();
}
if (licznik1 == 5)
{
licznik1 = 0;
}
}
void red() {
digitalWrite(czerwony, HIGH);
delay(100);
digitalWrite(czerwony, LOW);
delay(100);
}

  1. Do zmiennej "licznik1" o wartości 0 dodaj wartość 1 do momentu, gdy ta wartość osiągnie wartość 5
  2. Jeżeli wartość się powiększy, to wykonaj funkcję "red"
  3. Jeżeli zmienna "licznik1" osiągnie wartość 5 to wykonaj zadanie w nawiasie klamrowym
  4. Przypisz zmiennej "licznik1" wartość 0

Reszta kodu powinna być dla Ciebie zrozumiała. Możesz go pobrać i pozmieniać wartości zmiennych, aby lepiej zrozumieć jego działanie. Kliknij ten link, aby przejść do strony z kodami. Zerknij na filmik z działaniem układu.



Licznik w mikrokontrolerze — podsumowanie

Zapoznałeś się z podstawowymi elementami kodu, które będą Ci potrzebne do budowy bardziej zaawansowanych szkiców, a co za tym idzie — projektów. Wiesz już, że można tworzyć oddzielne funkcje o dowolnych nazwach, aby Twój kod był o wiele bardziej przejrzysty. Dodaj kilka elementów na płytce prototypowej i dokonaj własnych zmian w kodzie. Jeżeli masz jakieś pytania lub uwagi — pisz w komentarzu.

Pokaż więcej wpisów z Marzec 2019

Polecane

pixelpixel