Lekce 25
Voltmetr

Serial Monitor - ikona

Úvod

Když již zvládáme načítání analogových vstupů modulu Arduino a nyní jsme si osvojili ovládání LCD displeje, můžeme si kupříkladu vytvořit digitální voltmetr s rozsahem 0–5 V. Proměnné vstupní napětí budeme simulovat připojeným potenciometrem.

Použité komponenty

  • modul Arduino
  • USB kabel
  • potenciometr 50 kΩ
  • LCD displej s I²C převodníkem
  • nepájivé pole
  • vodiče pro nepájivé pole + vodiče typu „samec-samice“

Princip

V tomto experimentu využijeme potenciometr k dělení napětí. Výhodou modulu Arduino je, že neumí číst pouze digitální signály, ale umí načítat i analogový signál na výstupu jezdce potenciometru. Na analogových vstupech, které jsou osazeny 10-bitovými analogově-digitálním převodníkem (ADC), dokáže převést tento analogový signál na číselnou podobu. Po přepočítání vstupní hodnoty z rozsahu 0–1023 na interval 0–5 V je získaná hodnota vstupního napětí zobrazena na LCD displeji.


Postup experimentu

Krok 1: Sestavíme si obvod podle následujícího obrázku nebo schématu. Spojení mezi displejem I²C LCD1602 a modulem Arduino znázorňuje následující tabulka.

Blokové schéma

Blokove schema

Elektronické schéma

Elektronicke schema
I²C LCD1602 modul Arduino
UNO Mega
SDA A4 20
SCL A5 21
UCC 5V 5V
GND GND GND

Krok 2: V prostředí mBlock vytvoříme následující program. Při tvorbě programu je třeba znát adresu použitého I²C LCD displeje, neboť u každého příkazů pro LCD je třeba nastavit aktuální adresu. (viz rozbalovací pole „adr.“).


ikona vysvetleni Vysvětlení kódu

V počáteční části programu nastavíme parametry použitého LCD, jako jsou jeho rozměry (sloupce, řádky) a zapnutí podsvícení. Je třeba se zaměřit na správné nastavení adresy použitého I²C převodníku! Před spuštění hlavní nekonečné smyčky „opakuj stále“ je ještě na střed první řádky vypsán text „Napeti:“. Hlavní nekonečná smyčka pak již pracuje jen s druhou řádkou displeje. Nejdříve je načtena analogová hodnota napětí na vstupním pinu A0, pak je přepočtena ze vstupního rozmezí 0–1023 na interval 0–5. Tím získáme hodnotu vstupního elektrického napětí. Tato hodnota je uložena do proměnné hod. Následuje výpis této hodnoty na druhý řádek LCD. Jelikož při konverzi reálného čísla (hodnota napětí) na text, který bude na LCD vypsán, je číslo vždy uvedeno s dvěma desetinnými místy, není třeba řešit různou délku výstupního řetězce na displeji. Displej tedy není třeba mazat, neboť hodnoty se přepisují a díky stejné délce vypsaných textů se nemůže stát, že by na daném řádku LCD zbyly znaky z předešlého delšího textu.


Krok 3: Zkompilujeme kód a nahrajeme do modulu Arduino tlačítkem tlacitko nahrat.

Krok 4: Při otáčení potenciometrem můžeme na LCD displeji vidět velikost naměřeného elektrického napětí na pinu A0 modulu Arduino.

POZNÁMKA:
Programový kód obsahuje i zobrazení naměřeného napětí na sériový monitor (světle zelený příkazový blok). Pro sledování výstupu na sériovém portu, je třeba modul Arduino odpojit od prostředí mBlock a naopak připojit k aplikaci Serial Monitor (viz dále). Pokud výstup na sériový port nepotřebujeme, neboť se naměřené napětí zobrazuje na LCD displeji, lze daný příkazový blok zcela vynechat.
Pohled na experiment

Pokud chceme výpisy na sériový port sledovat, je třeba modul Arduino odpojit od prostředí mBlock a připojit k aplikaci Serial Monitor.

Krok 5: Nyní modul Arduino odpojíme od prostředí mBlock pomocí tlačítkem tlacitko odpojit. USB kabel modulu Arduino ale od počítače neodpojujeme!

Krok 6: Spustíme na počítači aplikaci Serial Monitor. V Serial Monitoru vybereme port, na které je náš modul Arduino (např. COM5) připojen a nastavíme komunikační rychlost na hodnotu 115200 baudů. Na závěr se tlačítkem „Connect“ připojíme k modulu Arduino. Objeví se okno sériového monitoru, ve kterém budou vypisovány výstupní hodnoty naměřeného elektrického napětí.