Close

Arduino základy – 3. Analog Read Serial

Schéma zapojení potenciometru s Arduinem

Tento příklad vás poučí o tom, jak číst analogový vstup z fyzického světa pomocí potenciometru. Potenciometr je v podstatě mechanické zařízení, jež při otočení osy poskytuje různé množství odporu. Průchodem napětí přes potenciometr do analogového vstupu na vašem Arduinu je možné zjistit odpor potenciometru. Ten se projeví jako různá velikost napětí na výstupu potenciometru – jedná se o analogovou hodnotu. U tohoto příkladu budete monitorovat stav potenciometru a po sériové lince si budeme naměřené hodnoty posílat do počítače.

Potřebný hardware

  • Arduino
  • 10 kΩ potenciometr

Obvod

Připojte tři vodiče od potenciometru do Arduina. První půjde od země (GND) do jednoho z krajních pinů potenciometru, druhý od 5 voltů do druhého krajního pinu potenciometru. Prostřední pin potenciometru pak připojíme na analogový vstup A0. Zkušenější elektrotechnici si už možná všimli, že je potenciometr zapojen jako dělič napětí.

Arduino a potenciometr

Zapojení potenciometru

Otočením osy potenciometru ovlivníte velikost odporu. Tímto změníte napětí u středního pinu. Jakmile je odpor mezi středem a stranou připojenou k pěti voltům blízko nule (a odpor na druhé straně je blízko 10 kΩ), napětí u středního pinu se blíží 5 voltům. Když potenciometr otočíme do druhé krajní polohy, napětí u středního pinu je blízko 0 voltům, nebo zemi. Toto je analogové napětí, jež může Arduino zpracovat jako vstup.

Arduino obsahuje obvod jménem analog-to-digital converter (ADC converter), který toto měnící se napětí převádí na čísla mezi 0 a 1023 (má tedy rozlišení 210). Když je osa zcela otočena jedním směrem, tak na pinu měříme napětí 0 voltů a hodnota vstupu je tedy 0. Je-li naopak osa otočena druhým směrem, je na pinu pinu napětí 5 voltů a hodnota vstupu je 1023. Pokud se pohybujeme někde mezi, analogRead() nám vrací číslo mezi 0 a 1023, které je úměrné napětí přivedenému na pin.

Schéma

Arduino a potenciometr - schéma

Schéma zapojení příkladu

Kód

Úkolem programu níže bude zahájit sériovou komunikaci mezi Arduinem a počítačem ve funkci setup, a to na 9600 bitech za sekundu:

Serial.begin(9600);

Nyní v hlavní smyčce vašeho kódu stanovíte proměnnou obsahující hodnotu odporu (jelikož je mezi 0 a 1023, je vhodné použít datový typ int) přicházející od vašeho potenciometru:

int sensorValue = analogRead(A0);

Nakonec musíte ještě vytisknout tuto informaci do vašeho sériového okna jako desítkovou (DEC) hodnotu. Provedete to pomocí příkazu Serial.printIn() v posledním řádku vašeho kódu:

Serial.println(sensorValue, DEC)

Když teď otevřete svůj Serial Monitor ve vývojovém prostředí Arduino (klikněte na tlačítko napravo od tlačítka „Upload“ v záhlaví programu), měli byste vidět pravidelný proud čísel od 0 do 1023, odpovídající pozici potenciometru. Jakmile potenciometr otočíte, tyto čísla budou okamžitě reagovat.

/*
    AnalogReadSerial
    Čte analogový výstup pinu 0, tiskne výsledek do sériového monitoru.
    Připojte střední pin potenciometru k pinu A0 a vnější piny k +5V a zemi.
    
    Tento příklad kódu je veřejnou doménou.
*/

// Jakmile zmáčknete reset, spustí se proces setup:
void setup(){
    // Inicializuje sériovou komunikaci na 9600 bitech za sekundu:
    Serial.begin(9600);
}

// Proces smyčky se bude neustále opakovat:
void loop(){
    // Přečtěte vstup analogového pinu 0:
    int sensorValue = analogRead(A0);
    // Vytiskněte přečtenou hodnotu:
    Serial.println(sensorValue);
    delay(1);     // Pro dosažení stability dělejte během čtení pauzy
}

Tento text je licencován licencí CreativeCommons a je přeložen ze stránky: https://arduino.cc/en/Tutorial/HomePage

Kamila Ježková

4 Comments on “Arduino základy – 3. Analog Read Serial

Mike
14.4.2017 at 5:47

Ahoj. Jen bych chtěl malinko poopravit- převodník v tomto článku je použt ADC (analog to dogital coverter), AC/DC converter je převodník střídavého proudu(AC) na stejnomerný (DC), v podststě usměrňovač. A ještě jedna drobnost-proud versus napětí – do pinu proudí proud, ne napětí. Správně by věta měla znít: Je-li naopak osa otočena druhým směrem, proudí do pinu proud o napětí 5 voltů a hodnota vstupu je 1023. Nechci prudit, ale u článků pro začátečníky, tzn. vzdělávacích je potřeba, alespoň dle mého názoru, používat správný terminus technicus. Ale jinak dobrý:-)

Zbyšek Voda
20.4.2017 at 12:49

Dobrý den, máte pravdu. Díky za opravy. Při kontrole jsem si toho nevšiml.
To s napětím na pinech jsem ještě trochu upravil. Myslím, že to tak je ještě srozumitelnější.
Děkuji za poznámky.

Milan Keršláger
15.9.2016 at 22:53

V článku je špatně první obrázek (i obrázek prezentovaný v přehledu článků) – patří k blikající diodě. Obrázek „Schéma“ je už dobře.

Zbyšek Voda
16.9.2016 at 9:19

Napsat komentář