• 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
Zapamietywanie stanu switcha
#1
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?
 
Odpowiedź
#2
Dla uściślenia: chcesz zapamiętać stan kanału po odłączeniu zasilania od Arduino?
 
Odpowiedź
#3
(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
 
Odpowiedź
#4
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.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#5
niestety....zbytnim nowicjuszem jestem ,żeby to dopasować do mojego kodu... Sad
 
Odpowiedź
#6
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.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#7
(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
 
Odpowiedź
#8
Nikt nic......? Sad
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości