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:
- Arduino Uno
- Led světla
- Rezistory
- Nepájivé pole a dráty
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).