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

آموزش راه اندازی ال ای دی نئوپیکسل LED Neopixel 8×1 با ESP8266 و آردوینو

running neopixel led 8x1 with arduino and esp8266
نوشته شده توسط پریسا پوربلورچیان

ال ای دی های نئوپیکسل led neopixel در طرح و ظاهر های متفاوت در بازار عرضه شده و با توجه به نیاز پروژه انتخاب می‌شوند. مانند ال ای دی حلقه ای یا ال ای دی های نواری که پیکسل هایی با تعداد مشخص دارند. ال ای دی نئوپیکسل WS2812B که در ادامه به آن معرفی آن خواهیم پرداخت، امکانات ویژه ای را در اختیار شما قرار می‌دهد. در ادامه با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 


ال ای دی led neopixel


ال ای دی نئوپیکسل نوعی ال ای دی RGB هستند که در ساختار آن ها از آی سی آدرس پذیر و برنامه پذیر استفاده شده است. ال ای دی های نئوپیکسل به دلیل پشتیبانی از کتابخانه های تعریف شده، نمونه برنامه های آماده و آسان در بین سازندگان طرفداران زیادی را جذب کرده است. چرا که بدون نیاز به دانش برنامه نویسی میتوانید توسط یک میکروکنترلر به ال ای دی فرمان دهید. ال ای دی نئوپیکسل با انواع بردهای آردوینو و ESP8266 و رزبری پای سازگاری شده و کتابخانه آن در دسترس عموم قرار گرفته است. ال ای دی نئوپیکسل بر اساس چهار پایه ساخته شده است. پایه VCC, GND, DIN , Dout که یکی از ویژگی های منحصر به فرد ال ای دی نئوپیسکل را به نمایش می‌گذارد. ال ای دی های نئوپیکسل قابلیت سری شدن دارند. بی نهایت ال ای دی را میتوانید توسط پایه های DIN, Dout به یکدیگر متصل کرده و تعداد ال ای دی های متصل شده به هم را در کد برنامه آردوینو تعریف کنید تا همزمان تغییرات اعمالی را نمایش دهند. پایه ی دیتا به هر پایه از میکروکنترلر متصل شده و از قابلیت دیگر این ال ای دی میتوان به فرمان به تمامی ال ای دی ها فقط توسط یک پایه از میکرو اشاره کرد. فوق العاده است!

نوار ال ای دی 8X1 تراشه WS2812B RGB - دیجی اسپارک

 


نصب کتابخانه Adafruit Neopixel


کتابخانه Adafruit Neopixel جهت راه اندازی ال ای دی های نئوپیکسل توسعه یافته است. پس از نصب کتابخانه نمونه برنامه های مناسبی جهت شروع و یادگیری کار با ال ای دی ها در کتابخانه قرار گرفته شده است. جهت نصب کتابخانه ابتدا از مسیر زیر کتابخانه را سرچ کنید.

سپس در صفحه باز شده عبارت Neopixel را سرچ و بر روی install کلیک کنید.

نصب کتابخانه LED Neopixel در نرم افزار آردوینو IDE - دیجی اسپارک

کتابخانه نصب و آماده تست برنامه است.

 


اتصالات نوار ال ای دی


ال ای دی نئوپیکسل دارای ۴ پایه از دو طرف است:

سمت راست:

  • پایه GND
  • پایه Dout
  • پایه ۴ – ۷ DC
  • پایه GND

سمت چپ:

  • پایه GND
  • پایه DIN
  • پایه ۴ – ۷ DC
  • پایه GND

پایه DIN, DOUT جهت اتصال سری ال ای دی ها استفاده می‌شود. به عنوان مثال اگر بخواهید ۴ عدد ال ای دی نئوپیکسل ۸X1 را به یکدیگر متصل کنید، پایه DIN ال ای دی اول را به پایه DOUT ال ای دی دوم متصل می‌کنیم. به همین ترتیب روند اتصالات ادامه پیدا می‌کند.

 


