0

آموزش تعمیر منبع تغذیه سوئیچینگ

۵ (۱۰۰%) ۴ votes

در جلسات قبل آموزش مقدماتی آردوینو با قسمت های مختلف برد آردوینو UNO آشنا شدیم و نوشتن یک برنامه ساده را با هم تجربه کردیم. در این جلسه شما با چند دستور پرکاربرد در آردوینو آشنا خواهید شد و با استفاده از این دو دستور یک برنامه ساده و جذاب را پیاده سازی خواهیم کرد. در پایان سومین جلسه آموزش آردوینو مبتدی شما می توانید با استفاده از آردوینو و یک عدد ولوم ۱ کیلواهم یک ولت متر ساده بسازید که با چرخاندن ولوم مقدار ۰ الی ۱۰۲۳ را بر روی کامپیوتر به شما نمایش دهد. خواندن مقادیر آنالوگ یکی از پر استفاده ترین کارهایی است که می توانید با استفاده از آردوینو انجام دهید.

آموزش آردوینو - خواندن مقادیر آنالوگ

 

خواندن مقادیر آنالوگ با آردوینو و ارتباط سریال آردوینو با کامپیوتر

در این جلسه یاد می‌گیریم مقادیر آنالوگ را با استفاده از آردوینو بخوانیم و با استفاده از پورت سریال به کامپیوتر انتقال دهیم و از طریق کامپیوتر مقادیر خوانده شده را مشاهده کنیم. دستوراتی که در این جلسه با آنها آشنا خواهیم شد، دستورات زیر هستند:

  • analogRead
  • Serial.begin
  • Serial.print
  • Serial.println

 

دستور analogRead آردوینو

دستور analogRead یکی از دستورات پرکاربرد در برنامه نویسی آردوینو به شمار می‌رود. با استفاده از این دستور شما می توانید مقدار آنالوگ پین های آنالوگ آردوینو را بخوانید. این تابع دارای یک ورودی است که نام پین آنالوگ است و خروجی این تابع با توجه به ولتاژ ورودی پین آنالوگ به صورت عددی بین ۰ الی ۱۰۲۳ است. ۰ نشانگر ۰ ولت و ۱۰۲۳ به معنی برابری ولتاژ ورودی با ولتاژ رفرنس آنالوگ ( پیشفرش ۵ ولت )‌ است.

 

استفاده از تابع analogRead به شکل زیر است. در نوشتن حروف کوچک و بزرگ نام این تابع دقت کنید. نام این تابع همانند سایر توابع آردوینو از استاندارد نام گذاری camelCase پیروی می‌کند.

 

 

 

فرض کنید میخواهیم مقدار پین ورودی آنالوگ A0 را بخوانیم و در متغیری به نام analogVal ذخیره کنیم. برای این کار باید یک متغیر از نوع int با نام analogVal تعریف کنیم و در مرحله بعد مقدار آن را برابر با مقدار تابع analogRead پین A0 قرار دهیم. برای این کار باید برنامه ای به شکل زیر برای آردوینو بنویسیم.

 

 

دستورات ارتباط سریال برد آردوینو با کامپیوتر

در قسمت بالا یادگرفتیم چطور می‌توان مقادیر آنالوگ را با استفاده از برد آردوینو از پین های ورودی آنالوگ خواند. در ادامه یاد می‌گیریم چطور می توان اطلاعات خوانده شده را از طریق پورت USB به کامپیوتر انتقال داد.

دستور Serial.begin

قبل از هر چیر باید در قسمت setup برنامه که در جلسه دوم آموزش مبتدی آردوینو توضیح داده شد ارتباط سریال را تعریف و پیکربندی کنیم. ساده ترین حالت پیکربندی ارتباط سریال مشخص کردن سرعت تبادل اطلاعات یا baud rate است. سرعت پیشفرض و استاندارد ارتباطات سریال ۹۶۰۰bps است. بنابراین ما نیز در حال حاضر باید یک ارتباط سریال با baud rate 9600 تعریف کنیم. برای این کار باید از تابع Serial.begin استفاده نماییم. برای تعریف ارتباط سریال کد زیر را در قسمت setup برنامه آردوینو وارد می نماییم. دقت کنید آردوینو به حروف کوچک و بزرگ حساس است.

