Arduino Polska Forum
Zapamietywanie stanu switcha - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: Zapamietywanie stanu switcha (/watek-zapamietywanie-stanu-switcha)



Zapamietywanie stanu switcha - beepoo - 03-11-2017

Witam.

Mam switch UP-down do multiefektu MIDI Smile
24 kanały, przerzucane dwoma nożnymi switchami.
Chciałbym aby po rozłączeniu i ponownym podłączeniu zasilacza do switcha pamiętał od jakiego kanału startować..tzn ana którym skończył.

Ma ktoś jakieś pomysły?


RE: Zapamietywanie stanu switcha - krn78 - 03-11-2017

Dla uściślenia: chcesz zapamiętać stan kanału po odłączeniu zasilania od Arduino?


RE: Zapamietywanie stanu switcha - beepoo - 04-11-2017

(03-11-2017, 12:01)krn78 napisał(a): Dla uściślenia: chcesz zapamiętać stan kanału po odłączeniu zasilania od Arduino?

Tak Wink


RE: Zapamietywanie stanu switcha - Robson Kerman - 04-11-2017

Dodaj sobie bibliotekę EEPROM.

#include <EEPROM.h>

W miejscu zmiany kanału, trzeba napisać kawałek kodu, który będzie zapisywał tą zmianę do pamięci.
Na przykład tak:


Kod:
      if(zmiana kanału){
           Nr_K1 = ((Nr_K/10)%10);
           Nr_K2 = ((Nr_K/1)%10);
           EEPROM.write(0,Nr_K1);
           EEPROM.write(1,Nr_K2);
           }
         }

Gdzie:
Nr_K, to zmienna przechowująca numer kanału.
Nr_K1 i Nr_K2, to zmienne przechowujące pierwszą i drugą cyfrę liczby Nr_K. 
Do eeprom zapisujemy pojedyncze bity. Bit pierwszy przechowuje część dziesiętną, a drugi jedności.

W miejscu gdzie inicjujesz zmienną z numerem kanału, możesz przypisać jej wartość odczytaną z pamięci.
Odczyt z eeprom może wyglądać tak:

Kod:
 Nr_K = ((EEPROM.read(0))*10)+EEPROM.read(1);
Czytamy pierwszy bit, a że jest to część dziesiętna, to mnożymy go przez dziesięć i dodajemy jedności odczytane z bitu drugiego.


RE: Zapamietywanie stanu switcha - beepoo - 05-11-2017

niestety....zbytnim nowicjuszem jestem ,żeby to dopasować do mojego kodu... Sad


RE: Zapamietywanie stanu switcha - Robson Kerman - 06-11-2017

Wrzuć tu, co już napisałeś, to Ci pomogę.
Tylko pamiętaj o komentarzach, bo nie chce mi się odgadywać która zmienna do czego służy.


RE: Zapamietywanie stanu switcha - beepoo - 08-01-2018

(03-11-2017, 12:01)krn78 napisał(a): Dla uściślenia: chcesz zapamiętać stan kanału po odłączeniu zasilania od Arduino?

Hej znasz się co nie co na EEPROM-ie? Wink
Coś tam wymyśliłem...ale działa połowicznie Wink


https://pastebin.com/DFfwikN8

Switch UP/DOWN, +wyswietlacz 2 cyfry.

MIDI SET 0-23 co daje w realu 1-24 kanałyWink



Na kanale 1-szym po wył/wł. wyświetla 25...a na 24 po wył./wł wyświetla ....99...
Na innych kanałach zapisuje i włącza się na tym kanale Wink
HELPWink


RE: Zapamietywanie stanu switcha - beepoo - 27-03-2018

Nikt nic......? Sad