Skocz do zawartości

ARDU Mega 2560 nie zapamiętuje stanu wyjść


pablo_doctor

Pomocna odpowiedź

Cześć,

proszę o weryfikację - co zepsułem że stany wyjść nie są zapisywane do pamięci i po restarcie  "podnosi się przekaźnik nr 3 / 7 / 8?

Siedzę już kilka godzin i kukam jak szpak w 5 gr i dalej nie widzę błędu.

ARDU obsługuje 15 przycisków na wejściach A1-do A15 i podaje stan na wyjścia 22-24-26- do 50. Problem jest taki ze jak "podniosę" np pierwsze 8 przekaźników to po restarcie podniesione zostają tylko 3 / 7 / 8. Oczywiście potrzebne biblioteki są wgrane. W załączeniu pik. 

PD

GatewaySerialWired_15got.zip

Link do komentarza
Share on other sites

53 minuty temu, pablo_doctor napisał:

co zepsułem że stany wyjść nie są zapisywane do pamięci i po restarcie

E... a gdzie mają być zapisywane? Restart kasuje całą zawartość pamięci i ustawia wszystkie piny na INPUT.

Co do pliku w załączniku: https://forbot.pl/forum/topic/19153-program-arduino-nie-dziala-i-co-dalej/

 

  • Lubię! 2
Link do komentarza
Share on other sites

Może problem w tym że inkrementujesz piny co 1 a przekaźniki masz podłączone  22, 24, 26 ... czyli co 2

 for (int sensor=1, pin=RELAY_1; sensor<=NUMBER_OF_RELAYS;sensor++, pin++) {
        pinMode(pin, OUTPUT);   
    digitalWrite(pin, loadState(sensor)?RELAY_ON:RELAY_

  • Lubię! 1
  • Pomogłeś! 1
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

Dnia 17.12.2020 o 17:05, slawko_k napisał:

Może problem w tym że inkrementujesz piny co 1 a przekaźniki masz podłączone  22, 24, 26 ... czyli co 2

 for (int sensor=1, pin=RELAY_1; sensor<=NUMBER_OF_RELAYS;sensor++, pin++) {
        pinMode(pin, OUTPUT);   
    digitalWrite(pin, loadState(sensor)?RELAY_ON:RELAY_

poprawiłem wg Twojej rady i zmieniłem "OUT`y" dla sterowania przekaźnikami na kolejne i przy tej okazji rozwiązał się jeszcze jeden problem - w innym temacie. 

Plusik dla Ciebie. 

Problem odszedł w niepamięć a ARDU pamięta stan wyjść sprzed wyłączenia zasilania 🙂

 

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.