کد آردوینو LED Neopixel


پس از نصب کتابخانه از مسیر Arduino/ File / Examples میتوانید نمونه برنامه های LED را تست و اجرا کنید. جهت سهولت از کد زیر استفاده کنید.

در این برنامه یک رنگ ثابت به ال ای دی نسبت میدهیم و سپس تعداد پیکسل های مورد استفاده را در برنامه تعریف کرده و اجرا می‌کنیم.

انتخاب پایه دیجیتال:

انتخاب تعداد ال ای دی نئوپیکسل:

فراخوانی کتابخانه:

فعال شدن پیکسل ها:

شرط نویسی برای پیکسل ها:

 

 


راه اندازی نئوپکسل با ESP8266


با نصب پکیج ESP8266 دسترسی به تمامی بردهای زیر شاخه پکیج ESP8266 فراهم شده و میتوانید ال دی نئوپیکسل را به برد های Nodemcu, Wemos D1 mini و سایر بردهای مشابه متصل کنید. بردهای ESP8266 از پایه های GPIO از D1 تا D8 استفاده می‌کند و بایستی در کدنویسی برنامه یکی از این پایه را با D فراخوان کنید. همچنین تنها با یک پایه GPIO میتوانید بی نهایت ال ای دی نئوپیکسل را راه اندازی و کد رنگ دهید.

راه اندازی نوار ال ای دی 8X1 تراشه WS2812B RGB با ESP8266 - دیجی اسپارک

 


کد آردوینو LED Neopixel با برد Wemos


کد زیر را کپی و به نرم افزار آردوینو انتقال دهید. سپس با توجه به نوع برد مورد استفاده Nodemcu یا Wemos D1 mini برد را انتخاب و پورت را مشخص کنید. سپس کد را کامپایل کنید:

تمامی ۲۴ ال ای دی به ترتیب با رنگ بنفش روشن شده و قابلیت تغییر رنگ دارد. جهت تعریف پایه دیتا سنسور از پایه های GPIO استفاده می‌کنیم:

 

 

راه اندازی نوار ال ای دی 8X1 تراشه WS2812B RGB با برد ویموس Wemos - دیجی اسپارک

 


تغییر رنگ Nepixel با کلید


روش دیگر تغییر دادن رنگ ال ای دی نئوپیکسل استفاده از کلید است. به این صورت که با فشردن کلید هر بار ال ای دی ها تغییر رنگ می‌دهند. در این کد سه حالت مختلف با سوییچ نوشته شده است. با هر بار فشردن کلید ال ای دی های نئوپیکسل تغییر رنگ داده و به ترتیب روشن می‌شود. برای اینکار از میکروسوسییچ استفاده خواهیم کرد. میکروسوییپچ در انواع مختلفی وجود دارد که من از مدل ماژول ۳ پایه آن استفاده می‌کنم.

 


کد آردوینو ButtonCycler


کد زیر با پایه های GPIO برد Wemos d1 mini نوشته شده است. در صورت استفاده از بردهای آردوینو کافیست به جای D1, D2 پایه های دیجیتال مورد استفاده را جایگزین کنید.

 

تعریف پایه های کلید و ال ای دی :

 

فعال سازی ورودی و شروع کار ال ای دی ها:

 

تغییر رنگ نوار ال ای دی 8X1 تراشه WS2812B RGB - دیجی اسپارک

 


تغییر رنگ LED با دستور Switch case


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

 

سپس بر اساس دستور بالا، از دستور سوییچ کیس Switch case برای شرط گذاری استفاده می‌کنیم. به این صورت که با اجرای هر Case دستورات آن اجرا شده و سپس دستور بعدی اجرا می‌شود:

case0:

 

case1:

 

case2:

 

case3:

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

 

 


وسایل مورد نیاز


نوار ال ای دی ۸X1 تراشه WS2812B RGB

برد آردوینو Arduino Uno R3 با تراشه R3 اورجینال

