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

آموزش ساخت LED Chaser با آردوینو و ال ای دی

led-chaser-with-arduino-digispark
نوشته شده توسط پریسا پوربلورچیان

از ابتدایی ترین پروژه های آردوینو و صد البته کاربری ترین ساخت رقص نور با ال ای دی LED است. قطعا بیش از ۱۰ روش برای برنامه نویسی رقص نور وجود دارد که ما در این آموزش یکی از جذاب ترین و کوتاه ترین روش برنامه نویسی را آموزش خواهیم داد. قرار بر این است، روش ساخت LED Chaser یا همان ال ای دی آبشاری با آردوینو را اجرا کنیم. در این پروژه آردوینو Arduino چند تکنیک بسیار مهم در برنامه نویسی را با هم مرور می‌کنیم. در ادامه ساخت LED Chaser با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


برد آردوینو Arduino


برد آردوینو میکروکنترلری با قابلیت دسترسی به پورت های دیجیتال و آنالوگ و پروتکل‌های I2C و SPI است. در این آموزش از آردوینو Arduino مدل UNO استفاده شده است. برد آردوینو Arduino دارای تراشه Atmega328P است و با در اختیار داشتن پایه‌های کنترلی آنالوگ و دیجیتال I/O می‌توان با سنسورهای مختلف ارتباط برقرار کرد. با در نظر گرفتن پروتکل ارتباطی، آن‌ها را راه اندازی و کدنویسی کرد. محیط برنامه نویسی IDE Arduino است که نیاز به دانش برنامه نویسی C++ خواهد داشت. با انتقال کد به محیط برنامه نویسی و کامپایل کد پروژه آماده اجرا خواهد بود. مراحل نصب نرم افزار آردوینو Arduino در آموزش زیر نوشته و منتشر شده است. در صورتیکه تا به حال با برد آردوینو کار نکرده اید، ابتدا آموزش زیر را مطالعه و سپس مراحل بعدی را اجرا کنید. آموزش کار با برد آردوینو Arduino و نصب نرم افزار Arduino IDE همچنین به صورت مستقیم میتوانید نرم افزار آردوینو را از طریق لینک زیر دانلود کنید. مراحل نصب نرم افزار دقیقا مشابه دیگر نرم افزارهای کامپیوتری است. برد آردوینو دارای مدل های مختلفی است که در این بین بردهای در دسترس که از لحاظ ساختاری شبیه به یکدیگر هستند به صورت زیر است.

  • آردوینو UNO
  • آردوینو Mega2560
  • آردوینو NANO
  • آردوینو Pro mini
  • آردوینو Pro micro

در پروژه ساخت LED Chaser به دلخواه از برد آردوینو Arduino UNO استفاده می‌کنیم. برد آردوینو اونو Arduino UNO دارای ۱۴ پایه دیجیتال است. به این معنی که امکان اتصال ۱۴ ورودی I/O به آردوینو فراهم است که فقط از ورودی های دیجیتال Digital پشتیبانی می‌کند. همچنین این برد دارای ۶ پایه آنالوگ منحصرا برای ورودی های آنالوگ Analog مانند ولوم و یا جوی استیک است. برای تغذیه برد پایه های ۵ ولت و ۳٫۳ ولت بر روی برد قرار دارد.

 


ال ای دی LED


ال ای دی به معرفی نیازی ندارد. ال ای دی مخفف Light Emitting Diode از خانواده Semiconductor ها است با عبور جریان از آن نور تولید می‌کند. ال ای دی ها بر اساس ولتاژ کاری، جریان عبوری از آنها، رنگ و ابعاد دسته بندی شده اند که با توجه به ولتاژ و میکرو مورد استفاده انتخاب و استفاده می‌شود. برای انتخاب نوع ال ای دی برای آردوینو Arduino از مدل های زیر میتوانید استفاده کنید.

در این مرحله اهمیت استفاده از مقاومت بر سر راه پایه های آردوینو قابل مشاهده است. حداکثر جریان عبوری از پایه های آردوینو در حدود ۴۰ میلی آمپر است و باید جریان عبوری در مدار کنترل گردد. به عنوان مثال با قرار گرفتن یک ال ای دی LED در مدار، پایه ها یک بار ۱ و یک بار ۰ خواهد شد. این به این دلیل است که ولتاژ و جریان بیش از حد مجاز بر روی پایه ها قرار گرفته و همزمان ۱ و ۰ می‌شود. برای کنترل جریان عبوری در مدار از مقاومت استفاده خواهیم کرد.

به عنوان مثال اگر ولتاژ مورد نیاز برای ال ای دی LED در حدود ۳٫۳ ولت و جریان عبوری از آن ۲۰ میلی آمپر یا ۰٫۰۲ آمپر باشد و ولتاژ آردوینو ۵ ولت DC در نظر گرفته شود، برای محاسبه مقاومت Resistor از فرومول زیر استفاده می‌کنیم.

حداقل مقاومت مورد نیاز برای کنترل جریان مدار در حدود ۸۵ اهم است. مقاومت بیش تر از ۸۵ اهم باعث کم شدن نور ال ای دی خواهد شد.  مقدار ولتاژ و جریان برای ال ای دی ها متفاوت است. به عنوان مثال اگر ولتاژ ال ای دی را در حدود ۳٫۴ ولت و جریان عبوری از آن را ۵ میلی آمپر در نظر بگیریم، مقاومت مورد نیاز در حدود ۳۲۰ اهم خواهد بود. در حالت کلی مقاومت تست شده و قابل اطمینان برای استفاده در آردوینو ۲۲۰ و ۳۳۰ اهم می‌باشد. با انتخاب این دو در مدار شدت نور ال ای دی LED بالا بوده و از سوختن آن پیشگیری خواهد کرد. با این حال بین ۱۰۰ تا ۱۵۰ اهم بهترین انتخاب برای استفاده در آردوینو خواهد بود.