این مطلب را از دست ندهید:  راه اندازی LED RGB WS2812 با استفاده از آردوینو

 

با قرار دادن این کد در بخش setup برنامه آردوینو، شما یک ارتباط سریال با سرعت ۹۶۰۰ بیت بر ثانیه تعریف نموده اید و با سایر توابع Serial می توانید از این ارتباط استفاده نمایید.

 

دستور Serial.print

با استفاده از دستور Serial.print شما می توانید یک یا چند کارکتر را از طریق پورت سریال برای گیرنده ارسال کنید. در این مثال ما قصد داریم با استفاده از پورت سریال با کامپیوتر ارتباط برقرار کنیم. بنابراین دستور Serial.print می تواند اعداد و رشته ها را از آردوینو به کامپیوتر ارسال کند. برای استفاده از این تابع تنها کاری که نیاز است انجام دهید این است که هر زمان قصد داشتید اطلاعاتی را به پورت سریال ارسال کنید با یکی از دو فرمت زیر این تابع را فراخوانی کنید.

 

همانطور که مشاهده می کنید میتوانید رشته دلخواهتان را بین دو کارکتر ” (‌دابل کوتیشن ) قرار دهید و به پورت سریال ارسال کنید یا اینکه نام متغیر مورد نظرتان را در داخل پرانتر های ورودی این تابع بنویسید.

نکته ای که در مورد دستور Serial.print باید بدانید این است که هر چند بار این دستور را به کار ببرید اطلاعات جدید در ادامه همان خطی که اطلاعات قبلی در آن درج شده است ارسال می شود و کارکتر Enter یا خط جدید در پایان دستور ارسال نمی شود.

به عنوان مثال میخواهیم اطلاعات سنسور را بخوانیم و به صورت زیر در ترمینال کامپیوتر نمایش دهیم.

Analog Value : عدد ADC

اگر فرض کنیم مقدار ADC در یک متغیر به نام analogVal قرار داده شده است. برای اینکه خروجی مانند بالا در ترمینال مشاهده کنیم باید دستور زیر را به کار بگیریم.

 

دستور فوق خروجی بالا را برای ما ایجاد میکند اما اگر از این دستور در حلقه استفاده کنیم اطلاعات پشتسر هم چاپ می شوند. به عنوان مثال اگر مقدار ADC برابر ۱۰۲۳ باشد و حلقه ۵ بار اجرا شود خروجی مشابه زیر خواهد بود.

Analog Value : 1023Analog Value : 1023Analog Value : 1023Analog Value : 1023Analog Value : 1023

در اینجا برای اینکه بتوانیم اطلاعات را به صورت زیباتری مشاهده کنیم لازم است بعد از اینکه عدد سنسور مخابره شد، یک کارکتر Enter نیز ارسال شود. دستور Serial.println این قابلیت را در اختیار شما قرار می‌دهد.

این مطلب را از دست ندهید:  آموزش آردوینو مبتدی - جلسه دوم

 

دستور Serial.println

این دستور مشابه دستور Serial.print است با این تفاوت که در پایان رشته یک عدد کارکتر Enter نیز ارسال می کند. برای اینکه خروجی بالا به شکل منظم تری نمایش داده شود باید مقدار متغیر را با این دستور به پورت سریال ارسال کنیم.

 

 

با استفاده از این دستور اطلاعات ارسال شده از آردوینو به کامپیوتر با فرمت کاربر پسند تری نمایش داده میشود.

 

شروع پروژه عملی با آردوینو

حالا که با تمام دستورات لازم آشنا شدید بیایید قدم به قدم یک پروژه برای خواندن مقادیر آنالوگ و انتقال مقادیر به کامپیوتر ایجاد کنیم.

