توصیه شده, RASPBERRY PI رسپبری, Raspberry Pi

آموزش رزبری پای با پایتون – قسمت سوم – چالش رقص نور

سلام به همه.

بعد از اینکه من با موفقیت تونستم کلید رو به رزبری وصل کنم، زئوس به من گفت پایه هستی یه چالش باحال بهت بدم؟ با خوشحالی قبول کردم و گفتم من مرد روز های سخت و چالشی هستم. اونم خندید و گفت یه برنامه بنویس که وقتی یه بار دکمه رو فشارمیدی LED روشن بشه، وقتی ۲ بار فشار میدی LED چشمک بزنه و وقتی دکمه رو به مدت ۳ ثانیه نگه میداری، LED خاموش بشه (صد البته که من عاشق پایتون هستم و این چالش رو هم به زبان پایتون برنامه نویسی و حلش میکنم).

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

اولین چیزی که به ذهنم رسید این بود که یدونه فلگ بزارم برا اینکه چک کنم چه زمانی باید LED روشن و چه زمانی باید LED خاموش باشه. دوتا تابع هم لازم داشتم برا اینکه LED رو خاموش و روشن کنم.

که میشه این

یه فلگ هم لازم داشتم برای اینکه چک کنم ببینم چه زمانی باید LED ثابت و چه زمانی باید LED چشمک زن باشه:

دوتا متغیر هم باید برای محاسبه زمان فشرده شدن دکمه داشته باشم:

حالا باید چک کنم وقتی دکمه فشار داده میشه تا وقتی رها میشه چقدر زمان میبره:

 

بعد از این باید بررسی میکردم ببینم آیا در حال حاظر باید LED خاموش باشه یا روشن و توابع مربوط به اون رو فراخوانی کنم:

حالا باید دید که دفعه چنده که دکمه فشرده میشه و LED باید خاموش باشه یا روشن:

در این مرحله هم این تیکه ها رو به مرحله چک کردن دکمه اضافه کردم:

اگه قرار بود LED رو خاموش کنم باید push_time رو برابر 0 میکردم پس:

و شما الان به همراه من این چالش رقص نور جذاب رو انجام دادین که کد کاملش رو میتونید اینجا ببینید:

حالا که به اینجا رسیدیم و دیدن که چقدر رااحت میشه این جور چالش ها رو حل کرد یه پیشنهاد دوستانه هم برای شما دارم:

هیچ وقت از حل کردن چالش ها نترسید و شور و شوق چالش های خودتون رو حل کنید. من که عاشق چالش های برنامه نویسی بوده و هستم. امیدوارم شما هم همینطور باشید.

Xander Karimi

درباره xander karimi

گونه ای از برنامه نویس های نادر و کم یاب. در بر گیرنده انواع و اقسام باگ های ناشناخته. مدافع حقوق این روی سیستم من کار می‌کنه. ابداع کننده انواع روش های سامورایی در برنامه نویسی

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

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

بازگشت به لیست

دیدگاهتان را بنویسید

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