januar 1, 2022

Sådan laver du et digitalt voltmeter ved hjælp af Arduino

af Harshita Arora

sidste søndag, mens jeg forklarede det grundlæggende i elektronik og Arduino til min værelseskammerat, udfordrede hun mig til at forstå, hvordan et voltmeter fungerer og bygge et fra bunden bare ved hjælp af de ting, jeg allerede ejer. Jeg accepterede udfordringen, begyndte at hacke, kodning, test, omkodning, og re-test, og til sidst havde jeg mit voltmeter klar og arbejdede ved middagstid!

jeg brugte Arduino Uno (til at samle spænding i analog og til at drive LCD ‘ et), en lille LCD-skærm, som jeg fik i mit Arduino-startpakke (for at vise spændingen), et brødbræt (for at forbinde alt) og jumperledninger.

hvis du leder efter et let projekt til at lære elektronik, vil det være sjovt at lave et digitalt voltmeter. Lad os komme i gang!

det elektriske kredsløb

Trin 1

Tag et brødbræt (jeg brugte en lille med 30 rækker) og tilslut en LCD-skærm til den. Brug derefter en ledning til at forbinde en ledning fra GND-stiften (jordtilstand) på Arduino til den negative ladning på brødbræt og en ledning fra 5V-stiften til den positive ladning. Dette giver elektrisk strøm til kolonnerne på brødbrættet, som vi nu kan oprette forbindelse til LCD ‘ et.

dette er den grundlæggende opsætning efter Trin 1.

Trin 2

nu forbinder vi stifterne på LCD ‘ et til brødbrættet, så vi kan få strøm til det. Tilslut Pin 1 på LCD ‘ et til en negativ ladning, Pin 2 til en positiv ladning, Pin 3 til en negativ ladning, Pin 5 til en negativ ladning, Pin 15 til en positiv ladning og Pin 16 til en negativ ladning. Tilslut din Arduino for at teste og se, om LCD ‘ et tændes!

LCD-skærmen lyser!

Trin 3

lad os forbinde LCD ‘et til Arduino, så vi kan vise spændingen (som vi samler fra en analog pin) på LCD’ et. Tilslut stifter 4, 6, 11, 12, 13, og 14 af LCD ‘ et til enhver digital pin på Arduino (for eksempel Pin 2). Sæt derefter en ledning i GND og en anden i en analog pin, som A5. De to ledninger er nu din sonde fører.

færdig elektrisk kredsløb!

vi er nu færdige med elektronik/isenkram. Lad os gå videre til koden.

koden

koden er ret simpel. Vi vil bare indsamle det analoge signal, som Arduino modtager ved Pin A5 (eller en hvilken som helst anden analog pin) og konvertere den til digital. Vi vil derefter vise resultaterne på LCD-skærmen.

dette er den kode, du kan kopiere-indsætte.

#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();}

Hvad foregår der her?

så vi importerer først LCD-biblioteket og opretter derefter en variabel med navnet Vpin (som vil være spændingen indsamlet fra A5). Dernæst opretter vi to variabler for spændingen, og derefter en variabel af typen væskekrystal. Endelig opsætter vi med Serial monitor (som er et virkelig nyttigt værktøj i Arduino! Ligesom debug konsol), konvertere den analoge spænding til digital spænding, og udskrive (display) denne værdi til LCD-skærmen.

og det er det! Gå ud og teste forskellige batterier og punkter! Her er billeder fra nogle tests, jeg gjorde:

neutrale ledninger.
test af et 1,5 V AA-batteri.

hvis du også vil gøre læsningen på LCD ‘ et mere læselig, skal du sætte en 1k ohm modstand i stien til Pin 3 (som er til kontrastjusteringer). Ved at begrænse den elektriske strøm, der strømmer til den pin, forbedrer du skærmens kontrast.

også vigtig note: I dette voltmeter vil den spænding, du tester, gå som en direkte indgang til Arduino, så du bør kun teste ting, der ligger i området volt, som Arduino sikkert kan håndtere (0–5v). Test med et 9V batteri vil stege din Arduino.

takket være denne video tutorial for at hjælpe mig finde ud af det elektriske kredsløb. Særlig tak til mine venner Nick Arner og Johnny Vang for at hjælpe mig med at ordne ting. Og tak til Laura Deming for udfordringen! 🙂

Flere artikler og tutorials om elektronik/udstyr og hjerne-computer grænseflader på vej! : D

hvis du har feedback til at dele, er du velkommen til at kontakte mig på [email protected]. jeg ser frem til at høre fra dig!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.