ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

LED چشمک‌زن با آردوینو؛ اولین قدم در الکترونیک

آموزش و الکترونیک
۰ نظر
۷۳ نفر
کد ۴۳۲۶

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

این پروژه که بهش "Hello World" دنیای الکترونیک هم می‌گن، بهت یاد می‌ده چطور قطعات رو روی برد بورد ببندی و چطور اولین کدهای C++ رو روی برد آپلود کنی. در واقع با درک همین مدار کوچیک، پایه و اساس ساخت پروژه‌های خیلی پیچیده‌تر رو یاد می‌گیری.

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

قطعات موردنیاز

  • برد آردوینو (مثل Arduino UNO)
  • برد بورد (Breadboard)
  • ال‌ای‌دی
  • مقاومت (بین 220 تا 330 اهم)
  • چند عدد سیم جامپر
مرحله ۱

بستن مدار LED و مقاومت روی برد بورد

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

حالا نوبت اتصال ال‌ای‌دی به مداره. نکته خیلی مهم: ال‌ای‌دی‌ها قطبیت دارن! یعنی پایه مثبت و منفی‌شون فرق داره و اگه برعکس وصل بشن روشن نمی‌شن (یا ممکنه آسیب ببینن). پایه مثبت ال‌ای‌دی (که معمولا بلندتره) رو به سمتی که مقاومت هست وصل کن و از پایه منفی (کوتاه‌تر) یه سیم به پین GND آردوینو بکش. دقیقا مثل شماتیک پیش برو تا همه‌چیز درست باشه.

مرحله ۲

نوشتن اولین کد برای کنترل آردوینو

خب، حالا می‌رسیم به بخش شیرین کدنویسی. آردوینو مثل یه مغز متفکر می‌مونه که با چند خط کد، هر کاری که بخوای رو برات انجام می‌ده. کدی که برای چشمک زدن نیاز داریم خیلی ساده‌ست. نرم‌افزار Arduino IDE رو تو سیستمت باز کن تا کار رو شروع کنیم.

هر برنامه آردوینو برای اجرا شدن به دو ساختار اصلی نیاز داره. اول از همه این قالب رو تو صفحه بنویس: void setup() { } و پایین‌تر از اون void loop() { }.

روش کار اینطوریه که وقتی برد رو روشن یا ریست می‌کنی، کدهای داخل قلاب‌های setup فقط یک بار اجرا می‌شن. اما کدهای داخل loop تا وقتی که برق آردوینو وصل باشه، بی‌وقفه تکرار می‌شن. قبل از اینکه بریم سراغ این دو بخش، بهتره به پین شماره 7 یه اسم بدیم. پس بالای همه‌چیز بنویس: int ال‌ای‌دی = 7;

با این خط کد، ما متغیر ال‌ای‌دی رو به عدد 7 اختصاص دادیم. از این به بعد هر جا تو کد بنویسیم ال‌ای‌دی، برد می‌فهمه منظورمون همون پین شماره 7 هست. حالا داخل بخش setup باید نقش این پین رو مشخص کنیم.

پین‌ها می‌تونن ورودی یا خروجی باشن. خروجی (OUTPUT) یعنی پینی که قراره ولتاژ بفرسته بیرون و یه چیزی رو روشن کنه؛ دقیقا مثل کاری که الان می‌خوایم انجام بدیم. پس داخل قلاب‌های بخش setup این خط رو اضافه کن:

pinMode(ال‌ای‌دی, OUTPUT); یادت باشه که آخر هر خط کد تو آردوینو حتما باید نقطه ویرگول (;) بذاری. حالا بریم سراغ کنترل خود قطعه. داخل بخش loop بنویس: digitalWrite(ال‌ای‌دی, HIGH);

این دستور، پین 7 رو تو حالت HIGH قرار می‌ده؛ یعنی بهش برق می‌رسونه و روشنش می‌کنه. اگه الان برنامه رو آپلود کنی، می‌بینی که ال‌ای‌دی روشن می‌شه و همون‌طور روشن می‌مونه.

اما هدف ما این بود که چشمک بزنه، مگه نه؟ پس تو خط بعدی بنویس delay(1000); این کار باعث می‌شه برد دقیقا یک ثانیه (1000 میلی‌ثانیه) تو همون حالت بمونه و صبر کنه. می‌تونی این عدد رو تغییر بدی؛ مثلا برای نیم ثانیه عدد 500 رو بنویسی. با این حال هنوز مدارت چشمک‌زن نشده. پس تو خط بعدی بنویس: digitalWrite(ال‌ای‌دی, LOW); با این دستور، جریان قطع می‌شه. حالا کدت رو اجرا کن. متوجه چیز عجیبی نشدی؟

باز هم چشمک نمی‌زنه! یکم بهش فکر کن. با توجه به چیزی که درباره تکرار شدن حلقه loop گفتم، می‌تونی حدس بزنی مشکل از کجاست؟

اگه متوجه نشدی اصلا جای نگرانی نیست. دلیلش اینه که به محض خاموش شدن، برنامه دوباره به خط اول loop برمی‌گرده و سریع روشنش می‌کنه. در واقع فاصله زمانی انقدر کمه که به چشمت فرصت نمی‌ده خاموش موندنش رو ببینه! راه‌حل چیه؟ خیلی ساده‌ست! کافیه یه دستور delay(1000); دیگه دقیقا بعد از خط خاموش شدن بنویسی. تبریک می‌گم، الان یه ال‌ای‌دی چشمک‌زن واقعی داری!

ساختار نهایی کدت این شکلی می‌شه: اول متغیر تعریف شده، تو بخش setup پین رو خروجی کردیم، و تو loop قطعه روشن می‌شه، یه ثانیه صبر می‌کنه، خاموش می‌شه و دوباره یه ثانیه مکث می‌کنه.

مرحله ۳

شخصی‌سازی کدها و قدم‌های بعدی

با استفاده از متغیرها، می‌تونی کدهات رو هوشمندتر کنی. مثلا به جای اینکه عدد 1000 رو برای هر بار تاخیر مستقیما بنویسی، می‌تونی یه متغیر به اسم del تعریف کنی و مقدارش رو برابر 1000 قرار بدی. حالا تو دستورهای تاخیرت کافیه فقط کلمه del رو بنویسی.

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

حالا می‌تونی یه قدم فراتر بری. مثلا با کم کردن مقدار متغیر زمان تو هر بار چرخش حلقه، کاری کنی که سرعت چشمک زدن مدام بیشتر بشه. حتما با این کدها حسابی تمرین کن و ایده‌های جدیدت رو امتحان کن. مرسی که تو این آموزش همراه آیسی‌مدار بودی؛ یادت نره نظرت رو درباره اولین تجربه‌ت با آردوینو برامون تو کامنت‌ها بنویسی!

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

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

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!