Skocz do zawartości

Pierwsze programy własny który nie mogę zrozumieć


danmaz

Pomocna odpowiedź

Zsumowałem programiki i teraz po przytrzymaniu włacznika świeci dioda 5 s a później miga tak jak ma zadane ale nie mogę tego zrozumieć co z czym.

void setup() {
 pinMode(8, OUTPUT); //Dioda jako wyjście
 pinMode(7, INPUT_PULLUP); //Przycisk jako wejście
 digitalWrite(8, LOW); //Wyłączenie diody
}

void loop()
{
 if (digitalRead(7) == LOW) { //Jeśli przycisk wciśnięty
   digitalWrite(8, HIGH); //Włącz diodę
   delay(5000); //Czekamy 10 sekund
   digitalWrite(8, LOW); //Wyłączamy diodę
 } else {digitalWrite(8, HIGH);   
 delay(1000);              
 digitalWrite(8, LOW);   
 delay(1000);             
 digitalWrite(8, LOW); //Wyłącz diodę
 }

}
Link do komentarza
Share on other sites

danmaz, czego konkretnie nie rozumiesz? Komentarze, które tam są w miarę tłumaczą co i jak.

Jedynie ten fragment:

 } else {digitalWrite(8, HIGH);    
 delay(1000);              
 digitalWrite(8, LOW);    
 delay(1000);              
 digitalWrite(8, LOW); //Wyłącz diodę 
 } 

Można zamienić na:

 } else {
 digitalWrite(8, HIGH);    
 delay(1000);              
 digitalWrite(8, LOW);   //Wyłącz diodę   
 delay(1000);              
 } 

Ta ostatnia linijka i tak nic nie robiła. Przeczytałeś kurs Arduino dostępny na Forbocie?

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

Tak właśnie z tym kursem robię tylko chciałem coś więcej zrobić. Chodziło o to że nie wiem dlaczego przetrzymanie włącznika zmienia działanie i później wraca do poprzedniej pętli.

Link do komentarza
Share on other sites

Program wykonywany jest cały czas w pętli. W środku masz warunek:

if (digitalRead(7) == LOW) {

Zależnie od wciśnięcia przycisku wykonywana jest tylko "połowa" pętli miganie, co sekundę lub świecenie przez 5. Zwróć uwagę, że polecenia delay (opóźniające) zatrzymują wykonywanie pętli na określony czas. Teraz trochę jaśniej? Jak nie, to postaraj się przeanalizować ten program i zadaj jakieś konkretne pytanie 🙂

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.