Arduino v kombinaci s otočným přepínačem - kodér MOD-16

Příklad ukazuje základní činnost modulu kodéru s mikrokontrolérem Arduino.

Příklad používá následující prvky:

Spojení

Modul je napájen přímo z Arduina, takže nepotřebujeme externí zdroj napájení. Kolíky jsou připevněny podle následující tabulky:

Pin modulu Pin Arduino
+ V 5 V
GND GND
S1A 5 V
S1B 10
S2 7
S3 6

Deska navíc obsahuje LED diody připojené rezistory 220 Ω mezi piny 11 a 12 a zemí. Celé rozložení je znázorněno na obrázku níže.

Schéma připojení modulu a Arduino Uno.

Servis

Výstupy S1A a S1B jsou konektory pro tlačítko umístěné v knoflíku. Po stisknutí jsou zkratovány. Výstupy S2 a S3 na druhé straně detekují směr pohybu ručního kola doprava, respektive doleva. Když je detekován pohyb na výstupu daného pinu, objeví se vysoký stav.

V příkladu byl použit následující programový kód:

 int led1 = 11; // dioda připojená k pinu 11
int led2 = 12; // dioda připojená k pinu 12
int jas = 0; // jas led1
int fadeAmount = 5; // změnit jas při otočení knoflíku pro led1

void setup () {
  pinMode (6, VSTUP); // nastavit piny 6, 7 a 10 jako vstup
  pinMode (7, VSTUP);
  pinMode (10, VSTUP);
  pinMode (led1, VÝSTUP); // piny s LED jako výstupy
  pinMode (led1, VÝSTUP);
  
}

void loop () {
 
  analogWrite (led1, jas); // přiřadit hodnotu jasu led1
  
  pokud (jas = 255)
    jas = 255;
  if (digitalRead (6) == 1) // pokud je detekováno otočení knoflíku doprava nebo doleva, pak led1 začne zvyšovat nebo snižovat svůj jas
    {jas = jas + fadeAmount;}
  if (digitalRead (7) == 1)
    {jas = jas - fadeAmount;}
  
  if (digitalRead (10) == 1 && digitalRead (led2, HIGH)) // pokud je stisknuto tlačítko v knoflíku, led2 změní svůj stav (pokud je zapnutý, zhasne, pokud je vypnutý - to se rozsvítí)
    {digitalWrite (led2, LOW)}
  if (digitalRead (10) == 1 && digitalRead (led2, LOW))
    {digitalWrite (led2, HIGH)}
}

Stisknutím tlačítka v knoflíku dojde ke změně žluté LED (střídavě se zapíná a vypíná). Otáčením knoflíku však můžeme změnit jas červené diody (zesvětlit ji a ztlumit).

zveme vás ke spolupráci!