Witam.
Mam switch UP-down do multiefektu MIDI
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?
Dla uściślenia: chcesz zapamiętać stan kanału po odłączeniu zasilania od Arduino?
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.
niestety....zbytnim nowicjuszem jestem ,żeby to dopasować do mojego kodu...
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.
(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?
Coś tam wymyśliłem...ale działa połowicznie
https://pastebin.com/DFfwikN8
Switch UP/DOWN, +wyswietlacz 2 cyfry.
MIDI SET 0-23 co daje w realu 1-24 kanały
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
HELP