برد wemos D1 mini بر پایه ESP8266 با ۴ مگابایت حافظه فلش

هویه ۴۰ وات سومو مدل SM121

۶۰رشته کابل مخصوص برد بورد جامپر breadboard

 

راه اندازی نوار ال ای دی 8X1 تراشه WS2812B RGB با بردهای آردوینو - دیجی اسپارک

  

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

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

 

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

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

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

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

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

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

۲۷ دیدگاه

  • سلام وقتتون بخیر خسته نباشید.. من یکسری ال ای دی تکی ws2813 دارم ک به دلیل شکستن ریسه ی ال ای دی و محل اتصال پایه روی پی سی بی مجبور به جدا سازی شدم.. ایا راه یا اموزشی هست ک من پی سی بی دستی برای تعمیر درست کنم؟؟ دیتا شیت مورد نیازم برای چینش مدار رو پیدا نکردم.. لطفا راهنماییم کنید

    • با سلام
      پایه DIN, DOUT جهت اتصال سری ال ای دی ها استفاده می‌شود. به عنوان مثال اگر بخواهید ۴ عدد ال ای دی نئوپیکسل ۸X1 را به یکدیگر متصل کنید، پایه DIN ال ای دی اول را به پایه DOUT ال ای دی دوم متصل می‌کنیم. به همین ترتیب روند اتصالات ادامه پیدا می‌کند.

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

    • با سلام
      کاربر گرامی تفاوتی بین پایه های آردوینو نانو و آردوینو uno وجود ندارد.
      در کد این برنامه ال ای دی به پایه ی شماره ۶ متصل شده است .
      نیاز به هیچ تغییری ندارد.

      • خیلی ممنونم از پاسختون فقط اینکه دایاگرامی هست برای این پروژه ؟ این اولین پروژه من با ال ای دی های ادرس پذیر است و خیلی آشنایی ندارم و ایا نیاز به باتری هست یا با میکرو یو اس بی هم کار میکند
        ؟

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

    • با سلام
      در ایم کد فقط پایه ورودی ال ای دی تعریف شده است و برای خروجی رله پایه ای تعریف نشده است. تنها کافیست پایه Din ال ای دی را به پایه ۶ دیجیتال آردوینو D6 ( طبق این کد ) وصل کنید. همچنین نیاز به هیج مقاومتی نیست. ولتاژ کاری ال ای دی بین ۴ تا ۷ ولت است و در این پروژه تغذیه VCC از پایه ۵ ولت آردوینو تامین شده است. در صورت استفاده از ولتاژی غیر از این ال ای دی آسیب خواهد دید.

    • با سلام
      ولتاژی کاری ال ای دی ۴ الی ۷ ولت است و ولتاژ پیشنهادی ۵ ولت است. همچنین نیازی به مقاومت نیست.
      در نظر داشته باشید جهت اتصال به میکرو پایه Din بایستی متصل باشد.

      • یعنی اگر مستقیم به اردوینو وصل شه و اردوینو به کامپیوتر مشکلی نیست؟و میشه از dout بجای din استفاده کرد؟

  • سلام میخواستم ببینم که اگه من بخوام ۲ تا از این ۸ در ۱ ها رو وصل کنم به هم فقط din و dout رو اتصال بدم یا vcc و gnd هم لازمه

  • خسته نباشیذ.من وقتی داشتم سیم لحیم می کردم پایه din سوخت
    آیا این ال ای دی هنوز قابل استفاده است؟ از سوخت منظورم اینه که نمیشه بهش لحیم کرد و کلا کار نمی کند

    • با سلام
      بنده متوجه منظور شما نشدم. منظور از سوختن چیست؟
      به عنوان مثال اگر بخواهید ۴ عدد ال ای دی نئوپیکسل ۸X1 را به یکدیگر متصل کنید، پایه DIN ال ای دی اول را به پایه DOUT ال ای دی دوم متصل می‌کنیم. به همین ترتیب روند اتصالات ادامه پیدا می‌کند.