پروژه راه اندازی سه عدد LED با آردوینو | چه خوش بی، مهربونی هر دو سر بی!

blog
۱۳۹۶-۰۳-۲۰
3 دقیقه

آموزش آردوینو، پروژه‌ی سوم

باباطاهر عریان خیلی سال پیش فرموده: چه خوش بی، مهربونی هر دو سر بی / که یک سر مهربونی دردسر بی

با توجه به بیت بعدیِ این دوبیتی، ما حدس می‌زنیم که باباطاهر توی حال خیلی خوبی بوده! اما امکان نداره ایشون هیچ تصور می‌کرده که ما امروز، موقع آموزش آردوینو این دوبیتی به کارمون بیاد!

تا اینجا ارتباط ما یک سر بی! یعنی فقط با LED ها می‌تونستیم اطلاعاتی رو از وضعیت خروجی‌ها به‌دست بیاریم. ورودی‌ها رو هم باز از خود بورد می‌گرفتیم که خوب توفیری تو کلیت ماجرا نمی‌کرد. اما تو پروژه‌ی امروز، ارتباط رو هر دو سر می‌کنیم!

شاید برای شما مفید باشد: پروژه های آردوینو

وسایل مورد نیاز

  1. آردوینو
  2. بِرِد بورد
  3. LED، سه عدد
  4. میکرو سوئیچ
  5. سیم برد بوردی (jumper wire)، سه عدد
  6. مقاومت 330 اهم، سه عدد

شروع

اول نفرین LED رو بجا می‌آوریم. توی پروژه ۳ تا LED می‌گذاریم که قرار هست با استفاده از یک دکمه به‌صورت نوبتی روشن و خاموش بشن.

توی الکترونیک به این دکمه، نمیگن دکمه! چون کار رو باکلاس جلوه نمی‌ده!

اسمش رو گذاشتن “میکرو سوئیچ” که هر کی ندونه فکر می‌کنه حالا انگار چی هست! این میکرو سوئیچ دوتا پایه داره و این بچه این‌قدر خاکی و بی‌ریاس که اصلاً فرقی نمی‌کنه مثبت رو به کدوم وصل کنی منفی رو به کدوم!

این تصویر مداری هست که من طراحی کردم:

آموزش آردوینو با میکروسوئیچ

با مقاومت، ۳ تا از پایه‌ها رو وصل کردم به ۳ تا LED که پایه زمین‌شون هم با سیم به زمین بورد متصل شده. از میکرو سوئیچ هم به یکی از دیگه از پایه‌ها ارتباط برقرار‌شده که ورودی مدار باشه.

هدف این پروژه

برنامه‌ای که باید می‌نوشتم به این صورت بود که ابتدا تمام LED ها خاموش باشن. بعد از فشار دادنِ اولین بارِ میکرو سوئیچ، اولی روشن بشه، دومین بار دومی و … . در انتها هم باز همه چراغ‌ها خاموش بشن. برنامه‌ای که نوشتم:

رفع اشکال‌های کد

کار کرد؟ معلومه که نه! اصلاً اگه کد شما دفعه اول کار کرد حتماً یه مشکلی هست، یا توی شما یا توی کد!

اما این بار بیش‌ازحد انتظار مشکل داشت. تمامی LED ها با همدیگه روشن شدند! که خوب مشخصاً برنامه داشت بدون دلیل وارد اون شرط می‌شد.

بعد از کلی بررسی کردن متوجه شدم میکرو سوئیچ‌ها این‌قدرها هم سربه‌زیر نیستن.

چیزی به اسم پول آپ وجود داره که قاعدتاً باید اسم یه نوع بیماری باشه! اما اینجوریه که مشخص میکنه تو حالت عادی وقتی‌که کلید رو نفشردیم، چه مقداری توی ورودی بره. خوشبختانه آردوینو ما پول آپ رو به‌صورت داخلی داره و باید بهش اطلاع بدیم که فعالش کنه. درنتیجه خط زیر باید توی تابع Setup اضافه بشه:

و طبیعتاً حالا که توی حالت عادی مقدار HIGH رو خروجی میده، باید شرط رو عوض کنیم:

پس با مقدار صفر، متوجه فشرده شدن سوئیچ میشیم.

اشکال بعدی که خودم باید زودتر حدس می‌زدم اینه که وقتی شما مقداری رو توی خروجی یک پایه بورد قرار می‌دید، طبیعتاً نباید انتظار داشته باشید توی تکرار بعدی تابع Loop مقدارش پریده باشه!

یعنی اگه شما برنامه اصلاح‌شده بالا رو اجرا کنید، با فشار دادن سوئیچ LED اول روشن‌شده و با فشار دادن برای بار دوم LED دوم هم به اون ملحق میشه. پس اگه میخواید فقط یک LED روشن بمونه، لازمه قبلی رو خاموش‌کنید. پس تابع Loop رو به این صورت در میاریم:

 

خوب حالا شد!

این تغییرات هدفی که داشتیم رو برآورده میکنه. اما یه تغییر کوچیک دیگه برای باحال تر شدن پروژه اضافه می‌کنیم: اگه میکرو سوئیچ به‌صورت ممتد مثلاً برای دو ثانیه فشرده شد همه LED ها با هم روشن بشه.

این کار به‌سادگی دنیای نرم‌افزار نیست. یه جورایی شما باید دستی حساب کنید که چقدر سوئیچ فشرده‌شده! شما رو با تابع millis آشنا می‌کنم. ایشون مقدار زمانِ گذشته از آخرین اجرای بورد رو در واحد میلی‌ثانیه به شما اطلاع میدن. کاری که باید بکنیم اینه که زمانی که سوئیچ فشرده شد، زمان رو بگیریم و زمانی که رها شد، مدت‌زمان گذشته رو حساب کنیم! به نظر میاد توی آموزش آردوینو روزهای سختی پیش رو داشته باشیم!

کد پروژه بعد از تمام این تغییرات

نکات

مقدار 1- رو به این دلیل قرار دادیم که موقعی که سوئیچ فشرده‌شده و چندین بار Loop اجرا میشه، هر بار مقدار جدیدی نگیره.

موقعی که شما فکر می‌کنید که یک لحظه سوئیچ رو فشار دادید، ممکنه 100 دفعه تابع Loop اجرا بشه. برای همین به میزانی از delay نیاز دارید.

 

اطلاعات
0
0
لینک و اشتراک
profile

meisam

متخصص الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله