Jak vyrobit digitální voltmetr pomocí Arduino
od Harshita Arora
minulou neděli, když jsem vysvětloval základy elektroniky a Arduina mému spolubydlícímu, vyzvala mě, abych pochopil, jak funguje voltmetr a postavil ho od nuly jen pomocí věcí, které již vlastním. Přijal jsem výzvu, začal hackovat, kódování, testování, překódování, a opětovné testování, a nakonec jsem měl svůj voltmetr připraven a pracovat do večeře!
použil jsem Arduino Uno (pro sběr napětí v analogovém a napájení LCD), malou LCD obrazovku, kterou jsem dostal do své startovací sady Arduino (pro zobrazení napětí), prkénko (pro připojení všeho) a propojovací vodiče.
pokud hledáte snadný projekt pro výuku elektroniky, pak bude digitální voltmetr zábavný. Pojďme začít!
elektrický obvod
Krok 1
vezměte prkénko (použil jsem malý s 30 řádky) a připojte k němu LCD obrazovku. Poté pomocí drátu připojte jeden vodič z kolíku GND (zemní stav) na Arduinu k zápornému náboji na prkénku a jeden vodič z kolíku 5V k kladnému náboji. To poskytuje elektrický proud do sloupců na prkénku, které nyní můžeme připojit k LCD.
Krok 2
nyní připojíme kolíky na LCD k prkénku, abychom k němu mohli dostat proud. Připojte Pin 1 LCD k zápornému náboji, Pin 2 k kladnému náboji, Pin 3 k zápornému náboji, Pin 5 k zápornému náboji, Pin 15 k kladnému náboji a Pin 16 k zápornému náboji. Připojte Arduino k testování a zjistěte, zda se LCD zapne!
Krok 3
připojme LCD k Arduinu, abychom mohli na LCD displeji zobrazit napětí (které shromáždíme z analogového kolíku). Připojte kolíky 4, 6, 11, 12, 13, a 14 LCD na jakýkoli digitální pin na Arduino (například Pin 2). Poté vložte drát do GND a další do analogového kolíku, jako je A5. Tyto dva dráty jsou nyní vaše sonda vede.
nyní jsme hotovi s elektronikou / hardwarem. Pojďme k kódu.
kód
kód je velmi jednoduchý. Chceme jen shromáždit analogový signál, který Arduino přijímá na Pin A5 (nebo jakýkoli jiný analogový pin) a převést jej na digitální. Výsledky pak chceme zobrazit na LCD obrazovce.
Toto je kód, který můžete kopírovat a vložit.
#include <LiquidCrystal.h> int Vpin=A5;float voltage;float volts;LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {Serial.begin(9600);lcd.begin(16,2);}
void loop() {
voltage = analogRead(Vpin); volts = voltage/1023*5.0; Serial.println(volts);lcd.print("voltage = ");lcd.print(volts);delay(200);lcd.clear();}
co se to tu děje?
takže nejprve importujeme knihovnu LCD a poté vytvoříme proměnnou s názvem Vpin (což bude napětí shromážděné z A5). Dále vytvoříme další dvě proměnné pro napětí a pak proměnnou typu LiquidCrystal. Nakonec provedeme nastavení pomocí sériového monitoru (což je v Arduinu opravdu užitečný nástroj! Podobně jako debug konzole), převést analogové napětí na digitální napětí a vytisknout (zobrazit) tuto hodnotu na LCD obrazovku.
a je to! Jděte a vyzkoušejte různé baterie a body! Zde jsou fotky z některých testů, které jsem udělal:
pokud chcete, aby bylo čtení na LCD čitelnější, vložte do cesty k Pin 3 odpor 1k ohm (což je pro nastavení kontrastu). Omezením elektrického proudu proudícího na tento kolík zlepšíte kontrast obrazovky.
Důležitá poznámka: V tomto voltmetru bude jakékoli napětí, které testujete, jít jako přímý vstup do Arduina, takže byste měli testovat pouze věci, které jsou v rozsahu voltů, které Arduino bezpečně zvládne (0-5V). Testování s 9V baterií smaží vaše Arduino.
díky tomuto video tutoriálu, který mi pomohl zjistit elektrický obvod. Zvláštní poděkování patří mým přátelům Nick Arner a Johnny Wang za pomoc mi opravit věci. A díky Lauře Demingové za výzvu! 🙂
další články a návody na elektroniku / hardware a rozhraní mozku a počítače na cestě! : D
pokud máte zpětnou vazbu ke sdílení, neváhejte a napište mi na [email protected], těším se na slyšení od vás!