Skocz do zawartości

Kurs Arduino - #2 - podstawy programowania, porty I/O


Komentator

Pomocna odpowiedź

cześć,

void setup() {
  //pinMode(4, OUTPUT); // dioda zielona 
  //pinMode(8, OUTPUT); // dioda czerwona 
}

void loop(){
  digitalWrite(8, HIGH);
  delay(100);
  digitalWrite(8, LOW);
  delay(100);
  digitalWrite(4, HIGH);
  delay(100);
  digitalWrite(4, LOW);
  delay(100);
}

przy zdjętych komentarzach w deklaracji diody świecą dobrze,

jak są zakomentowane deklaracje diody się żarzą (dlaczego?) - a chyba nie powinny 🙂 

  • Lubię! 1
Link do komentarza
Share on other sites

@success witam na forum 🙂

Jak masz zakomentowane to domyślnie wszystkie wyprowadzenia są wejściami (tak jakbyś napisał w pinMode INPUT) i jakiś niewielki prąd może popłynąć.

Edytowano przez Gieneq
  • Pomogłeś! 1
Link do komentarza
Share on other sites

16 minut temu, Gieneq napisał:

Jak masz zakomentowane to domyślnie wszystkie wyprowadzenia są wejściami

A wtedy digitalWrite(pin, HIGH) podłącza do pinu wewnętrzny rezystor pull-up, i przez niego płynie wystarczający prąd aby leda się lekko żarzyła. Tak powinno być, objaw prawidłowy, pacjent zdrowy.

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Cześć,

Mam pytanie o pętle while w poniższym szkicu. 

Zastanawia mnie dlaczego gdy przestaje wciskać przycisk to dioda się dalej świeci?

Rozumiem że dopóki przycisk jest wciśnięty i jesteśmy w pętli while to dioda miga, tylko dlaczego nie gaśnie gdy wychodzę z pętli while? 

(Na mój rozum program powinien się kręcić w kółko w pętli loop a dioda powinna być wygaszona, bo nie ma żadnego warunku gdy digitalRead(7) jest w stanie wysokim. ale mój rozum to nie język C więc proszę o wyjaśnienie 😉 )

void setup() {
pinMode(8,OUTPUT); //Dioda niebieska
pinMode(7,INPUT_PULLUP); //Przycisk
digitalWrite(8,LOW); //Wyłączenie diody
}

void loop() {
  while(digitalRead(7)==LOW){ //Jeśli przycik wciśniety
    digitalWrite(8,LOW); //niebieska wyłącz
    delay(1000);
    digitalWrite(8,HIGH); //niebieska włącz
    delay(1000);
  }
 }

kurs jest ekstra, mega wciąga 🙂

 

  • Lubię! 1
Link do komentarza
Share on other sites

1 minutę temu, dastawowy napisał:

kurs jest ekstra, mega wciąga 🙂

Dzięki, miło słyszeć 🙂

1 minutę temu, dastawowy napisał:

Rozumiem że dopóki przycisk jest wciśnięty i jesteśmy w pętli while to dioda miga, tylko dlaczego nie gaśnie gdy wychodzę z pętli while? 

A wyobraź sobie, że ta pętla się wykonuje tylko raz. Jaki będzie stan diody po jednokrotnym przejściu tej pętli? Wchodzisz do pętli, wyłączasz diodę, czekasz, włączasz diodę, czekasz, wychichocesz z pętli.

  • Lubię! 1
Link do komentarza
Share on other sites

19 minut temu, Treker napisał:

A wyobraź sobie, że ta pętla się wykonuje tylko raz. Jaki będzie stan diody po jednokrotnym przejściu tej pętli? Wchodzisz do pętli, wyłączasz diodę, czekasz, włączasz diodę, czekasz, wychichocesz z pętli.

W takim wypadku dioda będzie się święcić ciągle, ( czekać z włączoną diodą? 🙂 ) ale czy to oznacza że jak się wychodzi z pętli while to program "pamięta" ostatnią komendę pętli?

nie wiem jak to rozumieć? 

 

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.