Close

TinyLab: Potenciometr

Potenciometr na Arduino desce TinyLab

V minulém dílu jsme si ukázali, co všechno deska TinyLab umí a jaké součástky na ní nalezneme. V dalších dílech si postupně jednotlivé součástky představíme. Dnes se budeme zabývat potenciometrem.

Trocha teorie

Potenciometr je součástka, kterou je možné použít jako regulovatelný napěťový dělič. Co to znamená? Nepůjdeme moc do hloubky a budeme se zabývat hlavně důsledkem, který je pro nás nejdůležitější.

Autor: Iainf – Fotografie je vlastním dílem, CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=1407612

Autor: Iainf – Fotografie je vlastním dílem, CC BY 2.5, https://commons.wikimedia.org/w/index.php?curid=1407612

Na jednu krajní nožičku zapojíme zemi (GND), na druhou plus (v našem případě +5V) a čteme napětí na prostřední nožičce. To se může pohybovat mezi 0V a 5V v závislosti na otočení prostředního kolíku. Jako snad všechny elektrotechnické součástky, i potenciometr má vlastní schématickou značku. Nejčastěji se setkáme se dvěma typy značení, které se liší podle použité normy schématických značek.

Schématické značky potenciometru. Zdroj: https://startingelectronics.org/beginners/components/potentiometer/

Schématické značky potenciometru. Zdroj: https://startingelectronics.org/beginners/components/potentiometer/

Potenciometr na TinyLab

Na desce TinyLab naleznete potenciometr v pravém dolním rohu a je připojený na analogovém pinu A0.

Potenciometr na Arduino desce TinyLab

Potenciometr

Jednotlivé součástky se k hlavnímu čipu připojují řadou přepínačů kolem pinů na desce Leonardo. Přepneme si proto přepínač označený číslem 6 na levé straně desky Leonardo. Ten připojuje právě analogový pin A0.

Zapnutí analogového pinu A0 na desce TinyLab

Zapnutí analogového pinu A0 na desce TinyLab

Posílání naměřených hodnot z potenciometru

V tomto příkladu si necháme každých 10ms posílat hodnotu z potenciometru. Když si v nabídce Tools (Nástroje) otevřeme Serial Monitor (Sériový monitor), bude nám závratnou rychlostí vypisovat čísla. Pokud vypisuje nesmyslné hodnoty, zkontrolujte, že máte v pravém dolním rohu monitoru vybranou správnou rychlost – v našem případě 9600.

Vypisování hodnot je zajímavé, zajímavější je ale si otevřít ve stejné nabídce Serial Plotter (Sériový plotter), který přijaté hodnoty zobrazí do grafu.

void setup() {
 // zahájíme sériovou komunikaci s rychlostí 9600
 Serial.begin(9600);
}
void loop() {
 // přečteme hodnotu z analogového pinu A0 a uložíme ji do proměnné s názvem hodnota
 int hodnota = analogRead(A0); 
 // odešleme naměřenou hodnotu po sériové lince
 Serial.println(hodnota); 
 // počkáme 10 milisekund před dalším opakováním
 delay(10);
}

Změna rychlosti blikání LED

Ještě si dnes vyzkoušíme jiný příklad, ve kterém budeme pomocí potenciometru měnit rychlost blikání LED na pinu 13. Pokud si nepamatujete, jak se LEDkou bliká, podívejte se na závěr minulého článku.

byte ledPin = 13;
void setup() {
 // nastavíme pin 13 jako výstup
 pinMode(ledPin, OUTPUT);
}
void loop() {
 int hodnota = analogRead(A0);
 
 digitalWrite(ledPin, HIGH); // zapneme LED
 delay(hodnota); // počkáme tolik ms, kolik je měřená hodnota
 digitalWrite(ledPin, LOW); // vypneme LED
 delay(hodnota); // opět čekáme
}

Když nyní budeme otáčet potenciometrem, bude se měnit rychlost blikání LED.

To by bylo pro dnešek vše. Další v řadě komponent si představíme v příštím dílu.

Zbyšek Voda

Zbyšek Voda

Už nějaký čas se zajímám o věci kolem Internetu věcí a otevřeného hardware a software. Tak jsem se také v roce 2010 dostal k Arduinu, pro které dodnes programuji a taky píšu články o práci s ním. Baví mě vymýšlet, jak staré věci používat novým způsobem.
Zbyšek Voda

Napsat komentář