વોલ્ટેજ સેન્સર મોડ્યુલ માટે આર્ડુઇનો કોડ અને વિડિઓ
આ ટ્યુટોરિયલમાં, આપણે Arduino સાથે વોલ્ટેજ સેન્સર મોડ્યુલનો ઉપયોગ કેવી રીતે કરવો તે શોધીશું. આ પ્રોજેક્ટ તમને ઇનપુટ વોલ્ટેજ માપવા અને તેને સીરિયલ મોનિટર પર દર્શાવવાની મંજૂરી આપે છે, જે વધારાના રેઝિસ્ટરનો ઉપયોગ કરવાની સરખામણીમાં પ્રક્રિયાને સરળ બનાવે છે. આ ટ્યુટોરિયલના અંત સુધીમાં, તમારી પાસે એક કાર્યક્ષમ સેટઅપ હશે જે વોલ્ટેજ સ્તરોને ચોક્કસ રીતે વાંચે છે.

જેમ તમે અનુસરો છો, તેમ તમને આ પ્રોજેક્ટ માટે જરૂરી હાર્ડવેર જોડાણો અને કોડ બંનેની સમજ મળશે. દરેક પગલાની વધુ સ્પષ્ટતા માટે તમે સંકળાયેલ વિડિઓ (વિડિઓમાં 00:00 પર) નો સંદર્ભ લઈ શકો છો.
રેઝિસ્ટર અને વોલ્ટેજની ગણતરી કેવી રીતે થાય છે તે જુઓ અહીં.
હાર્ડવેર સમજાવ્યું
આ પ્રોજેક્ટનો મુખ્ય ઘટક વોલ્ટેજ સેન્સર મોડ્યુલ છે. તેમાં સામાન્ય રીતે ત્રણ ટર્મિનલ હોય છે: એક સિગ્નલ આઉટપુટ માટે, એક ગ્રાઉન્ડ માટે, અને એક પોઝિટિવ વોલ્ટેજ ઇનપુટ માટે. સિગ્નલ પિન Arduino ના એનાલોગ ઇનપુટ સાથે જોડાય છે, જે તેને વોલ્ટેજ સ્તરો વાંચવાની મંજૂરી આપે છે. મોડ્યુલ બે રેઝિસ્ટર ધરાવતા વોલ્ટેજ ડિવાઇડર સર્કિટનો ઉપયોગ કરે છે, જે વોલ્ટેજને Arduino માટે સલામત સ્તર સુધી ઘટાડે છે.
વોલ્ટેજ માપતી વખતે, સેન્સરના ગ્રાઉન્ડ ટર્મિનલને માપવામાં આવતા વોલ્ટેજ સ્ત્રોતના ગ્રાઉન્ડ સાથે જોડવું મહત્વપૂર્ણ છે. પોઝિટિવ ટર્મિનલ રસના બિંદુ સાથે જોડાય છે, જે ચોક્કસ રીડિંગ્સ સુનિશ્ચિત કરે છે. આ સરળ સેટઅપ વધારાના વાયરિંગ અને ઘટકોની જરૂરિયાત દૂર કરે છે, જે તેને વપરાશકર્તા-મૈત્રીપૂર્ણ બનાવે છે.
ડેટાશીટ વિગતો
| ઉત્પાદક | જેનેરિક |
|---|---|
| ભાગ નંબર | વોલ્ટેજ સેન્સર મોડ્યુલ |
| લોજિક/IO વોલ્ટેજ | 5 V |
| સપ્લાય વોલ્ટેજ | 0–25 V |
| ઇનપુટ વોલ્ટેજ રેન્જ | 0–25 V |
| આઉટપુટ વોલ્ટેજ રેન્જ | 0–5 V |
| ઇનપુટ કરંટ | ≤ 20 mA |
| પેકેજ | મોડ્યુલ |
| નોંધ / વેરિઅન્ટ્સ | ઉત્પાદક દ્વારા બદલાઈ શકે છે |
- Arduino અથવા સેન્સરને નુકસાન ટાળવા માટે યોગ્ય વાયરિંગ સુનિશ્ચિત કરો.
- ચોક્કસ રીડિંગ્સ સુનિશ્ચિત કરવા માટે સ્થિર પાવર સપ્લાયનો ઉપયોગ કરો.
- કેલિબ્રેશન માટે કોડમાં ઓફસેટ મૂલ્ય ગોઠવો.
- નુકસાન અટકાવવા માટે ઇનપુટ વોલ્ટેજને નિર્દિષ્ટ મર્યાદામાં રાખો.
- ઉચ્ચ વોલ્ટેજ માપન માટે, વોલ્ટેજ ડિવાઇડર તરીકે યોગ્ય રેઝિસ્ટરનો ઉપયોગ કરો.
વાયરિંગ સૂચનાઓ