آموزش کامل استفاده از مقاومت برای ال ای دی LED ها در لینک زیر قرار گرفته شده است. مطالعه کنید.

کاربرد مقاومت در بردهای آردوینو Arduino و روش استفاده

 

ال ای دی برای ساخت led chaser با آردوینو - دیجی اسپارک

 


برنامه نویسی آردوینو Arduino


برای شروع برنامه نویسی آردوینو به نرم افزار آردوینو Arduino IDE نیاز داریم. زبان برنامه نویسی آردوینو سی پلاس پلاس است و محیط نرم افزار برای شروع به واسطه رابط کاربری ساده و کتابخانه ها و برنامه های از پیش تعریف شده شروع کار را برای همه آسان کرده است. در لینک زیر روش نصب و اجرای برنامه در نرم افزار آردوینو کامل توضیح داده شده است.

آموزش کار با برد آردوینو Arduino و نصب نرم افزار Arduino IDE

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

 

محیط برنامه نویسی آردوینو برای ساخت led chaser - دیجی اسپارک

 


استفاده از آرایه Array


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

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

  • نوع آرایه مانند int, float, char است.
  • نام آرایه جهت دسترسی به مقادیر آرایه مشخص می‌شود.
  • طول آرایه با یک عدد صحیح + معرفی می‌شود.

 در این برنامه با توجه به اینکه از ۶ ال ای دی LED استفاده می‌کنیم. جهت سهولت در برنامه نویسی و سبک شدن برنامه از آرایه برای معرفی هر ۶ ال ای دی به عنوان خروجی استفاده می‌کنیم.

همانطور که گفته شد، برد آردوینو دارای ۱۴ پایه دیجیتال است که برای اتصال ورودی و خروجی ها I/O استفاده می‌شود. ۶ ال ای دی به تریبت و به دلخواه به پایه های ۲,۳,۴,۵,۶,۷ متصل شده و در برنامه به این صورت تعریف شده است. int همان نوع آرایه، Led همان نام آرایه و طول آرایه با پایه های آردوینو که به ال ای دی ها متصل است، مشخص شده است.

استفاده از آرایه برای ساخت led chaser - دیجی اسپارک

 


استفاده از ساختار تکرار For


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

استفاده از ساختار For در برنامه نویسی آردوینو led chaser - دیجی اسپارک

ساختار تکرار برای ۶ ال ای دی LED در این برنامه به صورت زیر است.

 

 


اتصال LED به آردوینو


در این آموزش به دلخواه از ۶ ال ای دی استفاده شده است. برای اتصال ۶ ال ای دی به آردوینو از پایه های دیجیتال I/O استفاده می‌کنیم.

اتصالات led chaser به برد آردوینو - دیجی اسپارک

آموزش ساخت led chaser با ال ای دی و برد آردوینو - دیجی اسپارک

 


کد آردوینو Arduino


کد آردوینو برای ساخت led chaser یا همان ال ای دی آبشاری به صورت کامل نوشته شده و آماده اجرا است. نوع برد آردوینو مورد استفاده را از نرم افزار انتخاب کرده و پورت را مشخص کنید. سپس برد آردوینو را به سیستم متصل کرده و برنامه را به نرم افزار انتقال دهید. ابتدا یک بار Verify و سپس Upload کنید.

طراحی پروژه ال ای دی آبشاری با آردوینو - دیجی اسپارک

 


جمع بندی لیدی پای


به همین ترتیب با اجرای پروژه با دو ساختار برنامه نویسی در زبان سی پلاس پلاس آشنا شده اید. استفاده از ساختارها شاید کمی سخت باشد، اما تعداد خط های برنامه نویسی به شدت کاهش یافته و برنامه ساختار منظمی داشته و توسعه و رفع عیب بسیار ساده تر است. در این برنامه از شش ال ای دی LED برای اتصال به آردوینو و روشن و خاموش شدن استفاده شده و با تاخیر و سرعت بسیار کم خاموش و روشن می‌شود. در صورت اضافه شدن ال ای دی های بیشتر کافیست طول آرایه در برنامه را افزایش داده و تعداد ال ای دی های استفاده شده را در برنامه تغییر دهید. این برنامه با تمامی بردهای میکروکنترلر از خانواده آردوینو Arduino و خانواده ESP8266 با ذکر دقیق پایه ها قابل استفاده است.

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

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۱۲ دیدگاه

  • سلام
    خانم مهندس از اینکه برنامه نویسی رو اینقدر کامل توضیح دادید واقعا در تعجب هستم!!!! کامل دقیق
    خیلی ممنونم لطفا این آموزش ها بیشتر باشد.

    • با سلام
      خیر در صورت افزایش تعداد پایه ها در کد برنامه آرایه ها را تغییر دهید.

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

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

    • با سلام
      بله برای هر ال ای دی به صورت جداگانه یک متغیر تعریف کرده و توسط دستورات digitalread و digitalwrite ال ای دی ها را HIGH و LOW کنید. طبیعتا این روش اصلا پیشنهاد نمی‌شود.

    • با سلام
      خیر محدودیتی در کدنویسی برنامه وجود ندارد و هر تعداد آرایه که مد نظر شما است، میتوانید در کد برنامه وارد کنید.