• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Arduino - pętla

Object Storage Arubacloud
0 głosów
890 wizyt
pytanie zadane 7 września 2020 w C i C++ przez delfinek3 Nowicjusz (170 p.)

Witam. Chciałbym zapętlić podany niżej kod, tak aby wykonał się 10 razy, czy da się to zrobić tak po prostu czy muszę napisać go w pętli od nowa?

void setup() {
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
}
 
void loop() {
digitalWrite(2, HIGH);
delay(50);
digitalWrite(3, HIGH);
delay(50);
digitalWrite(4, HIGH);
delay(50);
digitalWrite(5, HIGH);
delay(50);
digitalWrite(6, HIGH);
delay(50);
digitalWrite(7, HIGH);
delay(50);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(9, HIGH);
delay(50);
digitalWrite(10, HIGH);
delay(50);
digitalWrite(11, HIGH);
delay(50);
digitalWrite(12, HIGH);
delay(50);
digitalWrite(2, LOW);
delay(50);
digitalWrite(3, LOW);
delay(50);
digitalWrite(4, LOW);
delay(50);
digitalWrite(5, LOW);
delay(50);
digitalWrite(6, LOW);
delay(50);
digitalWrite(7, LOW);
delay(50);
digitalWrite(8, LOW);
delay(50);
digitalWrite(9, LOW);
delay(50);
digitalWrite(10, LOW);
delay(50);
digitalWrite(11, LOW);
delay(50);
digitalWrite(12, LOW);
delay(50);
 
}

 

2 odpowiedzi

0 głosów
odpowiedź 7 września 2020 przez Stami Gaduła (3,790 p.)

Zrób pętlę for (dwie w setup i loop) i wykorzystuj zmienna "i" jako parametr dla funkcji pinMode() i digitalWrite()

Przykład: 

for(int i = 0; i <= 6; i++)
{
 digitalWrite(i, HIGH);
}

Możesz poczytać sobie więcej o petlach. Chociażby stąd: https://miroslawzelent.pl/kurs-c++/rodzaje-petli-for-while-do/

0 głosów
odpowiedź 7 września 2020 przez DawidK Nałogowiec (37,910 p.)
void setup() {
  for(int i=2; i<13; i++){
    pinMode(i, OUTPUT);
  }
}

void loop() {
  for(int i=2;i<13;i++){
      digitalWrite(i, HIGH);
      delay(50);
  }
  for(int i=2;i<13;i++){
      digitalWrite(i, LOW);
      delay(50);
  }
}

Pierwsza pętla ustawi Ci outputy, druga zaświeci kolejno wszystkie diody, trzecia zgasi.

Podobne pytania

0 głosów
1 odpowiedź 310 wizyt
pytanie zadane 7 listopada 2020 w Mikrokontrolery przez xdmik23 Gaduła (3,000 p.)
0 głosów
2 odpowiedzi 553 wizyt
pytanie zadane 18 czerwca 2019 w C i C++ przez Eryk Słowiński Początkujący (280 p.)
0 głosów
1 odpowiedź 683 wizyt
pytanie zadane 6 stycznia 2019 w C i C++ przez Kacper Lasota Początkujący (250 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...