فهرست مطالب:
- مرحله 1: چرا من روی ماژول هرکول جادویی کار می کنم؟
- مرحله 2: تبدیل SPI به NZR
- مرحله 3: ماژول جادویی هرکول به عنوان تستر نوار دیجیتال LED
- مرحله 4: ماژول هرکول جادویی - راه حل جهانی جدید برای LED های دیجیتال
- مرحله 5: ماژول جادویی هرکول با Atmega32 و C
- مرحله 6: ماژول جادویی هرکول با آردوینو و آردوینو C ++
- مرحله 7: ماژول جادویی هرکول با PIC و C
- مرحله 8: ماژول جادویی هرکول با رزبری پای و پایتون
- مرحله 9: ماژول جادویی هرکول با ARM - STM32 Nucleo و C
- مرحله 10:
تصویری: Magic Hercules - درایور LED های دیجیتال: 10 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
مرور سریع:
ماژول 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
تصمیم گرفتم ماژولی را تهیه کنم که با استفاده از پروتکل NZR کارهای کثیف را برای کاربر انجام دهد. ماژولی که به عنوان مبدل SPI به NZR عمل می کند و درست مانند SPI ، می تواند به راحتی در هر پلتفرمی مورد استفاده قرار گیرد. تصویر بالا تبدیل سیگنال های SPI به پروتکل NZR را در ماژول Magic Hercules نشان می دهد.
مرحله 3: ماژول جادویی هرکول به عنوان تستر نوار دیجیتال 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 های دیجیتال با استفاده از یک پروتکل ساده و رایج 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
توصیه شده:
نحوه شکستن کولیس دیجیتال و نحوه عملکرد کولیس دیجیتال: 4 مرحله
نحوه خراب کردن کولیس دیجیتال و نحوه عملکرد کولیس دیجیتال: بسیاری از مردم نحوه استفاده از کولیس را برای اندازه گیری می دانند. در این آموزش نحوه پاره کردن کولیس دیجیتال و همچنین نحوه عملکرد کولیس دیجیتال آموزش داده می شود
پردازش سیگنال های صوتی و دیجیتال بلوتوث: یک چارچوب آردوینو: 10 مرحله
پردازش سیگنال های صوتی و دیجیتال بلوتوث: یک چارچوب آردوینو: خلاصه وقتی به بلوتوث فکر می کنم به موسیقی فکر می کنم اما متأسفانه اکثر میکروکنترلرها نمی توانند از طریق بلوتوث موسیقی پخش کنند. رزبری پای می تواند اما یک کامپیوتر است. من می خواهم یک چارچوب مبتنی بر Arduino برای میکروکنترلرها برای پخش صدا از طریق Bluet ایجاد کنم
باتری لیتیوم یون خارجی برای دوربین های دیجیتال: 12 مرحله (همراه با تصاویر)
باتری لیتیوم یونی خارجی برای دوربین های دیجیتال: یک باتری خارجی برای گرفتن عکس ها و فیلم های اضافی مفید است زیرا دارای ظرفیت بالاتری نسبت به باتری های LiPo همراه دوربین شما هستند. آنها همچنین می توانند باتری هایی که به سختی در دوربین های پشتیبان شما یافت می شوند را جایگزین کنند ، که ممکن است گاهی اوقات از آنها استفاده کنید
رابط لینک Yaesu FT-100 PC برای حالت های دیجیتال: 3 مرحله
رابط لینک Yaesu FT-100 PC برای حالت های دیجیتال: در اینجا من دستورالعمل هایی را برای ایجاد رابط پیوند PC برای Yaesu FT-100 ارائه می دهم. این رابط به شما امکان می دهد تا سیگنال های صوتی را از یک کارت صدا ارسال و دریافت کنید تا حالت های دیجیتالی HAM (FT8 ، PSK31 و غیره) کار کنند. اطلاعات اضافی در دسترس است
توسعه برنامه های کاربردی با استفاده از پین های GPIO در DragonBoard 410c با سیستم عامل های Android و Linux: 6 مرحله
توسعه برنامه های کاربردی با استفاده از پین های GPIO در DragonBoard 410c با سیستم عامل های Android و Linux: هدف از این آموزش نشان دادن اطلاعات مورد نیاز برای توسعه برنامه های کاربردی با استفاده از پین GPIO در DragonBoard 410c با سرعت کم است. این آموزش اطلاعاتی را برای توسعه برنامه های کاربردی با استفاده از پین های GPIO با SYS در Andr ارائه می دهد