• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Pomoc w pisaniu programu
#11
(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
 
Odpowiedź
#12
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#13
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

   
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości