Skocz do zawartości

Włączanie i wyłączanie jednym przyciskiem diody z wykorzystaniem Arduino Mega


Daw1d

Pomocna odpowiedź

Witam serdecznie

Mam problem od dłuższego czasu, ponieważ chciałbym w niedalekiej przyszłości zrobić sterowanie roletami, gdzie wciskam przycisk i roleta jedzie w dół, wciskam drugi raz i się zatrzymuje, znowu wciskam i jedzie w dół itd. Zacząłem na chwilę obecną ze zwykłą diodą ponieważ chciałem zobaczyć czy wyjdzie. i tu pojawił się problem, mianowicie gdy przycisk nie jest wciśnięty dioda miga z bardzo dużą częstotliwością(nie wiem jaką, miga po prostu szybko), tak samo dzieje się gdy do wejścia przycisku do Arduino, czyli INPUT na wejściu np.34 dioda również zaczyna migać. Poniżej wrzucam program, może w nim jest coś nie tak.

Z góry dziękuję za pomoc😁

void setup() {
pinMode(42, OUTPUT);
pinMode(44, INPUT);
digitalWrite(42, LOW);
}
bool wcisniety = 0;
bool aktywny_program = 0;
void loop() {
 if(digitalRead(44) == 1)
 {
  if(wcisniety == 0)
  {
    if(aktywny_program == 0)
    {
      aktywny_program = 1;
      
    }
    else
    {
      aktywny_program = 0;
      
    }
    wcisniety = 1;
  }
 }
 else
 {
  wcisniety = 0;
 }
 if(aktywny_program == 1)
 {
  digitalWrite(42, HIGH);
 }
 else
 {
   digitalWrite(42, LOW);
 }
}

 

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

Tu chodzi mi bardziej o to, że w momencie bezczynności, kiedy nic nie jest wciśnięte dioda bez przerwy miga i mam pytanie jak temu zaradzić/obejść

Na INPUT_PULLUP też program nie działał, wystąpił błąd powyżej opisany

Link do komentarza
Share on other sites

19 godzin temu, Daw1d napisał:

gdzie wciskam przycisk i roleta jedzie w dół, wciskam drugi raz i się zatrzymuje, znowu wciskam i jedzie w dół itd.

To zachowanie realizuje przerzutnik typu T (toggle). Poczytaj ten wpis i poszukaj jak zapamiętać stan w zmiennej.

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.