آردوینو arduino, آموزش, دسته‌بندی نشده, شروع

آموزش آردوینو پروژه دوم، هوا را از من بگیر، LED را نه!

آموزش آردوینو پروژه دوم LED

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

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

حالا که این نفرین گریبانمون رو گرفته، بهتره بیشتر باهاش آشنا بشیم!

توی نمونه کدی که استفاده کردیم دوتا تابع اصلی وجود داشت، یکی Setup و اون یکی هم Loop.

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

طبیعتاً شما به‌جای LED_BUILTIN می‌تونید بنویسید 5 که منظورتون همون پین شماره 5 هست.

تابع Loop هم که باز اینجا درباره‌اش توضیح داده‌شده و تا وقتی جان در بدن دارد مرتباً تکرار میشه!

ما توی این پروژه کار هیجان‌انگیزی کردیم و مقداری رو توی خروجی یک پایه قرار دادیم! با همین یک خط دستور  digitalWrite اعلام کردیم مقدار HIGH که ۱ هست و یا مقدار LOW که همون صفر هست رو توی خروجی قرار بده.

برای پروژه دوم هم دست به دامان LED میشیم. این بار تلاش کردم نور LED رو به‌جای خاموش روشن شدن یک باره، از کم‌نور به پرنور برسونم.

با جستجو متوجه شدم که بجای HIGH و LOW میشه مقداری بین 0  تا 255 رو بر روی خروجی پایه قرار داد بنابراین کد زیر رو نوشتم:

متأسفانه LED داخلی بورد به‌قدری کوچیکه که با چشم غیرمسلح این تغییر نور رو نمیشه حس کرد! بنابراین وقتش رسیده که از دوست قدیمی‌مون، بِرِد بورد استفاده کنیم. اگه شما هم کلاً ریست فکتوری کردید و یادتون رفته اصلاً این موجود سوراخ سوراخ چی بود یه گوگل کوتاهی در مورد نحوه اتصال ردیف‌ها و ستون‌ها انجام بدین.

 

آموزش آردوینو با برد بورد

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

پایه شماره ۳ رو با مقاومت به پایه مثبت LED متصل کردم و با اون سیم هم اتصالی بین پایه زمین بورد (که با GND مشخص‌شده) و پایه زمین LED برقرار کردم.

توی برنامه، LED_BULTIN رو با شماره ۳ (که می‌تونست هر پایه دیگه‌ای باشه) جایگزین کردم و برنامه رو اجرا کردم.

LED روشن شد اما نه اون‌طور که باید می‌شد؛ یعنی همچنان مثل قبل به‌صورت صفر و یک روشن می‌شد. بعد از حدود ۴۰ دقیقه کاوش فهمیدم که خوب طبیعتاً وقتی از تابع digitalWrite استفاده می‌کنید نمی‌تونید مقادیری غیر از صفر و یک داشته باشید، پس analogWrite رو جایگزین کردم و شد آنچه شد!

 

 

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *