شِفر (کود) آردوینو و ویدئو برای ماجیول حساس(حس کننده) ولتاژ
در این آموزش، ما به بررسی چگونگی استفاده از ماجیول حساس(حس کننده) ولتاژ با آردوینو خواهیم پرداخت. این پروژه به شما امکان میدهد ولتاژ ورودی را اندازهگیری کرده و آن را در مانیتور سری نمایش دهید، که این فرآیند را نسبت به استفاده از مقاومتهای اضافی سادهتر میکند. در پایان این آموزش، شما یک تنظیمات کارآمد خواهید داشت که سطوح ولتاژ را بهطور دقیق میخواند.

با دنبال کردن مراحل، شما بینشهایی درباره اتصالات سختافزاری و شِفر (کود) لازم برای این پروژه به دست خواهید آورد. میتوانید به ویدیوی مرتبط در (در ویدیو در 00:00) برای توضیحات بیشتر در مورد هر مرحله مراجعه کنید.
نحوه محاسبه مقاومت و ولتاژ را مشاهده کنیداینجا.
توضیحاتی درباره سختافزار
اجزای اصلی این پروژه ماجیول حساس(حس کننده) ولتاژ است. معمولاً دارای سه پایه است: یکی برای خروجی سیگنال، یکی برای زمین و یکی برای ورودی ولتاژ مثبت. پایه سیگنال به ورودی آنالوگ آردوینو متصل میشود و به آن این امکان را میدهد که سطح ولتاژ را اندازهگیری کند. این ماجیول از مدار تقسیم ولتاژ استفاده میکند که از دو مقاومت تشکیل شده است تا ولتاژ را به سطح ایمن برای آردوینو کاهش دهد.
هنگام اندازهگیری ولتاژ، اتصال پایه زمین حساس(حس کننده) به زمین منبع ولتاژ اندازهگیری شده بسیار حیاتی است. پایه مثبت به نقطه مورد نظر متصل میشود تا خوانشهای دقیقی بدست آید. این تنظیم ساده نیاز به سیمکشی و اجزای اضافی را از بین میبرد و آن را کاربرپسند میکند.
جزئیات برگه خاصیات
| تولیدکننده | عمومی |
|---|---|
| شماره قطعه | ماجیول حساس(حس کننده) ولتاژ |
| ولتاژ منطقی/ورودی و خروجی | ۵ ولت |
| ولتاژ تامین | ۰-۲۵ ولت |
| دامنه ولتاژ ورودی | 0-25 ولت |
| دامنه ولتاژ خروجی | ۰-۵ ولت |
| ولتاژ ورودی | ≤ ۲۰ میلی آمپر |
| بسته | ماجیول |
| یادداشتها / واریانتها | ممکن است بسته به تولیدکننده متفاوت باشد |
- از صحت سیمکشی اطمینان حاصل کنید تا از آسیب به آردوینو یا حساس(حس کننده) جلوگیری شود.
- از منبع تغذیه پایدار استفاده کنید تا اطمینان حاصل شود که خوانشها دقیق هستند.
- مقدار انحراف را در شِفر (کود) برای کالیبراسیون تنظیم کنید.
- ولتاژ ورودی را در محدوده مشخص شده نگه دارید تا از آسیب جلوگیری شود.
- برای اندازهگیری ولتاژهای بالاتر، از مقاومتهای مناسب به عنوان تقسیم ولتاژ استفاده کنید.
راهنماهای سیمکشی

برای سیمکشی ماجیول حساس(حس کننده) ولتاژ، ابتدا پایانه زمین ماجیول را به زمین منبع ولتاژی که اندازهگیری میکنید، متصل کنید. سپس، پایانه سیگنال را که باSبه پایه آنالوگ آردوینوA0در نهایت، پایه مثبت را به نقطه ولتاژ مورد نظر برای اندازهگیری وصل کنید. پایه منفی نیز باید به زمین متصل شود تا مدار کامل شود.
مهم است که اطمینان حاصل شود اتصالات زمین بین منبع ولتاژ و آردوینو مطابقت دارند. این کار به دستیابی به خوانشهای دقیق ولتاژ کمک خواهد کرد. اگر نیاز به اندازهگیری ولتاژهای بالاتر از ۲۵ ولت دارید، ممکن است به مقاومتهای اضافی برای تشکیل یک تقسیمکننده ولتاژ نیاز باشد، اما برای اکثر کاربردها، تنظیم اولیه کافی خواهد بود.
نمونههای شِفر (کود) و راهنمایی
شِفر (کود) با تعریف یک متغیر صحیح به نام شروع میشودoffsetکه برای اصلاح هر گونه ناهماهنگی در خواندن ولتاژ استفاده میشود. تابع راهاندازی ارتباط سری را با نرخ باد ۹۶۰۰ راهاندازی میکند که برای نمایش خوانشهای ولتاژ در مانیتور سری ضروری است.
int offset = 20; // set the correction offset value
void setup() {
Serial.begin(9600); // Initialize serial communication
}در تابع حلقه، شِفر (کود) ولتاژ آنالوگ را از پایه میخواندA0و مقدار را از محدوده ۰ تا ۱۰۲۳ به یک محدوده ولتاژ از ۰ تا ۲۵۰۰ نگاشت میکند، و به آن اضافه میکندoffsetسپس ولتاژ را بر 100 تقسیم میکند تا نمایش دهی مناسب به صورت اعشاری به دست آورد.
void loop() {
int volt = analogRead(A0); // read the input
double voltage = map(volt, 0, 1023, 0, 2500) + offset; // map and add 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); // Delay for half a second
}این حلقه به طور مداوم ولتاژ را خوانده و آن را هر نیم ثانیه به نمایشگر مسلسل چاپ میکند. میتوانید مقدار تأخیر را برای تغییر فرکانس خواندنها به دلخواه تنظیم کنید.
نمایش / انتظار چه چیزی را داشته باشیم
در طول نمایش، شما خواهید دید که حداکثر ولتاژ قابل اندازهگیری ۲۵ ولت است به دلیل طراحی ماجیول. اگر بخواهید ولتاژهای بالاتر را اندازهگیری کنید، خوانشها در ۲۵ ولت و به علاوه هر گونه انحرافی که تنظیم کردهاید اشباع خواهند شد (در ویدیو در ۰۸:۰۰). خوانشها باید نسبتاً دقیق باشند و میتوانید آنها را برای اهداف کالیبراسیون با یک مولتیمتر تأیید کنید.
/*
* 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);
}
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازون
-
ایبی
-
علیاکسپرسحساس(حس کننده) ولتاژ آردوینو را از علیاکسپرس خریداری کنید.s.click.aliexpress.com
منابع و مراجع
-
خارجیمدارک نشان میدهد که چگونه مقاومت محاسبه شده است.docs.google.com
فایلها📁
شماتیک
-
سیمکشی مدار حساس(حس کننده) ولتاژ آردوینو
Arduino Voltage Sensor Schematic wiring.png0.13 MB
فایل فریزینگ
-
حساس(حس کننده) ولتاژ-25 ولت- ماجیول
Voltage-Sensor-25V-improved.fzpz0.01 MB -
ماجیول حساس(حس کننده) بدن HC-SR501
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