آردوینو آموزش آردوینو پروژه های آردوینو سخت افزار

راه اندازی LED RGB addressable نواری با برد آردوینو Arduino

راه اندازی LED RGB addressable نواری با برد آردوینو Arduino دیجی اسپارک
نوشته شده توسط پریسا پوربلورچیان

اخیرا مصرف ال ای دی های نواری برای طراحی و نورپردازی و … بسیار مورد توجه قرار گرفته است. این نوع ال ای دی ها مدل های مختلفی دارند. از جمله شلنگی، شاخه ای، نواری تک رنگ، نواری RGB و نواری برنامه پذیر یا همان addressable شناخته میشوند. در بین این ها مدل addressable ویژگی های منحصر به فردی دارد. از آنجایی که شیوه فرمان به این LED از طربق موج PWM ارسال میشود. به این معنی که در یک مسیر میتوان رنگ های مختلفی را برای هر ال ای دی تعریف کرد. این موضوع باعث کارایی بیشتر و جذابیت میشود. همچنین میتوان با در کنار هم قرار دادن چند نوار از این ال ای دی یک نویسنده یا تابلو روان بسازیم. همانطور که اشاره کردم ال ای دی RGB یک نوار رنگی برنامه پذیر دارای قابلیت انعطاف پذیری، زیبا و درخشنده هستند.

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

 

معرفی LED RGB

LED های RGB درخشان ، انعطاف پذیر و آدرس پذیر بوده و کار با آن ها هیجان خاصی دارد. در هر متر این نوار، ۳۲ ال ای دی RGB وجود دارد که شما میتوانید هر LED را به طورجداگانه کنترل کنید !!! درست متوجه شدید ، این یک ال ای دی نواری دیجیتال و آدرس پذیر می باشد. با این نوار میتوانید رنگ های متنوعی از جمله قرمز ،سبز و آبی را با ۷ پایه PWM برد میکروکنترلر تنظیم نمایید.

LED ها با شیفت رجیستر کنترل شده و برای راه اندازی تنها به ۲ پین PWM برای ارسال اطلاعات رنگ ها نیاز خواهند داشت. حال به بررسی تراشه LPD8806 میپردازیم.  LPD8806 با فرکانس ۱٫۲ مگاهرتز با سرعت ۷bit – PWM برای هر کانال تعریف شده و به این معنی می باشد که میتواند ۲۱ بیت رنگ در هر LED را به راحتی تشخیص دهد. هنگامیکه سطح brightnes را برای LED تنطیم کردید ، میکروکنترلر می تواند به حالت OFF رفته و دیگر کارها را انجام دهد که بدون نیاز به آپدیت مداوم و تنظیم کلاک خواهد بود.

 

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

آردوینو UNO R3

ال ای دی نواری برنامه پذیر

کابل مخصوص

 

در ابتدا ۴ سیم سوزنی را به پایه ی GND ، پایه ی دیتا (DI)، پایه ی کلاک (CI) و در اخر به پایه تغذیه ۵+ ولت لحیم و اتصال میدهیم.

اتصال سیم به ال ای دی نواری RGB Strip - دیجی اسپارک

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

قبل از شروع به کار ولتاژ LED RGB را دقیقا بررسی کنید.نمونه ی استفاده شده در این آموزش از نوع ۱۲ ولت می باشد. از این رو شیوه ی اتصال کمی متفاوت است. تصویری که در زیر مشاهده میکنید برای اتصال LED نواری ۵ ولت به برد آردوینو Arduino طراحی شده است. در ادامه شیوه ی اتصال LED 12 ولت به برد آردوینو Arduino را توضیح خواهم داد.

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

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

 

سیم GND را به یکی از پایه های GND آردوینو وصل میکنیم.

سیم کلاک (CI) را به پایه ی ۳ Digital PWM آردوینو وصل میکنیم.

سیم دیتا (DI) را به پایه ی ۲ Digital PWM آردوینو وصل میکنیم.

 سیم ۵+ ولت را به تغذیه ۵ ولت آردوینو وصل میکنیم. ولی در این مثال ما از ال ای دی نواری با ولتاژ ۱۲ ولت استفاده کردیم. برای جلوگیری از آسیب به برد آردوینو اتصال به زمین را به این صورت اتصال دهید. بدنه ال ای دی نواری را به همراه ولتاژ آن به آداپتور ۱۲ ولت وصل کنید. سپس از منفی آن یک خروجی به یکی از پین‌های GND آردوینو بگیرید.

اتصال پین ها به برد آردوینو Arduino - digispark

 

