Arduino Polska Forum
Pomoc w pisaniu programu - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica)
+--- Wątek: Pomoc w pisaniu programu (/watek-pomoc-w-pisaniu-programu)

Strony: 1 2


RE: Pomoc w pisaniu programu - Orlik.tc1 - 21-11-2020

(20-11-2020, 23:37)kaczakat napisał(a): Zamiast zmieniać stan led co 1000ms (czy drugiej co 333) możesz sprawdzać co 30ms czy przycisk jest wciśnięty i który, potem zmieniać  wysterowanie led analogowo. Jeżeli będziesz miał osobne przyciski, 4 w sumie, to można wtedy nawet "jednocześnie" ściemniać jeden i rozjaśniać drugi (oczywiście nic nie jest jednoczśnie, ale  ms i tym bardziej ns nie są zauważalne dla człowieka).
Nie załączasz schematu, nie wiem czy masz podłączony rezystor podciągający, nic o nim nie piszesz, a jego brak przy przycisku jest błędem. Może go nie być, ale w kodzie powinno być podciągnięcie do VCC.
Zamiast wpisywać analogWrite(0), powinieneś dla 0 zmienić funkcję na digitalWrite(0); by uniknąć glitch'a dla PWM.
Nie eliminujesz drgań styków ani nie korzystasz z gotowej biblioteki do tego.
Takie rzeczy są podstawowe, może masz książki i je czytałeś, ale ich nie zrozumiałeś. Porób przykłady, przejdź kurs z linka, ostatni projekt drugiego etapu to projekt wielozadaniowy z millis(). Z załączonego kodu widać, że jesteś daleko od tego punktu. Każdy przykład który zrobiłeś z delay zrób na millis.
Bez zrozumienia podstaw nie zrobisz żadnej sensownej aplikacji, a wszelkie wskazówki uzyskane na forach i tak będą dla Ciebie niezrozumiałe.
Pierwsze kilkaset programów odtwarzałem bez głębszego zrozumienia całości, modyfikując kawałki i obserwując efekty, starając się zrozumieć.
Tak, po zmianie na digitalWrite() rezystor jest podciągnięty do masy żeby unikać pików o których piszesz.
Dzięki za wyjaśnienie


RE: Pomoc w pisaniu programu - kaczakat - 21-11-2020

if (digitalRead(0)==LOW) - ale Twój program sugeruje, że powinien być podciągnięty do VCC. Gdybyś spodziewał się stanu 0(LOW) jako normalny to nie wykonujesz z tej okazji żadnej akcji, a gdy stan się zmienia na HIGH to ją wykonujesz. Chyba że ma to migać jak nikt nie dotyka przycisku.


RE: Pomoc w pisaniu programu - Orlik.tc1 - 21-11-2020

Podłączenie całości miałoby wyglądać tak, rezystor dałem tak jak wspomniałeś od 5V i przyblokowało mnie dalsze pisanie sketchu

[attachment=1068]