فهرست مطالب:

Magic Hercules - درایور LED های دیجیتال: 10 مرحله
Magic Hercules - درایور LED های دیجیتال: 10 مرحله

تصویری: Magic Hercules - درایور LED های دیجیتال: 10 مرحله

تصویری: Magic Hercules - درایور LED های دیجیتال: 10 مرحله
تصویری: Часть 2 — Аудиокнига Редьярда Киплинга «Книга джунглей» (главы 4–7) 2024, نوامبر
Anonim
Magic Hercules - درایور LED های دیجیتال
Magic Hercules - درایور LED های دیجیتال

مرور سریع:

ماژول Magic Hercules یک مبدل بین SPI معروف و ساده به پروتکل NZR است. ورودی های ماژول دارای تحمل +3.3 ولت هستند ، بنابراین می توانید با خیال راحت هر میکروکنترلری را که با ولتاژ +3.3 ولت کار می کند ، وصل کنید.

استفاده از پروتکل SPI برای کنترل LED های دیجیتال یک رویکرد نوآورانه در میان راه حل های فعلی است ، مانند کتابخانه های آماده برای آردوینو. با این حال ، بدون توجه به خانواده میکروکنترلرها (مانند ARM: STM / Cypress PSoC ، Raspberry Pi ، AVR ، PIC ، Arduino) و صرف نظر از زبان برنامه نویسی (به عنوان مثال C ، Arduino C ++ ، پایتون یا دیگری) ، امکان تغییر به هر پلتفرمی را می دهد. که از پروتکل SPI پشتیبانی می کند). این رویکرد برای برنامه نویسی LED های دیجیتال بسیار مبتدی است زیرا تنها چیزی که نیاز دارید دانش پروتکل SPI است.

ماژول MH همچنین چندین حالت آزمایش نوارهای دیجیتال LED را شامل می شود ، از جمله آزمایش ترتیب رنگ در دیود (RGB ، BGR ، RGBW و غیره) ، آزمایش کل نوارها یا نمایشگرها (حداکثر 1024 LED).

مرحله 1: چرا من روی ماژول هرکول جادویی کار می کنم؟

چرا روی ماژول هرکول جادویی کار می کنم؟
چرا روی ماژول هرکول جادویی کار می کنم؟

مدت طولانی است که با LED های دیجیتال مانند WS2812 ، WS2815 یا SK6812 کار می کنم ، که معمولاً آنها را Magic LED می نامم.

من بسیاری از نوارها ، حلقه ها و نمایشگرها (حتی خود من) را بر اساس Magic LED (حتی با نوع RGBW) آزمایش کردم. من از Arduino ، Nucleo (با STM) ، Raspberry Pi و تخته های خودم با میکروکنترلرهای AVR استفاده کردم.

صرف نظر از پلتفرم ، نوشتن برنامه ای برای کنترل LED های جادویی دشوار است (به دلیل نیاز به نرم افزار پروتکل NZR) ، مگر اینکه از کتابخانه های آماده ای استفاده کنید که وقفه را آسان ، اما هنوز از نظر استفاده از کد بهینه نمی کند. پاسخ ها ، یا استفاده از حافظه ، و فقط روی سیستم عامل های خاص کار می کند (انتقال آنها به عنوان مثال از میکروکنترلرهای تمشک به AVR غیرممکن است).

با توجه به این که من اغلب از پلتفرم های مختلف استفاده می کنم ، نیاز داشتم که کد برنامه تا حد امکان با Arduino ، Raspberry Pi ، ARM / STM (Nucleo) یا AVR سازگار باشد - مخصوصاً در مورد جلوه های نور.

من مدتهاست در کانال یوتیوب کار می کنم و بیش از یک راهنمای برنامه نویسی دیودهای دیجیتالی به زبان C برای میکروکنترلرهای AVR (اما در حال حاضر فقط به زبان لهستانی در حال حاضر) آماده کرده ام. من اغلب با مبتدیانی که با برنامه نویسی LED های جادویی مبارزه می کنند تماس دارم. البته برخی ، بسته به بستر ، کتابخانه های آماده را برای پروژه های یکبار خود انتخاب می کنند. با این حال ، بسیاری از مردم به دنبال راه حل های دیگر هستند یا سعی می کنند اسرار برنامه نویسی را بیاموزند و من یکی از آنها هستم.

مرحله 2: تبدیل SPI به NZR

تبدیل SPI به NZR
تبدیل SPI به NZR

تصمیم گرفتم ماژولی را تهیه کنم که با استفاده از پروتکل NZR کارهای کثیف را برای کاربر انجام دهد. ماژولی که به عنوان مبدل SPI به NZR عمل می کند و درست مانند SPI ، می تواند به راحتی در هر پلتفرمی مورد استفاده قرار گیرد. تصویر بالا تبدیل سیگنال های SPI به پروتکل NZR را در ماژول Magic Hercules نشان می دهد.

مرحله 3: ماژول جادویی هرکول به عنوان تستر نوار دیجیتال LED

ماژول جادویی هرکول به عنوان تستر نوار LED دیجیتال
ماژول جادویی هرکول به عنوان تستر نوار LED دیجیتال

