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).