વોલ્ટેજ સેન્સર મોડ્યુલને વાયર કરવા માટે, મોડ્યુલના ગ્રાઉન્ડ ટર્મિનલને તમે માપી રહ્યા છો તે વોલ્ટેજ સ્ત્રોતના ગ્રાઉન્ડ સાથે જોડીને શરૂ કરો. આગળ, S તરીકે લેબલ થયેલ સિગ્નલ ટર્મિનલને Arduino ના એનાલોગ પિન A0 સાથે જોડો. છેલ્લે, પોઝિટિવ ટર્મિનલને તમે માપવા માંગતા વોલ્ટેજ બિંદુ સાથે જોડો. સર્કિટ પૂર્ણ કરવા માટે નેગેટિવ ટર્મિનલ પણ ગ્રાઉન્ડ સાથે જોડાયેલું હોવું જોઈએ.
વોલ્ટેજ સ્ત્રોત અને Arduino વચ્ચે ગ્રાઉન્ડ જોડાણો સુસંગત છે તે સુનિશ્ચિત કરવું આવશ્યક છે. આ ચોક્કસ વોલ્ટેજ રીડિંગ્સ પ્રાપ્ત કરવામાં મદદ કરશે. જો તમને 25 વોલ્ટથી વધુ વોલ્ટેજ માપવાની જરૂર હોય, તો વોલ્ટેજ ડિવાઇડર બનાવવા માટે વધારાના રેઝિસ્ટરની જરૂર પડી શકે છે, પરંતુ મોટાભાગની એપ્લિકેશનો માટે, મૂળભૂત સેટઅપ પૂરતું હશે.
કોડ ઉદાહરણો અને વોકથ્રુ
કોડ offset નામનું પૂર્ણાંક ચલ વ્યાખ્યાયિત કરીને શરૂ થાય છે, જેનો ઉપયોગ વોલ્ટેજ રીડિંગમાં કોઈપણ વિસંગતતાને સુધારવા માટે થાય છે. સેટઅપ ફંક્શન 9600 ની બૉડ રેટ પર સીરિયલ સંચાર શરૂ કરે છે, જે સીરિયલ મોનિટર પર વોલ્ટેજ રીડિંગ્સ દર્શાવવા માટે આવશ્યક છે.
int offset = 20; // સુધારણા ઓફસેટ મૂલ્ય સેટ કરો
void setup() {
Serial.begin(9600); // સીરિયલ સંચાર શરૂ કરો
}
લૂપ ફંક્શનમાં, કોડ પિન A0 થી એનાલોગ વોલ્ટેજ વાંચે છે અને મૂલ્યને 0 થી 1023 ની રેન્જમાંથી 0 થી 2500 ની વોલ્ટેજ રેન્જમાં મેપ કરે છે, offset ઉમેરીને. પછી તે યોગ્ય દશાંશ રજૂઆત મેળવવા માટે વોલ્ટેજને 100 થી ભાગાકાર કરે છે.
void loop() {
int volt = analogRead(A0); // ઇનપુટ વાંચો
double voltage = map(volt, 0, 1023, 0, 2500) + offset; // મેપ કરો અને ઓફસેટ ઉમેરો
voltage /= 100; // દશાંશ મૂલ્યો મેળવવા માટે 100 થી ભાગાકાર કરો
Serial.print("Voltage: ");
Serial.print(voltage); // વોલ્ટેજ છાપો
Serial.println("V");
delay(500); // અડધી સેકન્ડ માટે વિલંબ
}
આ લૂપ સતત વોલ્ટેજ વાંચે છે અને દર અડધી સેકન્ડે તેને સીરિયલ મોનિટર પર છાપે છે. જરૂર મુજબ રીડિંગ્સની આવૃત્તિ બદલવા માટે તમે વિલંબ મૂલ્ય ગોઠવી શકો છો.
પ્રદર્શન / શું અપેક્ષા રાખવી
પ્રદર્શન દરમિયાન, તમે જોશો કે મોડ્યુલની ડિઝાઇનને કારણે મહત્તમ માપી શકાય તેવું વોલ્ટેજ 25 વોલ્ટ છે. જો તમે ઉચ્ચ વોલ્ટેજ માપવાનો પ્રયાસ કરો છો, તો રીડિંગ્સ 25 વોલ્ટ પર સંતૃપ્ત થશે અને તમે ગોઠવેલા કોઈપણ ઓફસેટ સાથે (વિડિઓમાં 08:00 પર). રીડિંગ્સ એકદમ ચોક્કસ હોવા જોઈએ, અને કેલિબ્રેશન હેતુઓ માટે તમે તેને મલ્ટિમીટર સામે ચકાસી શકો છો.
/*
* 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);
}
તમને જોઈતી વસ્તુઓ
-
Amazon
-
eBay
-
AliExpressBuy Arduino voltage sensor from AliExpresss.click.aliexpress.com
સંસાધનો અને સંદર્ભો
-
બાહ્યDocument showing how the resistor was calculateddocs.google.com
ફાઇલો📁
સ્કીમેટિક
-
Arduino Voltage Sensor Schematic wiring
Arduino Voltage Sensor Schematic wiring.png0.13 MB
Fritzing ફાઇલ
-
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