جلسه ششم آردوینو- راه اندازی کلید فشاری با آردوینو
مقدمه
سلام دوستان .در این جلسه میخوایم در مورد کنترل کردن LED با استفاده از یک کلید فشاری صحبت کنیم. مثل همیشه مستقیم میریم سر اصل مطلب.
راه اندازی Pushbutton با آردوینو
چشمک زدن LED خدایی خیلی راحت بود و ضمن این که شما دوست ندارید موقعی که دارید یه درس رو میخونید چراغ بالای سرتون پشت سر هم چشمک بزنه. این هست که باید بتونید این چراغ رو خودتون کنترل کنید. در مثال LED چشمک زن، LED، نقش عملگر رو بازی میکند و آردوینو هم اون رو کنترل میکرد.این وسط حضور یک سنسور احساس میشد تا فرایند کاری ما کامل بشه. در این جلسه میخوایم از یک کلید فشاری یا به اصطلاح PushButton استفاده کنیم. اگه این کلید فشاری ها رو بازش کنید میبینید که خیلی چیز عجیب غریبی نیست و فقط دو تا قطعه فلز هستند که به وسیله ی یه فنر از هم جدا نگه داشته شده اند و اون کلاهک پلاستیک که روش وجود داره رو وقتی فشار بدیم این دو تا فلز به هم متصل میشن. وقتی اون کلاهک رو فشار ندیم این کلید قطع هست و جریانی در مدار جاری نمیشه.( مثل شیر آبی که بسته شده و نمیذاره آبی جریان پیدا کنه) و وقتی که ما فشار رو به کلاهک پلاستیکی کلید وارد میکنیم در واقع یک اتصال رو برقرار کردیم. برای نشون دادن وضعیت کلید که آیا فشار داده شده یا فشار داده نشده یه دستور( یا به عبارت بهتر یک تابع) در آردوینو وجود داره به نام digitalRead() .
دستور digitalRead چک میکنه که آیا ولتاژی به پایه ای که داخل پرانتز این دستور نوشته شده اعمال شده یا نه و بستگی به ولتاژی که بهش اعمال شده LOW یا HIGH رو برمیگردونه. دستوراتی که ما تا الان استفاده کردیم هیچ عبارتی رو برنمیگردوند و فقط کاری که ما بهش میگفتیم رو انجام میداد ولی بعضی از دستورات محدود تر از دستورات قبلی که گفتیم هستند و فقط یه سری مقادیر رو به ما تحویل میدن. مثلا یه متغیر تعریف میکنیم و اون رو مساوی این دستور قرار میدیم. و پس از اجرای این دستور مقدار این متغیر میشه LOW یا HIGH که با این متغیر در برنامه مون کار میکنیم. مثلا میگیم اگه مقدارش شد LOW برای ما این کار رو بکن و اگه مقدار شد High هم برای ما این کار رو بکن. در واقع با این سری از دستورات ما یه سوال از آردوینو میپرسیم و یه جوابی از بردمون میگیریم و اون جواب رو در حافظه ذخیره میکنیم و در تصمیم گیری های بعدی از این جواب استفاده میکنیم.
خوب ابتدا مداری رو که در شکل زیر آوردیم ببندید. برای بستن این مدار به یه سری قطعات خاص که میتونید اون رو از فروشگاه های قطعات الکترونیکی تهیه کنید. این قطعات عبارتند از :
1- بردبرد ( قبلا کامل در مورد بردبرد توضیح دادیم که میتونید از اینجا اون رو بخونید.)
2- سیم ( بهتره از سیم های جامپر دو سر سوزنی برای راحتی کار خودتون استفاده کنید. در مورد سیم ها هم میتونید مطلب سیم ها رو بخونید)
3- مقاومت 10 کیلو( قبلا در مورد مقاومت هم صحبت کردیم که از اینجا میتونید جلسات مربوط به اون رو بخونید)
4- Pushbutton( مبانی و مفاهیم انواع کلیدهای الکترونیکی هم در اینجا بررسی شده)
خوب حالا اجازه بدید که کد کنترل LED با استفاده از Pushbutton رو با همدیگه بررسی کنیم:
مشابه مراحلی که در قبل گفتیم ابتدا یه Sketch جدید باز کنید و کد رو داخلش بنویسید و روی برد بریزید و اگه مداری رو که گفتیم بسته باشید وقتی کلید فشاری رو فشار میدید باید LED شما روشن بشه.
نحوه عملکرد کد و مدار
در این جلسه دو تا مفهوم مهم رو میخوایم با هم یادبگیریم که اولیش دستوراتی که مقداری رو برمیگردونن هست که اون رو توضیح دادیم و مفهوم دوم دستورات شرطی IF هست.
دستور IF و به طور کلی دستورات شرطی از مهمترین دستورات موجود در انواع زبان های برنامه نویسی هستند چون اجازه میدهد به کامپیوتر( همونطور که گفتیم آردوینو هم یه کامپیوتر کوچک هست.) تا یه سری تصمیمات رو اتخاذ کنه. بعد از کلمه کلیدی IF شما باید یک دستور رو داخل پرانتز مربوط به IF بنویسید و اگر جواب یا نتیجه اون سوال صحیح بود بلوک اول اجرا میشه و اگر غلط بود بلوک مربوط به else اجرا میشه. توجه کنید که در کد به جای استفاده از = از علامت == استفاده شده. این علامت رو وقتی استفاده میکنیم ک بخوایم دو تا عبارت رو با هم مقایسه کنیم و TRUE یا FALSE رو برمیگردونه. حواستون باشه حتما از علامت == استفاده کنید تا کدتون به درستی اجرا بشه.
حالا تا وقتی که دستتون رو روی کلید فشاری نگه دارید این LED یا چراغ رو شن میمونه ولی این کار یه اشکال بزرگ داره و اونم اینه که اگه بخوایم با دستمون کاری رو انجام بدیم چراغ ما خاموش میشه و این خیلی بده و باعث میشه ما از کار و زندگی بیفتیم. ما نیاز داریم تا با یه بار فشار دادن کلید، کلا چراغ روشن بمونه. کد مربوط به این کار رو در جلسه بعد با هم دیگه بررسی میکنیم.
تمرین: کد بالا رو خط به خط بخونید و دقیق بدونید که این کد چیکار میکنه. واقعا کد سختی نیست و اگه میخواید یه برنامه نویس خوب بشید حتما باید بتونید این کدها رو تحلیل کنید.
خوب دوستان این جلسه هم به پایان رسید. مثل همیشه میتونید ما رو در تلگرام و یا اینستاگرام دنبال کنید.
6 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
سلام ایا این امکان وجود داره در صورتی که مدار اشتباه بسته بشه … با فشار دادن button ….اردوینو خاموش بشه؟
با سلام.
موردی که میفرمایید با فویز قابل پیشگیری است. یعنی اگر مدارتان مشکل داشت و اتصال کوتاهی در مدار رخ میداد از یک فیوز استفاده کنید تا این مشکل مرتفع گردد.
موفق باشید
سلام خسته نباشید.ممنون از آموزش هاتون.
بنده در حال آماده کردن جزوه برای آموزش به دانش آموزان آماده کنم.در مدرسه یا … .
می خواستم ببینم می تونم از بعضی از محتویات سایتتون استفاده کنم.
می خواستم تو بخش ارتباط ایمیلی براتون مطرح کنم ولی مشکل داشت و نمی شد.
با تشکر
ممنون میشم سریع جواب منو بدید.
با سلام خدمت شما.
در صورتی که برای تدریس مطالب هزینه ای دریافت نمیکنید، استفاده از مطالب ما هم رایگان می باشد.
اگر هم هزینه ای دریافت میکنید، هزینه خرید مطالب و استفاده از محتوا، به اندازه 30 درصد هزینه ای است که شما از یک دانش آموز میگیرید.
موفق باشید.
می تونم آدرس ایمیل یا آی دی تلگرام ازتون داشته باشم؟
با سلام. متاسفانه این امکان فراهم نمی باشد. لطفا قوانین کامنت گذاری را از لینک زیر مطالعه فرمایید:
قواعد کامنت گذاری
موفق باشید.