فهرست مطالب:
- مرحله 1: درباره LED ها
- مرحله 2: پتانسیومتر
- مرحله 3: مدار
- مرحله 4: PWM
- مرحله 5: برنامه (طرح ARDUINO)
- مرحله 6: MAP
- مرحله 7: آردوینو متحرک
تصویری: کنترل روشنایی ، آردوینو (با انیمیشن): 7 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
در چند سال گذشته من دو دستگاه پین بال (pinballdesign.com) و دو سر ربات (grahamasker.com) که هر کدام توسط آردوینوس کنترل می شود ، ساخته ام. با داشتن یک حرفه مهندسی مکانیک ، من با طراحی مکانیسم ها خوب هستم ، اما با برنامه نویسی مشکل دارم. من تصمیم گرفتم برای نشان دادن برخی از مفاهیم اساسی آردوینو انیمیشن بسازم. فکر می کردم این موضوع به من و دیگران کمک می کند تا آنها را درک کنند. یک عکس هزار کلمه ارزش دارد و یک انیمیشن می تواند هزار تصویر باشد!
بنابراین در اینجا یک توضیح متحرک در مورد موضوع کنترل روشنایی ارائه شده است. انیمیشن بالا شماتیک یک پتانسیومتر متصل به آردوینو را نشان می دهد. این نشان می دهد که چگونه تنظیم موقعیت پتانسیومتر می تواند روشنایی led را تغییر دهد. من قصد دارم تمام عناصر این فرآیند را توضیح دهم. برای کسانی که با پتانسیومترها و لیدها آشنا نیستند ، من با آنها شروع می کنم. سپس توضیح خواهم داد که چرا led باید به یک پین Arduino با قابلیت PWM متصل شود و چگونه از تابع MAP در یک طرح Arduino برای تبدیل ورودی از پتانسیومتر به خروجی مناسب برای کنترل led استفاده می شود.
اگر با led ها و پتانسیومترها آشنایی دارید ، می توانید از بخش 1 و 2 رد شوید.
مرحله 1: درباره LED ها
تصویر سمت چپ بالا نماد مدار برای یک led و قطبیت پایه های led را نشان می دهد. جریان فقط از طریق یک LED در یک جهت جریان می یابد بنابراین قطبیت مهم است. ساق بلندتر مثبت است. همچنین یک طرف صاف در فلنج وجود دارد ، این طرف منفی است.
ولتاژ و جریان
ولتاژ مورد نیاز یک LED بسته به رنگ آن بین 2.2 ولت تا 3.2 ولت متغیر است. رتبه فعلی آنها معمولاً 20 میلی آمپر است. به منظور محدود کردن جریان و جلوگیری از داغ شدن LED ، لازم است از یک مقاومت به صورت سری با هر LED استفاده کنید. من حدود 300 اهم را توصیه می کنم.
تصویر سمت راست بالا روشی را برای اتصال یک مقاومت به یک ساق و یک عایق بندی با آستین کوچک کننده حرارتی نشان می دهد.
مرحله 2: پتانسیومتر
از نظر آردوینو ، پتانسیومتر یک حسگر است. "سنسور" به هر وسیله خارجی اطلاق می شود که هنگام اتصال به پین های ورودی توسط آردوینو قابل تشخیص باشد. ما قصد داریم از یک پتانسیومتر متصل به آردوینو برای کنترل روشنایی یک LED استفاده کنیم. گاهی اوقات به پتانسیومتر تقسیم ولتاژ می گویند که به نظر من توصیف بهتری است. نمودار سمت چپ بالا اصل تقسیم کننده ولتاژ را نشان می دهد. در این مثال ، یک مقاومت در یک طرف به زمین متصل شده و توسط منبع تغذیه به 5 ولت در انتهای دیگر نگه داشته می شود. اگر یک لغزنده در امتداد مقاومت جابجا شود در ولتاژ 0 ولت در سمت چپ ، 5 ولت در انتهای سمت راست خواهد بود. در هر موقعیت دیگر ، مقدار آن بین 0 و 5 ولت خواهد بود. در نیمه راه ، برای مثال ، در 2.5 ولت خواهد بود. اگر ترتیب را همانطور که در بالا نشان داده شده است تغییر دهیم ، این نشان دهنده عملکرد یک پتانسیومتر دوار است.
مرحله 3: مدار
تصویر بالا نشان می دهد که چگونه باید پتانسیومتر و led را به آردوینو وصل کنیم.
اردونیو باید ولتاژ تغذیه شده توسط پتانسیومتر را حس کند. با چرخاندن پتانسیومتر ، ولتاژ به آرامی تغییر می کند ، بنابراین یک سیگنال آنالوگ است و بنابراین باید به پین ورودی آنالوگ در آردوینو متصل شود. ولتاژ این پین توسط Arduino هر بار که برنامه آن را از طریق عملکرد "analogRead" درخواست می کند ، خوانده می شود.
آردوینو فقط پین خروجی دیجیتال دارد. با این حال ، آن پین ها با یک تیلد (~) در کنار آنها خروجی آنالوگ را شبیه سازی می کنند که برای کنترل روشنایی یک Led مناسب است. این فرایند مدولاسیون عرض پالس (PWM) نامیده می شود و از طریق انیمیشن بعدی ، مرحله 4 توضیح داده می شود.
مرحله 4: PWM
PWM ، مدولاسیون عرض پالس
همانطور که قبلاً ذکر شد ، سنجاق هایی با tilda ، "~" در کنار آنها پین های PWM قرار دارند. از آنجا که پین ها دیجیتالی هستند فقط می توانند در 0v یا 5v باشند ، اما با PWM می توان از آنها برای کم نور LED یا کنترل سرعت موتور استفاده کرد. آنها این کار را با تأمین 5 ولت به یک LED انجام می دهند اما آن را بین 0 و 5 ولت در 500 هرتز (500 بار در ثانیه) می کشند و مدت زمان هر عنصر 0 و 5 ولت پالس را کشیده یا کوچک می کنند. همانطور که LED یک پالس 5 ولت طولانی تر از یک پالس 0 ولت می بیند ، روشن تر می شود. در برنامه ما ، از تابع analogueWrite () برای خروجی یک "موج مربعی" PWM استفاده می کنیم. دارای 256 افزایش است ، صفر یک چرخه کار 0٪ و 255 100٪ "چرخه وظیفه" یعنی 5 ولت مداوم می دهد. بنابراین 127 یک چرخه کار 50٪ را ارائه می دهد ، نیمی از زمان در 0v و نیمی از زمان در 5v. انیمیشن بالا نشان می دهد که چگونه وقتی این چرخه وظیفه به 100٪ کشیده می شود ، led روشن تر می شود.
مرحله 5: برنامه (طرح ARDUINO)
ویدئوی فوق یک برنامه (طرح) را که می تواند برای کنترل روشنایی led با استفاده از پتانسیومتر استفاده شود ، طی می کند. مدار همان است که در مرحله 3 نشان داده شده است.
اگر این ویدئو را سریع (یا آهسته) می خوانید تا راحت بخوانید ، می توانید سرعت آن را تنظیم کنید در انتهای سمت راست نوار کنترل پایین نمادی به شکل چرخ دنده (بعضی مواقع با برچسب قرمز "HD" روی آن قرار دارد).) اگر روی آن کلیک کنید ، منویی ظاهر می شود که شامل "سرعت پخش" می شود.
البته ، بهتر است اگر می توانید روی دکمه ای کلیک کنید تا هر خط برنامه را با سرعت خود طی کنید ، اما متأسفانه ارائه این روش تعاملی در اینجا امکان پذیر نیست. اگر ترجیح می دهید از این روش برای این موضوع و بسیاری از موضوعات دیگر آردوینو استفاده کنید ، نسخه پیش نمایش رایگان یک کتاب الکترونیکی تعاملی/متحرک در animatedarduino.com موجود است.
به نظر من یک ویژگی در برنامه وجود دارد که به توضیح بیشتری نیاز دارد: در خط 14 از تابع "map" استفاده می شود. توضیحاتی در مورد هدف آن در مرحله 6 وجود دارد
مرحله 6: MAP
ما پتانسیومتر را به پین آنالوگ متصل کرده ایم. ولتاژ پتانسیومتر بین 0 ولت و 5 ولت متغیر است. این محدوده در پردازنده در 1024 افزایش ثبت شده است. هنگامی که مقدار ورودی برای ایجاد خروجی از طریق پین دیجیتال فعال با PWM استفاده می شود ، این محدوده باید در محدوده خروجی یک پین دیجیتال ترسیم شود. این دارای 255 افزایش است. تابع نقشه برای این منظور استفاده می شود و خروجی متناسب با ورودی را ارائه می دهد.
ویدئوی بالا این را نشان می دهد.
مرحله 7: آردوینو متحرک
تصاویر این دستورالعمل از کتاب الکترونیکی من Animated Arduino گرفته شده است که در www.animatedarduino.com موجود است ، در این مقاله قصد دارم درک بهتری از برخی مفاهیم هنگام یادگیری برنامه نویسی آردوینو داشته باشم.
یک نسخه پیش نمایش رایگان از کتاب الکترونیکی در وب سایت موجود است که به شما امکان می دهد ماهیت تعاملی کتاب را تجربه کنید. این اساساً مجموعه ای از صفحات نمونه است و بنابراین بسیاری از توضیحات را حذف می کند. شامل صفحات نمونه ای است که به شما امکان می دهد روی دکمه هایی که هر خط برنامه را پیش می برند کلیک کنید و نظرات مربوطه را مشاهده کنید. سایر صفحات دارای انیمیشن های ویدئویی و محتوای صوتی هستند که می توانید آنها را کنترل کنید. یک صفحه محتوا به منظور گنجاندن آن وجود دارد تا بتوانید ببینید نسخه کامل آن شامل چه مواردی است.
توصیه شده:
کنترل روشنایی LED با پتانسیومتر با آردوینو: 3 مرحله
کنترل روشنایی LED با پتانسیومتر با آردوینو: در این پروژه ، روشنایی LED را با استفاده از مقاومت متغیر ارائه شده توسط پتانسیومتر کنترل می کنیم. این یک پروژه بسیار ابتدایی برای مبتدیان است ، اما چیزهای زیادی در مورد کار با پتانسیومتر و عملکرد LED که برای ایجاد پیشرفت لازم است به شما آموزش می دهد
کنترل روشنایی LED با پتانسیومتر و آردوینو: 6 مرحله
کنترل روشنایی LED با پتانسیومتر و آردوینو: در این آموزش با نحوه کنترل روشنایی LED با پتانسیومتر و آردوینو آشنا می شویم
کنترل روشنایی کنترل LED مبتنی بر PWM با استفاده از دکمه های فشار ، رزبری پای و خراش: 8 مرحله (همراه با تصاویر)
کنترل روشنایی مبتنی بر PWM کنترل LED با استفاده از دکمه های فشار ، رزبری پای و خراش: من سعی می کردم راهی برای توضیح نحوه عملکرد PWM برای دانش آموزانم بیابم ، بنابراین وظیفه خود را برای کنترل روشنایی یک LED با استفاده از 2 دکمه تنظیم کردم. - یک دکمه روشنایی LED را افزایش می دهد و دکمه دیگر آن را کم می کند. برای پیشرفت
ESP8266 RGB LED STRIP WIFI کنترل - NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi - کنترل تلفن هوشمند RGB LED STRIP: 4 مرحله
ESP8266 RGB LED STRIP WIFI کنترل | NODEMCU به عنوان یک کنترل از راه دور IR برای نوار LED کنترل شده بر روی Wifi | RGB LED STRIP Smartphone Control: سلام بچه ها در این آموزش می آموزیم که چگونه از nodemcu یا esp8266 به عنوان ریموت IR برای کنترل نوار LED RGB استفاده کنید و Nodemcu توسط تلفن هوشمند از طریق وای فای کنترل می شود. بنابراین اساساً می توانید RGB LED STRIP را با تلفن هوشمند خود کنترل کنید
کنترل روشنایی LED با استفاده از آردوینو و ماژول بلوتوث (HC-05): 4 مرحله
کنترل روشنایی LED با استفاده از آردوینو و ماژول بلوتوث (HC-05): مقدمه در این آموزش ، ما قصد داریم روشنایی LED را با استفاده از Arduino UNO ، ماژول بلوتوث (HC-05) و برنامه Android برای بلوتوث (ترمینال بلوتوث) کنترل کنیم