Wojtek65 Napisano Kwiecień 17, 2021 Udostępnij Napisano Kwiecień 17, 2021 (edytowany) Witajcie Kontynuacja poprzeniego odcinka:(((( Płytka z poprzeniego mojego posta uzbrojona w dwa przyciski Spłodziłem taki program void setup() { pinMode(8, OUTPUT); //Tryb pinu 8 ( wyjście ) pinMode(7, INPUT_PULLUP); //Przycisk CZERWONY podłączony do pinu 7 ( wejście ) pinMode(6, INPUT_PULLUP); //Przycisk CZARNY podłączony do pinu 6 ( wejście ) digitalWrite(8, HIGH); //Stan pinu 8 ( Wysoki ) - przez urządzenie podłączone do pinu 8 ( diodę LED ) płynie prąd } void loop() { if (digitalRead(7) == LOW) //Jeżeli przycisk 7 ( CZERWONY ) jest WCIŚNIĘTY dioda LED sobie miga { digitalWrite(8, LOW); delay(300); digitalWrite(8, HIGH); delay(400); } if (digitalRead(7) == HIGH) //Jeżeli przycisk 7 ( CZERWONY ) jest ZWOLNIONY { digitalWrite(8, HIGH);//dioda LED świeci światłem ciągły } if (digitalRead(6) == LOW) //Jeżeli przycisk 6 ( CZARNY ) jest WCIŚNIĘTY dioda nie chce zgasnąć, zmienia się delikatnie jasność świecenia ( DLACZEGO?? { digitalWrite(8, LOW); } } za pomoc z góry dzięki Edytowano Kwiecień 19, 2021 przez Gieneq Zachęcam do korzystania z bloku kodu programu Cytuj Link do komentarza Share on other sites More sharing options...
Wojtek65 Kwiecień 17, 2021 Autor tematu Udostępnij Kwiecień 17, 2021 TAk dodam,że chyba trochę rozumiem że może to być związane z dwustanowością switcha czerwonego ( wycisnięty generuje stan H na diodzie ), a ze jest cały czas wyciśniety to może w jakiś sposób blokować dostęp do diody Cytuj Link do komentarza Share on other sites More sharing options...
ethanak Kwiecień 17, 2021 Udostępnij Kwiecień 17, 2021 A czytałeś to: 1 Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Kwiecień 17, 2021 Udostępnij Kwiecień 17, 2021 Cześć, jak wciśniesz przycisk na pinie 6 to Twoja dioda miga DUŻO razy na sekundę, wydaje Ci się, że przygasa. Wiesz dlaczego? Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
Wojtek65 Kwiecień 17, 2021 Autor tematu Udostępnij Kwiecień 17, 2021 Nie wiem Cytuj Link do komentarza Share on other sites More sharing options...
Wojtek65 Kwiecień 17, 2021 Autor tematu Udostępnij Kwiecień 17, 2021 jeszcze nie doszedłem w czytaniu do tematu poczytam Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Kwiecień 17, 2021 Udostępnij Kwiecień 17, 2021 To napisz własnymi słowami co robi w pętli Twój program. Po kolei, nie jest tego dużo. Cytuj Link do komentarza Share on other sites More sharing options...
SOYER Kwiecień 17, 2021 Udostępnij Kwiecień 17, 2021 (edytowany) Możesz też ten fragment kodu: if (digitalRead(7) == HIGH) //Jeżeli przycisk 7 ( CZERWONY ) jest ZWOLNIONY { digitalWrite(8, HIGH);//dioda LED świeci światłem ciągły } zmienić na ten: if (digitalRead(7) == HIGH) //Jeżeli przycisk 7 ( CZERWONY ) jest ZWOLNIONY { digitalWrite(8, HIGH);//dioda LED świeci światłem ciągły delay(150); } Zobaczysz efekt i łatwiej zrozumiesz. Edytowano Kwiecień 17, 2021 przez SOYER Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Kwiecień 17, 2021 Udostępnij Kwiecień 17, 2021 @Wojtek65 kody programów należy umieszczać za pomocą odpowiedniego narzędzia dostępnego w edytorze (przycisk "Wstaw kod programu"). Programy są wtedy prezentowane w czytelny sposób, a ich składania jest kolorowana. Proszę o poprawienie tego w pierwszym poście. Z góry dziękuję za zrozumienie i pomoc w utrzymaniu porządku 😉 Cytuj Link do komentarza Share on other sites More sharing options...
Wojtek65 Kwiecień 17, 2021 Autor tematu Udostępnij Kwiecień 17, 2021 (edytowany) void setup() { pinMode(8, OUTPUT); //Tryb pinu 8 ( wyjście ) pinMode(7, INPUT_PULLUP); //Przycisk CZERWONY podłączony do pinu 7 ( wejście ) pinMode(6, INPUT_PULLUP); //Przycisk CZARNY podłączony do pinu 6 ( wejście ) digitalWrite(8, HIGH); //Stan pinu 8 ( Wysoki ) - przez urządzenie podłączone do pinu 8 ( diodę LED ) płynie prąd } void loop() { if (digitalRead(7) == LOW) //Jeżeli przycisk 7 ( CZERWONY ) jest WCIŚNIĘTY dioda LED sobie miga { digitalWrite(8, LOW); delay(300); digitalWrite(8, HIGH); delay(400); } if (digitalRead(7) == HIGH) //Jeżeli przycisk 7 ( CZERWONY ) jest ZWOLNIONY { digitalWrite(8, HIGH);//dioda LED świeci światłem ciągły } if (digitalRead(6) == LOW) //Jeżeli przycisk 6 ( CZARNY ) jest WCIŚNIĘTY dioda nie chce zgasnąć, zmienia się delikatnie jasność świecenia ( DLACZEGO?? { digitalWrite(8, LOW); } } za pomoc z góry dzięki void setup() { pinMode(8, OUTPUT); //Tryb pinu 8 ( wyjście ) pinMode(7, INPUT_PULLUP); //Przycisk CZERWONY podłączony do pinu 7 ( wejście ) pinMode(6, INPUT_PULLUP); //Przycisk CZARNY podłączony do pinu 6 ( wejście ) digitalWrite(8, HIGH); //Stan pinu 8 ( Wysoki ) - przez urządzenie podłączone do pinu 8 ( diodę LED ) płynie prąd } void loop() { if (digitalRead(7) == LOW) //Jeżeli przycisk 7 ( CZERWONY ) jest WCIŚNIĘTY dioda LED sobie miga { digitalWrite(8, LOW); delay(300); digitalWrite(8, HIGH); delay(400); } if (digitalRead(7) == HIGH) //Jeżeli przycisk 7 ( CZERWONY ) jest ZWOLNIONY { digitalWrite(8, HIGH);//dioda LED świeci światłem ciągły } if (digitalRead(6) == LOW) //Jeżeli przycisk 6 ( CZARNY ) jest WCIŚNIĘTY dioda nie chce zgasnąć, zmienia się delikatnie jasność świecenia ( DLACZEGO?? { digitalWrite(8, LOW); } } za pomoc z góry dzięki Edytowano Kwiecień 19, 2021 przez Gieneq Cytuj Link do komentarza Share on other sites More sharing options...
_LM_ Kwiecień 17, 2021 Udostępnij Kwiecień 17, 2021 Ponieważ równocześnie wykonuje się warunek dla pinu 7 więc dioda mruga z dużą szybkością co widzisz jako delikatne świecenie Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Kwiecień 17, 2021 Udostępnij Kwiecień 17, 2021 (edytowany) Panie bo jak guzik7 jest nie wcisniety to warunek jest spelniony i dioda zapalona..jak guzik6 wcisniety to dioda ma zgasnac...i w rzeczywistosci tak sie dzieje...tylko strasznie szybko i efekt jakby dioda swiecila caly czas...if wykonuje sie tylko raz i kod przechodzi dalej... Mozesz tak dopisac i powinno byc to co chcesz... if (digitalRead(6) == LOW) //Jeżeli przycisk 6 ( CZARNY ) jest WCIŚNIĘTY dioda nie chce zgasnąć, zmienia się delikatnie jasność świecenia ( DLACZEGO?? { digitalWrite(8, LOW); delay(50); //dopisz delay! } Edytowano Kwiecień 17, 2021 przez farmaceuta 1 Cytuj Link do komentarza Share on other sites More sharing options...
Wojtek65 Kwiecień 17, 2021 Autor tematu Udostępnij Kwiecień 17, 2021 Podziękował wszystkim KOLEGOM dotarło do mojego pustego łba, że void loop to pętla, żę dwa ostanie if-y wykonują się w kółko bardzo, ale to bardzo szybko co sprawia wrażenie, że dioda nie gaśnie i że funkcję przycisku 6 można zrealizować kilkoma metodami programowymi zarówno wenątrz void loopa jak i wykonując skok poza pętlę void loopa podziękował serdecznie Cytuj Link do komentarza Share on other sites More sharing options...
farmaceuta Kwiecień 17, 2021 Udostępnij Kwiecień 17, 2021 1 minutę temu, Wojtek65 napisał: można zrealizować kilkoma metodami programowymi zarówno wenątrz void loopa jak i wykonując skok poza pętlę void loopa Zebys wyszedl poza loop to musisz stworzyc osobna funkcje...i podczas jej wywolania do niej sie dostajesz...narazie sie tym nie przejmuj..a doszlifuj podstawowe dzialanie if/for/while etc...wtedy unikniesz wielu "dziwnych" problemow w przyszlosci..🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Wojtek65 Kwiecień 17, 2021 Autor tematu Udostępnij Kwiecień 17, 2021 Podziękował Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!