ابتدا از منو فایل برنامه آردوینو IDE گزینه New را انتخاب کنید یا کلید های ترکیبی Ctrl+N را فشار دهید تا یک Sketch جدید آردوینو برای شما ایجاد شود. حالا در اولین قدم باید در قسمت setup ارتباط سریال با سرعت ۹۶۰۰ بیت بر ثانیه را تعریف کنیم. به این منظور دستور از دستور Serial.begin مطابق شکل زیر استفاده می کنیم.

 

آموزش اردوینو - ارتباط سریال با کامپیوتر

 

در مرحله بعد باید در حلقه loop برنامه یک متغیر به نام analogVal تعریف کنیم و مقدار آن را برابر با مقدار پین آنالوگ A0 قرار دهیم.

برای این کار از دستور زیر استفاده می کنیم.

 

سپس باید اطلاعات خوانده شده از پین آنالوگ را با استفاده از دستور زیر به پورت سریال ارسال کنیم.

 

 

و در نهایت یک وقفه ۵۰ میلی ثانیه ای در پایان loop در نظر می گیریم تا هر ۵۰ میلی ثانیه یکبار اطلاعات ورودی آنالوگ به پورت سریال ارسال شود.

با وارد کردن کد های فوق برنامه به شکل زیر خواهد بود.

 

آموزش آردوینو - خواندن مقادیر آنالوگ

 

کد های به این صورت خواهد بود.

 

حالا با اتصال آردوینو به پورت USB و کلیک روی دکمه آپلود از شما خواسته می شود ابتدا برنامه را Save کنید. در ادامه با مشخص کردن برد آردوینو مورد نظر برنامه روی برد آپلود می شود. حالا کافیست پایه وسط ولوم ۱ کیلو را با استفاده از یک سیم دوپانت نری مادگی به پین A0 و پایه های طرفین ولوم را به صورت دلخواه به GND و ۵V متصل کنید. پس از اتصال ولوم روی دکمه Serial Monitor که در بالای نرم افزار Arduino IDE واقع شده است کلیک می کنیم. با چرخاندن ولوم مشاهده می کنید. که اطلاعات آنالوگ روی صفحه ترمینال شروع به تغییر کردن می‌کند.

این مطلب را از دست ندهید:  آموزش آردوینو برای مبتدیان - جلسه اول

 

همانطور که می بینید هر ۵۰ میلی ثانیه یکبار اطلاعات ورودی آنالوگ به ترمینال ارسال می شود. حال قصد داریم کاری کنیم که هر زمان اطلاعات ورودی دچار تغییر شد خروجی ارسال شود. برای این کار ابتدا باید یک متغیر Global یا سراسری در خارج از قسمت های setup و loop برای نگهداری مقدار قبلی آنالوگ تعریف کنیم. به این منظور کد زیر را در اولین خط برنامه قرار می دهیم

 

 

متغیری از نوع عدد ( int یا integer ) به نام lastVal برای نگهداری آخرین مقدار تعریف می کنیم. حالا در قسمت loop زمانی که مقدار analogVal از ورودی خوانده شد مقدار analogVal را با lastVal مقایسه می کنیم. به علت نوسانات باید یک آستانه خطا برای مقایسه در نظر بگیریم به این منظور از تابع قدرمطلق یا abs استفاده می کنیم تا تفاضل analogVal را با lastVal بسنجیم. در صورتی که تفاضل بیشتر از ۵ واحد بود خروجی بروز می شود. به این منظور از کد شرطی زیر با ساختار if یا اگر استفاده می کنیم.

و در نهایت مقدار delay را به ۱۰ میلی ثانیه کاهش می دهیم.

بنابراین کد برنامه به شکل زیر تغییر خواهد کرد.

با آپلود کردن این برنامه بر روی برد آردوینو و باز کردن ترمینال سریال ( Serial Monitor ) مشاهده می کنید که تنها زمانی که ولوم را میچرخانید اطلاعات به کنسول سریال ارسال می شود و در سایر زمان ها آردوینو اطلاعاتی را ارسال نمی کند و منتظر تغییرات ولوم می ماند.

امیدوارم از سومین جلسه آموزش آردوینو و پروژه این جلسه لذت برده باشید. لطفا با ذکر نظرات خود در پایین همین مطلب ما را در ادامه مسیر دلگرم بفرمایید.

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.