فهرست مطالب:

نحوه رانندگی تعداد زیادی LED از چند پین میکروکنترلر: 6 مرحله (همراه با تصاویر)
نحوه رانندگی تعداد زیادی LED از چند پین میکروکنترلر: 6 مرحله (همراه با تصاویر)

تصویری: نحوه رانندگی تعداد زیادی LED از چند پین میکروکنترلر: 6 مرحله (همراه با تصاویر)

تصویری: نحوه رانندگی تعداد زیادی LED از چند پین میکروکنترلر: 6 مرحله (همراه با تصاویر)
تصویری: یک تیغ ریش را پشت موبایل خود بگذارید ببینید چه اتفاقی میوفته 2024, نوامبر
Anonim
چگونه می توان LED های زیادی را از چند پین میکروکنترلر هدایت کرد
چگونه می توان LED های زیادی را از چند پین میکروکنترلر هدایت کرد

با استفاده از این واقعیت که بسیاری از پین های میکروکنترلر دارای سه حالت هستند (+V ، GND یا "امپدانس بالا") ، می توانید LED های N*(N-1) را از پین N هدایت کنید. بنابراین میکروکنترلر کوچک 8 پین مانند PIC12Fxxx یا ATtiny11 می تواند رانندگی کند 20 LED در پنج پین خروجی موجود قرار دارد و هنوز یک پین برای نوعی ورودی باقی مانده است. همچنین به https://www.instructables.com/id/Charlieplexing-LEDs--The-theory/ مراجعه کنید

مرحله 1: 20 LED در 5 پین

20 LED در 5 پین
20 LED در 5 پین

محصول فعلی میکروکنترلرهای کم تعداد پین (6 پین تا 20 پین روشن است

کل بسته) دارای قیمت های جذاب و "زیبا" هستند ، اما این سوال مطرح می شود که چگونه می توانید از این پین ها برای برنامه های معمول مانند LED های رانندگی بهترین استفاده را ببرید. یک روش اتصال مستقیم به LED های رانندگی برای هر LED یک پین مصرف می کند. یک طرح چندگانه سنتی که در آن ردیف آندهای LED توسط یک مجموعه N پین هدایت می شوند و کاتد مشترک هر ردیف توسط مجموعه دیگری از پین های M رانده می شود و LED های N*M را با پین های N+M روشن می کند. با این حال ، در پردازنده ای که فقط 5 یا کمتر خروجی دارد (مانند بیشتر میکروکنترلرهای 8 پینی) ، این به سختی خروجی بیشتری نسبت به درایو مستقیم به شما می دهد.

مرحله 2: شارلی پلکسینگ

چارلی پلکسینگ
چارلی پلکسینگ

با فرض اینکه پین های خروجی در واقع دارای قابلیت سه حالته (فعال بودن بالا ، فعال کم و امپدانس بالا (ورودی)) هستند ، همچنین می توان درایورهای سطر و ستون را به اشتراک گذاشت و LED های N*(N-1) را فقط با پین N کنترل کرد. یک پین به کاتدهای متداول یک ردیف LED و Drilowlow متصل می شود ، و پین های N-1 باقی مانده به آندها متصل می شوند و یا برای روشن شدن آن ستون به دور رانده می شوند ، یا به عنوان ورودی برای خروج از LED off باقی می مانند. ماکسیم این تکنیک را "Charlieplexing" می نامد و آن را در (1) شرح می دهد. Microchip همچنین در سند خود (2) به این موضوع اشاره کرده است (و همچنین روی برد PICKit 1 نیز پیاده سازی شده است.) (1) "Charlieplexing-Reduced Pin-Count LED Display Multiplexing" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "نکات و ترفندهای 8 پین میکروکنترلر FLASH PIC" https://ww1.microchip.com/downloads/fa/DeviceDoc/40040b.pdf(3) LED های شارلیپلکس- نظریه یک دستورالعمل rgbphil

مرحله 3: به کار انداختن آن

به کار انداختن آن
به کار انداختن آن
به کار انداختن آن
به کار انداختن آن

این 20 LED را از ATtiny11 هدایت می کند. نسخه قبلی این تخته بود

در واقع ساخته شده و به عنوان عکس صفحه اصلی ظاهر می شود. می ترسم تصویر شماتیک بسیار ناامید کننده باشد. شما به Eagle نیاز دارید تا به شما بگوید کدام سیگنال ها در کجا وصل شده اند.

مرحله 4: کوچکتر و همه کاره تر…

کوچکتر و همه کاره تر…
کوچکتر و همه کاره تر…

از آنجا که بیشتر تخته توسط آرایه LED گرفته شده است ، می توانیم فضا را خالی کنیم

چه برای تراشه Attiny و چه برای تراشه PIC12F میکروچیپ. LED ها را تا 3 میلی متر کاهش دهید و به یک برد دو طرفه بروید ، و چیزی در حدود 27x44 میلی متر به دست می آوریم افسوس ، این برد هنوز آزمایش نشده است…

مرحله 5: Itty Bitty

ایتی بیتی
ایتی بیتی

ریزتراشه البته دارای تراشه های 6 پین PIC10F است که می تواند رانندگی کند

فقط 6 LED از 3 پین خروجی. این قطر حدود 16 میلی متر است. رفتن به LED های 603 به شما امکان می دهد کمی کوچکتر شوید ، اما من مطمئن نیستم که منظور چیست.

مرحله 6: نرم افزار

نرم افزار به دلایل کلی کمی کثیف می شود:

1) برای PCB های نشان داده شده ، LED ها بجای ترتیب بیت صحیح "مناسب" برای چیدمان PCB مناسب هستند. IMO ، این راهی برای انجام کارها است ، اما به این معنی است که ردیف 1 لزوماً به معنی بیت 1 نیست ، یا عبارت 3 به معنی بیت 3 نیست. این به سطحی از نگاشت بین آدرس معمول سطر/ستون و بیت هایی که نیاز به تنظیم دارند 2) از آنجا که بیت های مشابه برای آند و کاتد استفاده می شود ، اتصال مشترک (سطری) برای برخی از بیت ها می تواند در وسط بیت های رانده شده (ستون) باشد. این بدان معناست که شما باید بیت های ستون را بسته به اینکه قبل یا بعد از بیت ردیف آن مجموعه ستون ها هستند ، به اطراف بچرخانید. 3) شما باید کلمات خروجی را برای رجیستر ioport و جهت پورت استخراج کنید. کد ASM پیوست شده برای ATtiny11 "اثبات مفهوم" است. این به طرز شگفت انگیزی بهینه نشده است و نظرات ضعیفی در مورد آن داده شده است ، اما این تنها چیزی است که من تا به حال نوشته ام.

توصیه شده: