Arduino-kode en video vir 'n spanningsensor-module
In hierdie tutoriaal gaan ons ondersoek hoe om 'n spanningsensor-module met 'n Arduino te gebruik. Hierdie projek laat jou toe om insetspanning te meet en dit op die reeksmonitor te vertoon, wat die proses vereenvoudig in vergelyking met die gebruik van bykomende resistors. Aan die einde van hierdie tutoriaal sal jy 'n funksionele opstelling hê wat spanningsvlakke akkuraat lees.

Soos jy volg, sal jy insigte kry in beide die hardeware-verbindings en die kode wat nodig is vir hierdie projek. Jy kan na die gepaardgaande video verwys by (in video by 00:00) vir verdere verduideliking van elke stap.
Kyk hoe resistor en spanning bereken word hier.
Hardeware Verduidelik
Die hoofkomponent van hierdie projek is die spanningsensor-module. Dit beskik tipies oor drie terminale: een vir die sein-uitset, een vir die grond, en een vir die positiewe spanning-inset. Die seinpen verbind aan die Arduino se analoog-inset, wat dit toelaat om spanningsvlakke te lees. Die module gebruik 'n spanningsverdeler-kring, wat uit twee resistors bestaan, om die spanning af te skaal na 'n veilige vlak vir die Arduino.
Wanneer spanning gemeet word, is dit krities om die grondterminaal van die sensor aan die grond van die spanningsbron wat gemeet word te verbind. Die positiewe terminaal verbind aan die punt van belang, wat akkurate lesings verseker. Hierdie eenvoudige opstelling skakel die behoefte aan bykomende bedrading en komponente uit, wat dit gebruikersvriendelik maak.
Datablad Besonderhede
| Vervaardiger | Generies |
|---|---|
| Deelnommer | Spanningsensor-module |
| Logika/IO-spanning | 5 V |
| Toevoerspanning | 0–25 V |
| Insetspanningreeks | 0–25 V |
| Uitsetspanningreeks | 0–5 V |
| Insetstroom | ≤ 20 mA |
| Pakket | Module |
| Notas / variante | Kan verskil per vervaardiger |
- Verseker korrekte bedrading om skade aan die Arduino of sensor te vermy.
- Gebruik 'n stabiele kragtoevoer om akkurate lesings te verseker.
- Pas die afwykingswaarde in die kode aan vir kalibrasie.
- Hou die insetspanning binne gespesifiseerde perke om skade te voorkom.
- Vir hoër spanningsmetings, gebruik toepaslike resistors as 'n spanningsverdeler.
Bedradingsinstruksies

Om die spanningsensor-module te bedraad, begin deur die grondterminaal van die module aan die grond van die spanningsbron wat jy meet te verbind. Verbind volgende die sein-terminaal, gemerk as S, aan die Arduino se analoogpen A0. Verbind laastens die positiewe terminaal aan die spanningspunt wat jy wil meet. Die negatiewe terminaal moet ook aan die grond verbind word om die kring te voltooi.
Dit is noodsaaklik om te verseker dat die grondverbindings konsekwent is tussen die spanningsbron en die Arduino. Dit sal help om akkurate spanningslesings te verkry. As jy spannings hoër as 25 volt moet meet, mag bykomende resistors nodig wees om 'n spanningsverdeler te vorm, maar vir die meeste toepassings sal die basiese opstelling voldoende wees.
Kode Voorbeelde & Deurloop
Die kode begin deur 'n heelgetalveranderlike genaamd offset te definieer, wat gebruik word om enige teenstrydighede in die spanningslesing reg te stel. Die opstellingsfunksie initialiseer die reekskommunikasie teen 'n baud-tempo van 9600, wat noodsaaklik is om die spanningslesings op die reeksmonitor te vertoon.
int offset = 20; // stel die korreksie-afwykingswaarde
void setup() {
Serial.begin(9600); // Initialiseer reekskommunikasie
}
In die lusfunksie lees die kode die analoogspanning van pen A0 en karteer die waarde van die reeks 0 tot 1023 na 'n spanningsreeks van 0 tot 2500, en voeg die offset by. Dit deel dan die spanning deur 100 om die toepaslike desimale voorstelling te kry.
void loop() {
int volt = analogRead(A0); // lees die inset
double voltage = map(volt, 0, 1023, 0, 2500) + offset; // karteer en voeg afwyking by
voltage /= 100; // deel deur 100 om die desimale waardes te kry
Serial.print("Spanning: ");
Serial.print(voltage); // druk die spanning
Serial.println("V");
delay(500); // Vertraging vir 'n halwe sekonde
}
Hierdie lus lees voortdurend die spanning en druk dit elke halwe sekonde na die reeksmonitor. Jy kan die vertragingswaarde aanpas om die frekwensie van lesings te verander soos nodig.
Demonstrasie / Wat om te Verwag
Tydens die demonstrasie sal jy sien dat die maksimum meetbare spanning 25 volt is as gevolg van die ontwerp van die module. As jy probeer om hoër spannings te meet, sal die lesings versadig by 25 volt plus enige afwyking wat jy gekonfigureer het (in video by 08:00). Die lesings behoort redelik akkuraat te wees, en jy kan dit teen 'n multimeter verifieer vir kalibrasiedoeleindes.
/*
* This is the Arduino code for a Voltage Sensor.
* You will measure voltage using this module, which eliminates the need for extra resistors.
* In the video, you will also learn how to measure any voltages.
* Watch the video instruction for Arduino Voltage sensor: https://youtu.be/FaoKzi7tgME
* *
* Permission granted to share this code, given that this
* note is kept with the code.
* Disclaimer: This code is "AS IS" and for educational purposes only.
*
*/
/*
* Written by Ahmad Shamshiri for Robojax
* on Feb 07, 2018 at 20:05, Ajax, Ontario, Canada
*/
int offset =20;// set the correction offset value
void setup() {
// Robojax.com voltage sensor
Serial.begin(9600);
}
void loop() {
// Robojax.com voltage sensor
int volt = analogRead(A0);// read the input
double voltage = map(volt,0,1023, 0, 2500) + offset;// map 0-1023 to 0-2500 and add correction offset
voltage /=100;// divide by 100 to get the decimal values
Serial.print("Voltage: ");
Serial.print(voltage);//print the voltage
Serial.println("V");
delay(500);
}
Goedere wat jy dalk nodig het
-
Amazon
-
eBay
-
AliExpressPurchase Arduino voltage sensor from AliExpresss.click.aliexpress.com
Hulpbronne en verwysings
-
BuitenburgDocument shows how the resistor was calculated.docs.google.com
Lêers📁
Skeematies
-
Arduino Voltage Sensor Schematic wiring
Arduino Voltage Sensor Schematic wiring.png0.13 MB
Fritzing-lêer
-
Voltage Sensor-25V- module
Voltage-Sensor-25V-improved.fzpz0.01 MB -
HC-SR501 Body Sensor Module
HC-SR501 Body Sensor Module.fzpz0.01 MB -
Voltage Sensor 25V ImprovedFritzing part file for a 25V voltage sensor module. This module allows an Arduino or ESP32 to measure DC voltages up to 25V by scaling the input to a safe level for analog pins.
Voltage-Senso-25V-improved.fzpz0.01 MB