به دو روش می‌توانید کدها را راه اندازی کنید. اول دانلود کتابخانه است. از طریق لینک کتابخانه آردوینو  LPD8806 را دانلود کنید. این فایل باید شامل LPD8806.cpp  و LPD8806.h باشد. حال این فایل را در کتابخانه آردوینو طبق این مسیر My Documents\Arduino\libraries ذخیره نمایید. فایل را به اسم LPD8806 تغییر نام دهید. بعد از نصب کتابخانه، آردوینو خود را restart کنید. حال باید از طریق مسیر زیر به کتابخانه خود دسترسی داشته باشید : File\sketchbook\libraries\LPD8806\standtest

دوم این که کدهای زیر را کپی کنید و در نرم افزار آردوینو خودتان وارد کنید. سپس کامپایل کنید.

در این مرحله طبق کد زیر میتوانید تعداد LED ها را تغییر داده و اجرا نمایید ( تعداد LED ها را مشخص کرده در این قسمت تغییر دهید )

 

تغییر رنگ ال ای دی:

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

با تغیر هر کدام از کدها رنگ جدیدی میتوانید تولید کنید. از ویژگی ال ای دی RGB همین نکته است.

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

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

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

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

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

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

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

۴۸ دیدگاه

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

    • سلام دوست عزیز
      ضمن تشکر از توجه شما با توجه به اینکه کد های برنامه نویسی زیاد است. لطفا سوال هایتان را موردی بیان کنید بنده پاسخگو خواهم بود.

    • سلام دوست عزیز

      ممنونم از شما
      در همین آموزش،قسمت وسایل مورد نیاز،لینک محصولات گذاشته شده است از جمله : ال اى دى RGB با حدود قیمت ٣٣ هزار تومان و آردوینو UNO حدود ٢٠ هزار تومان مى باشد.

  • سلام.
    این LED های addressable چه جوری هستن؟ یعنی مثلا یه LED تو نوار میتونه آبی باشه در حالی که بغلیش در همون لحظه قرمزه؟
    من از این LED های نواری RGB گرفتم ۱۲ ولت اما همه LED ها همزمان یه رنگ میشن. ۴ تا پایه داره که فکر میکنم یکی ۱۲ و بقیه GND هستن (آند مشترک) میشه واضح تر بفرمایید چه طور به آردوینو متصل کنم که بُردم نسوزه؟

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

      colorChase(strip.Color(127, 127, 127), 50);
      ۱
      colorChase(strip.Color(127, 127, 127), 50);
      با تغیر هر کدام از کدها رنگ جدیدی میتوانید تولید کنید. از ویژگی ال ای دی RGB همین نکته است.

      و برای اتصال به برد نیز فقط باید نکاتی که در مورد تغذیه برد گفته شده، دقت فرمایید.

  • با سلام ممنون از سایت خیلی خوبتون، میشه آموزش راه اندازی سنسورهای اثر انگشت مثل R305 رو با آردوینو نیز به آموزشهای خیلی خوبتون اضافه کنید؟

    • سلام
      ضمن تشکر از پیشنهاد شما، پس از انجام بررسی یا خودم یا همکارانم آموزش مربوطه را منتشر خواهیم کرد.
      سپاس از شما

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

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

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

    • با سلام
      لطفا بفرمایید پایه های DI وCI را به کدام پین های آردوینو متصل کرده اید.
      همچنین از آنجایی که این ال ای دی ۱۲ ولت می‌باشد و برد آردوینو ۵ ولت، برای اتصال پایه زمین باید به صورت انشعابی عمل کنید.

  • سلام
    ضمن تشکر از توجه شما ، بله با رزبرى نیز ، قابل راه اندازى خواهد بود ، امید بر این است تا این آموزش نیز بنا بر درخواست شما به زودى منتشر شود.

  • سلام
    ممنونم بابت مطالبتون
    ۱- می خواستم بپرسم اگه تعداد ال ای دی ها کم یا زیاد وارد بشه چه اتفاقی میفته
    ۲- آیا افکت هایی وجود داره که مستقل از تعداد ال ای دی ها باشه

    • سلام
      همانطور که در آموزش گفته شده ، تعداد ال ای دی ها را میتوانید در قسمت اول کدهاتغییر دهید .
      و همچنین با تغییر هر کدام از کدها میتوانید رنگ ال ای دی ها راتغییر داده و افکت های جدید تولید کنید.

  • ال ای دی های آدرس پذیر مختلفی با آی سی های مختلفی وجود داره مثل apa102 یا آی سی های سری ws
    می خواستم بپرسم آیا وجود آی سی های مختلف تاثیری روی کد نویسی برای افکت های مختلف داره یا نه

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

    • سلام
      ممنونم از توجه شما و انرژی خوبی که به ما میدین.
      با وجود کاربرهایی مثل شما انگیزه ما بیشتر میشه.
      سپاسگزارم

      • سلام
        میشه بیشتر توضیح بدهید. یعنی باید چیکار کرد؟

        مثلاً من می خواهم ۱۰ رشته از این ریسه ها را به صورت موازی با آردوینو کنترل کنم.
        چطور باید اینکار را بکنم

        با تشکر از شما

        • سلام
          آیا میخواهید این ۱۰ رشته برنامه های یکسانی را اجرا کنند ؟ یا اینکه هر ۱۰ رشته را به عنوان پیکسل های ماتریسی آدرس دهی کنید؟!
          درمورد اولی، با یک برد آردوینو UNO که در این اموزش استفاده شده حداکثر تا ۸ رشته ال ای دی را میتوانید آدرس دهی کنید که مستلزم تغییراتی در کدها است. در مورد دوم، پروژه ی بسیار سنگین و پردازش بالاتری دارد و از بحث این آموزش خارج است.

  • سلام
    یک برد آردوینو UNO ، فقط دارای ۸ پایه PWM می باشد. که باید برای هرکدام از پین ها در کد برنامه تغییرات ایجاد کنید. برای مدیریت ۱۰ رشته باید از شیلد های توسعه استفاده نمایید.

  • سلام. من مراحلو کامل انجام دادم. ولی کلا سبزه و تغییر رنگ نمیده!
    فقط وقتی پایه زمینو درمیارم و دوباره میزنمش رنگاش تغییر میکنه ولی باز ثابته!
    مهندس چیکارش کنم به نظر شما؟
    با تشکر

    • سلام
      از توجه شما ممنونم.
      ابتدا اتصالات led را بررسی کنید. سپس کدها را بررسی کنید و در نهایت تعداد led های تعریف شده را چک کنید.

  • اول اموزش نوشته شده هر یک متر ۳۲ ال ای دی دارد که من اونی که از شما خریداری کردم فقط ۲۴ تا داره!
    داخل ویدیویی شما گذاشتید ال ای دی ها دارن سه تا سه تا تغییر وضعیت میدن، درسته؟
    امکان تغییر به صورت تکی هم دارن؟

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

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

        شما با همین مدلی که ویدیوشو گذاشتید تونستید یکی یکی تغییر بدید؟

        و اینکه تفاوت ال ای دی نواری neopixel با این مدل چیه؟ مثلا کیفیت کدوم بالاتره یا کدوم بصرفه تره ؟
        بازم تشکر.

        • سلام مجدد
          ضمن تشکر از توجه شما، تمامی کتابخانه‌های مورد استفاده در آموزش‌ها، ابتدا تست شده و سپس آپلود می‌شوند. برای تغییر ال ای دی‌ها نیز باید در کتابخانه تغییراتی ایجاد کنید.
          در مورد سوال دوم نیز هر دو یکی می‌باشند. در همین ال ای دی نواری RGB که در آموزش استفاده شده ، ال ای دی‌ها Neopixel می‌باشند.

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

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

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

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

    • سلام
      از توجه و لطف شما صمیمانه سپاسگزارم.
      دقت کنید که ال اى دى نوارى از نظر ظاهر داراى اتصال فیش مانند است و باید سیم را قطع کنید و سپس همانند آموزش اتصالات را برقرار کنید. همچنین این ال ای دی چون استاندارد ip67 و ip68 دارد و نسبت به آب و گرد و غبار مقاوم است، از این رو در ابتدا و انتهای نوار دارای اتصالات مناسب است که شما بر اساس کاربری که دارید و نیازتان از سیم ها فقط استفاده کنید.

  • سلام و تشکر از آموزش های بسیار مفیدتون
    من می خواستم یک پالس با فرکانس معین و در زمان مشخصی تولید کنم
    مثلا ساعت ۱۰ و ۵۰ دقیقه و ۳۰ ثانیه و ۵ صدم ثانیه
    برای این کار امکانش هست که از آردوینو attiny85 استفاده کرد؟
    چطور میشه یک LED رو با زدن یک کلید صفحه کلید کامپیوتر روشن و خاموش کرد؟
    ممنون میشم اگه طریق کدنویسی attiny85 برای این کار برام توضیح دهید

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

  • درود. همه چراغا سبز رنگ روشن میشن، هر چی متد strip.color رو هم عوض میکنم و رنگای مختلف میدم بازم فقط رنگ سبز رو نشون میده، میشه بگین باید چیکار کنم؟

    • سلام
      در اینصورت اتصالات را درست نبسته اید. ضمن بررسی مجدد اتصالات، موارد را از این طریق اعلام کنید.

      • سر مثبت منبع تغذیه به سر +۱۲ رشته وصل شده و سر منفی منبع تغذیه و رشته به GND برد وصل شده، DI به پورت ۸ و CI به ۹ مگا ۲۵۶۰ وصل شده و تعداد LED ها که ۴۸ تاست (دو متر) به صورت کامل داده شده و CI و DI هم به صورت کامل تعریف شده. پورت ها رو مثه مال شما ۲ و ۳ هم قرار دادم و باز نشد. میشه بگین مشکل از کجاس؟
        سپاس