درس ۹۸-۱۰: چراغ راهنمایی آردوینو
چراغهای راهنما یکی از آن سیستمهای روزمرهای هستند که بهندرت به آنها فکر میکنیم — تا زمانی که خودمان یکی بسازیم. در این پروژه، شما از یک آردوینو برای شبیهسازی یک توالی واقعی چراغ راهنما استفاده خواهید کرد: سبز روشن، سپس زرد، سپس قرمز، هر کدام برای مدت زمان قابل تنظیم خودش، و این چرخه بیپایان تکرار میشود. این یک پروژه عالی برای مبتدیان است زیرا منطق زمانبندی ترتیبی، کنترل چند خروجی، و رابطه بین آنچه در شِفر (کود) مینویسید و آنچه در دنیای فیزیکی میبینید را آموزش میدهد.
فراتر از نمایش کلاسی، منطق زمانبندی که در اینجا یاد میگیرید همهجا ظاهر میشود:
- ساخت یک مدل واقعگرایانه چراغ راهنما برای راهآهن مدل یا دیوراما
- ایجاد یک سیستم نشانگر زمانبندیشده برای کارگاه یا گاراژ (مثلاً سیگنالهای «ورود ایمن است» / «صبر کنید»)
- یادگیری پایهای برای سیگنالهای عبور عابر پیاده با فازهای فعالشده با دکمه
- نمونهسازی اولیه یک توالی ریلی زمانبندیشده برای وظایف صنعتی یا اتوماسیون خانگی
- آموزش ترتیبدهی، زمانبندی و الکترونیک به کودکان با یک شیء آشنا و قابلشناسایی
بهترین بخش: پس از آپلود، کل مجموعه بهصورت مستقل کار میکند. شما یکبار آردوینو را از کامپیوتر خود برنامهریزی میکنید، سپس آن را با باتری یا آداپتور تغذیه میکنید و برای همیشه کار میکند — بدون نیاز به کامپیوتر (در ویدیو در 12:27).
چراغ راهنما چگونه کار میکند
یک چراغ راهنما در واقع فقط یک توالی زمانبندیشده از سه خروجی است. آردوینو هر بار یک الایدی را روشن میکند، تعداد مشخصی ثانیه صبر میکند، آن را خاموش میکند و به بعدی میرود. سپس چرخه تکرار میشود. در زمانبندی مثال ویدیو، سبز به مدت 3 ثانیه روشن میماند، زرد 1 ثانیه، و قرمز 3 ثانیه — اما همه اینها در شِفر (کود) قابل تنظیم هستند (در ویدیو در 49:44).
دلیل واقعگرایانه به نظر رسیدن این توالی این است که مدت زمانها جریان ترافیک دنیای واقعی را بازتاب میدهند: سبز و قرمز طولانیتر هستند زیرا وسایل نقلیه به زمان نیاز دارند تا از تقاطع عبور کنند، در حالی که زرد کوتاه است زیرا فقط یک هشدار انتقالی است. میتوانید اینها را برای مطابقت با هر سناریویی که میخواهید تنظیم کنید.
سختافزار و قطعات
فهرست قطعات این پروژه حداقلی است:
- 1 × برد آردوینو (Uno، Nano، یا Mega — هر چیزی با حداقل 3 پایه دیجیتال)
- 3 × الایدی (قرمز، زرد/نارنجی، و سبز — رنگهای مختلف اثر را واضح میکنند)
- 3 × مقاومت (300 Ω تا 1 kΩ خوب کار میکند؛ ویدیو از 1 kΩ استفاده میکند)
- 1 × بردبورد
- سیمهای جامپر
- اختیاری: یک باتری لیتیوم-یون یا آداپتور برق 5 ولت برای اجرای مستقل آن
ویدیو توصیه میکند از سه الایدی با رنگهای متمایز استفاده کنید تا اثر چراغ راهنما فوراً قابل مشاهده باشد — در غیر این صورت باید آنها را برچسبگذاری کنید (در ویدیو در 02:04).
درک محدودسازی جریان الایدی
هر الایدی به یک مقاومت محدودکننده جریان بهصورت سری نیاز دارد. دلیلش این است: یک الایدی ولتاژ رو به جلوی تقریباً ثابتی دارد (معمولاً حدود 2 ولت برای الایدیهای استاندارد 5 میلیمتری)، و اگر آن را مستقیماً به 5 ولت وصل کنید، جریان بهشدت افزایش مییابد و آن را نابود میکند. مقاومت ولتاژ اضافی را جذب میکند.
با استفاده از قانون اهم، اگر الایدی 2 ولت افت کند و منبع 5 ولت باشد، آنگاه 3 ولت باید در سراسر مقاومت افت کند. با جریان هدف حدود 10 میلیآمپر، مقدار مقاومت تقریباً 300 Ω میشود (در ویدیو در 04:41). در عمل، هر چیزی از 300 Ω تا 1 kΩ کار میکند — مقادیر بالاتر فقط الایدی را کمنورتر میکنند.
راهنمای سیمکشی
هر الایدی بهطور یکسان سیمکشی میشود: آند (پایه بلندتر) به یک پایه دیجیتال آردوینو وصل میشود، و کاتد (پایه کوتاهتر، سمت صاف بدنه الایدی) از طریق یک مقاومت به زمین وصل میشود.
در سیمکشی ویدیو، الایدی قرمز به پایه 2، الایدی زرد/نارنجی به پایه 3، و الایدی سبز به پایه 4 وصل میشود (در ویدیو در 50:50). هر سه مقاومت یک ریل زمین مشترک روی بردبورد دارند. ترتیب رنگها روی بردبورد مهم نیست — آنچه مهم است این است که شماره پایههای شِفر (کود) شما با پایههایی که واقعاً استفاده کردهاید مطابقت داشته باشد.
یک نکته کاربردی از ویدیو: مقاومت میتواند در هر دو طرف LED قرار بگیرد. میتوانید آن را بین پایه آردوینو و آند LED قرار دهید، یا بین کاتد LED و زمین — از نظر الکتریکی یکسان است (در ویدیو در 51:52).
توضیح شِفر (کود)
برنامه کامل در زیر مقاله موجود است. در اینجا روی بخشهایی تمرکز میکنیم که میخواهید سفارشیسازی کنید.
در بالای اسکچ، سه تعریف پایه هر LED را به یک پایه دیجیتال نگاشت میکند. اگر LEDهای خود را به پایههای متفاوتی سیمکشی کردهاید، این مقادیر را تغییر دهید:
const int greenLED = 4;
const int yellowLED = 3;
const int redLED = 2;
در ادامه ثابتهای زمانبندی میآیند. اینها کنترل میکنند که هر چراغ چه مدت روشن بماند، بر حسب میلیثانیه. ویدیو به طور پیشفرض از 5000 میلیثانیه برای سبز، 1000 میلیثانیه برای زرد و 5000 میلیثانیه برای قرمز استفاده میکند — اما در حین نمایش این مقادیر به 3 ثانیه / 1 ثانیه / 3 ثانیه و بعداً به 10 ثانیه / 3 ثانیه / 10 ثانیه تغییر یافتند (در ویدیو در 56:27):
const int greenOnTime = 5000;
const int yellowOnTime = 1000;
const int redOnTime = 5000;
برای تغییر ریتم چراغ راهنمایی خود، فقط این سه مقدار را ویرایش کنید. یک تقاطع آهسته و واقعگرایانه میخواهید؟ 10000، 3000، 10000 را امتحان کنید. یک نمایش سریع میخواهید؟ 1000، 300، 1000 را امتحان کنید.
در داخل loop()، توالی ساده است: سبز را روشن کن، صبر کن، سبز را خاموش کن؛ زرد را روشن کن، صبر کن، زرد را خاموش کن؛ قرمز را روشن کن، صبر کن، قرمز را خاموش کن؛ سپس به سبز برگرد. نمایشگر مسلسل هر تغییر وضعیت را چاپ میکند تا بتوانید تأیید کنید که زمانبندی با آنچه انتظار دارید مطابقت دارد.
نمایش زنده
پس از آپلود شِفر (کود)، آردوینو چرخه را به تنهایی اجرا میکند. در ویدیو، ابتدا LED سبز روشن میشود، سپس پس از مدت زمانش زرد به طور مختصر روشن میشود، سپس قرمز، و چرخه بلافاصله دوباره شروع میشود (در ویدیو در 55:20).
نمایشگر مسلسل این را به صورت متنی منعکس میکند — "green LED on"، "green off"، "yellow on" و به همین ترتیب — که راه عالی برای تأیید کارکرد مقادیر زمانبندی شما همانطور که intended است میباشد. وقتی آماده اجرای آن بدون اتصال هستید، USB را جدا کنید و یک باتری لیتیوم-یون یا آداپتور 5 ولت وصل کنید؛ آردوینو بدون کامپیوتر به چرخه ادامه میدهد (در ویدیو در 56:11).
پروژههای مرتبط از این ویدیو
- درس 98-1: چگونه یک LED را با آردوینو روشن و خاموش کنیم
- درس 98-2: چگونه یک LED را با استفاده از دکمه فشاری با آردوینو روشن و خاموش کنیم
- درس 98-3: چگونه یک LED تاگل را با استفاده از دکمه فشاری با آردوینو روشن/خاموش کنیم
- درس 98-4: محو کردن نور LED با استفاده از آردوینو: کنترل روشنایی
- درس 98-5: محو کردن نور هنگام فشردن دکمه با استفاده از آردوینو
- درس 98-6: بازی LED الاکلنگی با آردوینو
- درس 98-7: نور متحرک با استفاده از آردوینو و 5 LED
- درس 98-8: نور متحرک با دکمه فشاری و LEDها با آردوینو
- درس 98-9: ولتمتر سطح ولتاژ LED با استفاده از آردوینو یا نور متحرک با پتانسیومتر
فصلها
- [00:00] مروری بر 10 پروژه LED آردوینو
- [01:22] معرفی دوره گام به گام آردوینو
- [02:29] LED چیست: نماد، آند و کاتد
- [03:49] محاسبه مقاومت محدودکننده جریان LED
- [49:25] معرفی پروژه چراغ راهنمایی
- [49:44] توضیح زمانبندی چراغ راهنمایی
- [50:34] نمودار سیمکشی چراغ راهنمایی
- [52:13] توضیح شِفر (کود) چراغ راهنمایی
- [54:32] نمایش زنده با نمایشگر مسلسل
- [55:30] تغییر مقادیر زمانبندی
- [56:11] اجرای چراغ راهنمایی با باتری
This code has not been parsed yet. Please return to the admin panel to parse it.
مواردی که ممکن است به آنها نیاز داشته باشید
-
آمازونSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
آمازون
-
آمازون
-
آمازون
منابع و مراجع
-
مستنداتمستندات برای کیت یادگیری ۳ در ۱ اینترنت اشیاء/ماشین هوشمند/سانفاندترdocs.sunfounder.com
-
خارجی
-
خارجی
فایلها📁
کتابخانههای آردوینو (zip)
-
شِفر (کود) منبع کیت یادگیری خودرو هوشمند ۳ در ۱ سانفاندرز
3in1-kit-main-v2.zip12.80 MB
راهنمای کاربر
-
راهنمای مونتاژ ماشین هوشمند 3-in-1 آردوینو SunFounderاین سند مونتاژ گام به گام ماشین هوشمند 3-in-1 آردوینو SunFounder را نشان میدهد
SunFounder_car_assembly_manual.pdf1.20 MB