در این پست از سایت اِمیک, شما با ساخت یک ولت متر DC با استفاده از برد اردوینو UNO ( البته می توان از هر برد دیگری که دارای حداقل یک پین ADC هست استفاده کرد ) اشنا می شوید. این ولت متر قابلیت اندازه گیری ولتاژ از 0 ولت تا حداکثر 50 ولت را دارد ولی بهتر است که ولتاژ بیشتر از 25 ولت برای اندازه گیری به مدار اعمال نکنید چون احتمال اسیب دیدن قطعات در ولتاژهای بالاتر از 25 ولت زیاد است. البته همانطور که گفته شد می توان تا 50 ولت را اندازه گیری کرد به شرطی که از مقاومت های با توان بالا که در ادامه بیشتر توضیح خواهم داد استفاده کنیم.
قطعات اصلی تشکیل دهنده این پروژه عبارتند از برد اردوینو یونو و LCD کاراکتری 2*16 و دو مقاومت R1 و R2 که این مقاومت ها هرچه دارای تلرانس (ضریب خطا) کمتری باشند ولتمتر شما دقیق تر خواهد بود پس این دو مقاومت بهتر است که دارای تلرانس 1% باشند.
شماتیک این پروژه را در بالا مشاهده می کنید, همانطور که می بینید ولتاژ مورد نظر ما برای اندازه گیری باید به قسمتی که با Vin مشخص شده است اعمال شود. مقاومت های R1 و R2 علاوه بر اینکه باید دارای تلرانس کمی باشند, در صورتی که ولتاژ مورد اندازه گیری شما بیشتر از 25 ولت است باید از مقاومت های با توان بالا استفاده کنید و مقاومت های معمولی که دارای توان 1/4 وات هستند را تا ولتاژ حداکثر 25 ولت می توانید استفاده کنید.
پتانسیومتر RV1 را ما فقط برای شبیه سازی پروژه استفاده کردیم تا بتوانیم یک ولتاژ متغیر برای اندازه گیری ایجاد کنیم در عمل شما نیازی به RV1 ندارید و ولتاژ مورد اندازه گیری را باید با رعایت پلاریته به محل مشخص شده (Vin) اعمال کنید. پتانسیومتر RV2 برای تنظیم کنتراست LCD کاراکتری استفاده شده است, درصورتی که پتانسیومتر نداشتید می تونید پین 3 ال سی دی رو به منفی تغذیه متصل کنید.
نکته : بهتره برای تغذیه مداراتی که در اونها از LCD استفاده می کنید, از اداپتور استفاده شود. چون ولتاژ 5 ولتی (یا 3.3 ولت) را که بردهای اردوینو از طریق کابل متصل به کامپیوتر فراهم می کنند جریان دهی کمی دارد و ممکن است LCD نتواند با این جریان کار کند .
برنامه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
//////// WWW.EMIC.IR //////// #include <LiquidCrystal.h> /* lcd معرفي کتابخانه */ /*متصل شود LCD تابع زیر مشخص می کند که کدام پین های اردوینو به */ LiquidCrystal lcd(13, 12, 11, 10, 9, 8, 7); void setup() { //اردوینو مشخص میکند ADC دستور زیر مقدار ولتاژ مبنا یا رفرنس را برای کار با واحد// analogReference(DEFAULT); pinMode(A0, INPUT); /*(پین انالوگ 0) A0 ورودی کردن پین*/ lcd.begin(16, 2); /* LCD پيکره بندي */ } void loop() { float a ; //خوانده شده از پین اردوینو در ان adc برای ریختن مقادیر a تعریف متغیر// float volt , v ; //برای ریختن مقادیر ولتاژ در ان float تعریف متغیر از نوع// a = analogRead(A0); //(عددی بین 0 تا 1023) a در متغیر adc ریختن مقادیر// v = (a * 5) / 1023 ; // دستور روبرو عدد خوانده شده بين 0 تا 1023 را در بازه ي 0 تا 5 تبديل مي کند // /* از انجايي که بازه ي اندازه گيري ولتاژ ما بيش از 0 تا 5 ولت است ما با استفاده از تقسيم مقاومتي ولتاژ را کاهش داده ايم تا بتوانيم براي اندازه گيري به اردوینو بدهيم */ volt = (v * 10) + v ; /*طبق توضيح بالا ما ولتاژي را که کاهش داده ايم با استفاده از دستور روبرو دوباره به حالت اول برميگردانيم*/ lcd.clear(); /* LCD پاک کردن */ lcd.print("voltage : "); /* voltage : نوشتن عبارت */ lcd.print(volt); // نوشتن مقادیر ولتاژی که در بالا بدست اوردیم روی ال سی دی // lcd.print("V"); // نوشت علامت ولتاژ روی ال سی دی // lcd.setCursor(2, 1); /* رفتن به ستون 2 و سطر 1 */ lcd.print("WWW.EMIC.IR"); /* LCD روي WWW.EMIC.IR نوشتن */ delay(500); /* ايجاد تاخير به مدت نیم ثانيه */ } |
توضیحات کامل برنامه نوشته شده فقط دلیل استفاده از دو مقاومت R1 و R2 این است که پین های برد اردوینو یونو می توانند حداکثر تا 5 ولت را تحمل کنند بنابراین ما باید ولتاژ مورد اندازه گیری خودمان را که بیشتر از 5 ولت است, ابتدا توسط یک تقسیم مقاومتی (R1 و R2) به بازه ی 0 تا 5 تبدیل کنیم و در برنامه نویسی که در خط 23 مشاهده می کنید این ولتاژ را برای نمایش روی LCD دوباره به حالت اول برمیگردانیم . اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید . اگر با برنامه نویسی اردوینو اشنا نیستید مطالب زیر را مطالعه کنید
- برای اشنایی با دستورات مهم برنامه نویسی اردوینو اینجا کلیک کنید
- برای اشنایی با دستورات مربوط به lcd کاراکتری اینجا کلیک کنید
- برای اشنایی با ADC در اردوینو اینجا کلیک کنید
- برای اشنایی با نحوه پروگرام کردن برد اردوینو (ریختن برنامه روی برد) اینجا کلیک کنید
کلیپ تست عملی پروژه :
پسورد فایل زیپ : www.emic.ir
پروژه های مشابه:
نظر یادتون نره…
سلام مهندس خیلی پروژه عالی بود فقط یه ایرادی داره وقتی هیچ ولتاژی بهش وصل نیست نمایشگر یه بار 0.00 و یه بار 55.00 رو نمایش میده
سلام, بررسی شد و این مشکل وجود نداشت. توجه کنید که یک سر مقاومت R2 باید به زمین مشترک متصل باشد
سلام بسیار عالی ِ اگه همین و بخواهیم محافظ ولتاژ کنیم چیکار باید کرد ؟؟؟؟
سلام . با عرض خسته نباشید خواستم ازتون تشکر کنم بابت این سایت خوبتون توضیحاتتون کامل و دقیق ممنون.