هنگام اتصال LED های دیجیتال به سیستم های مختلف ، باید در مورد تحمل ولتاژ مناسب برای میکروکنترلرهای مختلف به یاد داشته باشید. اکثر پین های ورودی / خروجی میکروکنترلرهای ARM در استاندارد +3.3 ولت کار می کنند ، در حالی که میکروکنترلرهای AVR در استاندارد TTL کار می کنند. به همین دلیل ، پین های ورودی ماژول Magic Hercules دارای تحمل +3.3 ولت هستند ، بنابراین می توان آنها را با خیال راحت به مثال Raspberry P یا هر میکروکنترلر مبتنی بر ARM +3.3 ولت متصل کرد.

همانطور که قبلاً اشاره کردم ، من اغلب با انواع مختلف LED های دیجیتال کار می کنم. بسته به سازنده ، رنگهای جداگانه در LED ها می توانند در موقعیت های مختلف باشند ، به عنوان مثال. RGB ، BGR ، GRB ، RGBW ، GRBW ، و غیره غیر معمول نیست که اسناد سازنده به ترتیب RGB اشاره کنند ، اما در واقع متفاوت به نظر می رسد. من ماژول Hercules را به یک آزمایش توالی رنگ مجهز کرده ام تا مشکلی در نحوه سریع برنامه نویسی برای ترتیب رنگ مناسب وجود نداشته باشد. چندین عملکرد اضافی دستگاه تستر به شما امکان می دهد به سرعت بررسی کنید که آیا نوار LED دیجیتال به طور کلی کار می کند یا خیر ، آیا همه رنگهای هر LED در نوار (حداکثر 1024 LED!) به درستی کار می کنند (بدون پیکسل مرده). و همه اینها بدون اتصال میکروکنترلر و نوشتن هیچ برنامه ای.

مرحله 4: ماژول هرکول جادویی - راه حل جهانی جدید برای LED های دیجیتال

ماژول جادویی هرکول - راه حل جهانی جدید برای LED های دیجیتال
ماژول جادویی هرکول - راه حل جهانی جدید برای LED های دیجیتال

من فکر نمی کنم هنوز چنین چیزی وجود داشته باشد ، برای کنترل LED های دیجیتال با استفاده از یک پروتکل ساده و رایج SPI ، که می تواند روی هر پلت فرم یا خانواده میکروکنترلرها کار کند.

البته ، روشهای زیادی برای کنترل LED های دیجیتال وجود دارد ، برخی از آنها بهینه تر و برخی دیگر از بهینه تر نیستند. ماژول Magic Hercules گزینه دیگری است و برای من بسیار کاربردی است. من فکر می کنم که کسی ممکن است این راه حل غیر معمول را دوست داشته باشد. من به تازگی بر روی پلتفرم سرمایه گذاری جمعی - kickstarter ، حرکت کردم ، جایی که توضیحات وسیع تری از ماژول Magic Hercules را در چندین فیلم تهیه کردم ، از جمله اینکه چگونه کار با آن بر روی Arduino ، Nucleo (STM) ، Raspberry Pi و AVR و PIC آسان است. میکروکنترلرها اگر می خواهید از پروژه هرکول سحرآمیز حمایت کنید ، این را بررسی کنید:

پروژه ماژول من جادوی هرکول در kickstarter

من برنامه ای را به زبان C آماده کردم - یک اثر ساده stargate ، که بر اساس عملیات جدول و ارسال متوالی بافر در حلقه اصلی است. به لطف ماژول Magic Hercules ، من به راحتی توانستم کد منبع را به زبان ها و سیستم عامل های دیگر منتقل کنم - مراحل بعدی را بررسی کنید - کد منبع.

مرحله 5: ماژول جادویی هرکول با Atmega32 و C

ویدئو حاوی نمودار ساده شده ، ارائه اتصال در ATB 1.05a (AVR Atmega32) ، کد منبع (در Eclipse C/C ++ IDE) و اثر نهایی در قالب جلوه نور ستاره ای.

پیوند ویدیو در یوتیوب

مرحله 6: ماژول جادویی هرکول با آردوینو و آردوینو C ++

ویدئو حاوی نمودار ساده شده ، ارائه اتصال روی برد Arduino 2560 ، کد منبع در Arduino IDE و جلوه نهایی در قالب جلوه نور ستاره ای.

پیوند ویدیو در یوتیوب

مرحله 7: ماژول جادویی هرکول با PIC و C

ویدئو حاوی یک نمودار ساده ، ارائه اتصال در ATB 1.05a با PIC shield (PIC24FJ64GA004 در هیئت مدیره) ، کد منبع در MPLAB و اثر نهایی در قالب جلوه نور ستاره ای.

پیوند ویدیو در یوتیوب

مرحله 8: ماژول جادویی هرکول با رزبری پای و پایتون

ویدئویی حاوی نمودار ساده ، ارائه اتصال روی رزبری پای 4 ، کد منبع در پایتون و جلوه نهایی در قالب جلوه نور ستاره ای.

پیوند ویدیو در یوتیوب

مرحله 9: ماژول جادویی هرکول با ARM - STM32 Nucleo و C

فیلم حاوی نمودار ساده شده ، ارائه اتصال روی برد STM32 Nucleo ، کد منبع در STM32CubeIDE و جلوه نهایی در قالب جلوه نور ستاره ای.

پیوند ویدیو در یوتیوب

مرحله 10:

تصویر
تصویر

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

اگر می خواهید در پروژه من در kickstarter شرکت کنید - این پیوند را بررسی کنید:

پروژه ماژول من جادوی هرکول در kickstarter

توصیه شده: