Lekce 14

Voltmetr

Čtrnáctá lekce Arduino kurzu pro začátečníky: postavíte si jednoduchý voltmetr s I²C LCD displejem a potenciometrem. Ukážeme si zapojení, čtení analogového vstupu funkcí analogRead i kód do Arduino IDE – otáčením potenciometru měníte napětí a jeho hodnota se rovnou zobrazuje na displeji ve voltech.

🧩Co budeš potřebovat
Arduino USB kabel Potenciometr I²C LCD displej 1602 Breadboard Propojovací vodiče
🔌Zapojení
Schéma zapojení Arduino – voltmetr s I2C LCD displejem a potenciometrem na pinu A0

Popisek obrázku: potenciometr má krajní nožičky na 5 V a GND, prostřední (běžec) vede na analogový vstup A0. I²C LCD displej připojíte čtyřmi vodiči – GND, VCC na 5 V, SDA na A4 a SCL na A5.

🔗Připojení pinů
KomponentaArduino UnoArduino Mega
Potenciometr (krajní nožičky)5V a GND5V a GND
Potenciometr (běžec, prostřední)A0A0
LCD – GNDGNDGND
LCD – VCC5V5V
LCD – SDAA420
LCD – SCLA521
💡Jak to funguje

Potenciometr funguje jako dělič napětí – otáčením jeho běžce nastavujete napětí mezi 0 a 5 V. Arduino ale rozumí jen číslům, takže analogový signál převede svým 10bitovým ADC (analogově-digitálním převodníkem) na hodnotu 0 – 1023. Tu pak v kódu přepočítáme zpět na volty vzorcem val / 1024 * 5.0 a výsledek pošleme na I²C LCD displej. Otočíte knoflíkem a číslo na displeji se hned změní.

Postup
  1. Sestavte obvod podle schématu a tabulky výše – potenciometr s běžcem na A0 a I²C LCD na SDA/SCL.
  2. Do Arduino IDE doinstalujte knihovnu LiquidCrystal_I2C (postup je v lekci 6).
  3. Zkopírujte kód, zkompilujte ho, nahrajte do Arduina a otáčením potenciometru sledujte napětí na displeji.
</>Kód
lekce14_voltmetr.ino
// Voltmetr
// Nastavte potenciometr a uvidíte, že se napětí na displeji I2C LCD1602 změnilo.
// Email: podpora@laskakit.cz · Web: laskakit.cz

// připoj knihovny
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// adresa displeje 0x27 pro 1602
LiquidCrystal_I2C lcd(0x27, 16, 2);
float val = 0;
int volt = A0;                    // pin pro měření napětí

void setup() {
  Serial.begin(9600);            // spustit sériový monitor na 9600 Bd
  lcd.init();                      // inicializace LCD
  lcd.backlight();                 // zapnout podsvícení
  lcd.setCursor(5, 0);             // kurzor na sloupec 5, řádek 0
  lcd.print("Napeti:");            // vypsat "Napeti:" na displej
}

void loop() {
  val = analogRead(volt);          // přečíst hodnotu z pinu A0
  val = val / 1024 * 5.0;          // převést na napětí ve voltech
  Serial.print(val);              // vypsat napětí do sériového monitoru
  Serial.println("V");             // vypsat "V" a přejít na nový řádek
  lcd.setCursor(6, 1);             // kurzor na sloupec 6, řádek 1
  lcd.print(val);                 // zobrazit napětí na LCD
  lcd.print("V");                 // zobrazit "V" na LCD
  delay(300);                     // počkat 300 ms
}
Výsledek
💡
Po nahrání uvidíte na displeji nápis Napeti: a pod ním aktuální hodnotu ve voltech. Když otočíte potenciometrem, číslo se plynule mění mezi 0 a 5 V. Stejná hodnota se přitom vypisuje i do sériového monitoru. Máte hotový vlastní digitální voltmetr!
Časté chyby
?Kontrolní otázka

QCo v Arduinu převádí analogové napětí na číslo?