فهرست مطالب:

ماتریس LED دکمه ای فشار: 4 مرحله
ماتریس LED دکمه ای فشار: 4 مرحله

تصویری: ماتریس LED دکمه ای فشار: 4 مرحله

تصویری: ماتریس LED دکمه ای فشار: 4 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim
ماتریس LED دکمه ای فشار
ماتریس LED دکمه ای فشار

این پروژه را می توان یکی دیگر از پروژه های مقدماتی آردوینو دانست که کمی پیشرفته تر از پروژه معمول "چشمک زدن LED" است. این پروژه شامل ماتریس LED ، دکمه های فشاری ، رجیستر شیفت (که می تواند پین ها را در برد Arduino شما ذخیره کند) و یک مفهوم کلیدی به نام مالتی پلکسینگ است. امیدوارم این آموزش برای شما روشنگر باشد و خود را در جهت بهبود آن به چالش بکشید!

تدارکات

(1 برابر) آردوینو اونو

(5x) دکمه های لمسی

(2x) 0.1 uF خازن

(2x) 1 خازن uF

(8x) 1k مقاومت

(5x) مقاومت 10k

(2x) رجیسترهای شیفت 74HC595

سیم های جامپر

سیم سیاه

سیم قرمز

مرحله 1: مرحله 1: ساخت ماتریس LED

مرحله 1: ساخت ماتریس LED
مرحله 1: ساخت ماتریس LED
مرحله 1: ساخت ماتریس LED
مرحله 1: ساخت ماتریس LED
مرحله 1: ساخت ماتریس LED
مرحله 1: ساخت ماتریس LED

آموزشی که من برای ساخت ماتریس LED 8x8 در این پروژه استفاده کردم را می توانید در اینجا پیدا کنید. تنظیمات متداول برای ماتریس LED وجود دارد:

الف) آند ردیف مشترک

ب) کاتد ردیف معمولی

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

توجه: هنگام ایجاد ماتریس LED نشان داده شده در پیوند بالا ، قبل از اعمال هر مقدار ولتاژ به LED ، ستون های آند را با مقاومتهای 1k اهم متصل کنید.

مرحله 2: مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift

مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift
مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift
مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift
مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift
مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift
مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift
مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift
مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift

سیم کشی دکمه های فشار و ثبت کننده شیفت در بالا نشان داده شده است. می خواهم توجه داشته باشم که رجیسترهای شیفت در نمودار مدار پایه (پایه 8 IC) و Vcc یا منبع تغذیه (پین 16 IC) را برای تراشه ها نشان نمی دهد. پایه پایه به پین GND برد Arduino و Vcc به پین 5 ولت برد Arduino متصل است. پین Vcc هر رجیستر شیفت نیز به یک خازن 0.1uF متصل به زمین متصل است.

توجه: خروجی های هر رجیستر شیفت به عنوان QA به QH (نادیده گرفتن QH*) ذکر شده است. آنها از نظر کمترین بیت (LSB) (برای QA) تا مهمترین بیت (MSB) (برای QH) فهرست شده اند ، یعنی QA ردیف یا ستون 0 را کنترل می کند و غیره.

مرحله 3: مرحله 3: بارگذاری کد

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

نحوه به روز رسانی ستون های آند و ردیف های کاتد از طریق یک تابع تعریف شده توسط کاربر به نام "UpdateShiftRegisters" است. این تابع ابتدا پین لچ را می چرخاند ، که کنترل می کند اگر یک بایت جدید (8 بیت) به خروجی ارسال شود ، کم است بنابراین هیچ تغییری در خروجی ها ممکن نیست در حالی که بیت های جدید روی تراشه نوشته می شود. سپس با استفاده از یک تابع داخلی آردوینو به نام 'ShiftOut' ، که به طور خاص ارسال داده ها را به رجیسترهای شیفت انجام می دهد ، برنامه می نویسد که کدام ردیف (کاتدی) کم و کدام ستون (آند) باید بالا باشد. در نهایت ، پایه قفل بالا کشیده می شود تا خروجی (LED ها) به روز شود.

مرحله 4: اطلاعات و منابع اضافی

در اینجا چند پیوند به وب سایت ها یا کتابها وجود دارد که ممکن است اطلاعات بیشتری در مورد این پروژه ارائه دهند:

learn.adafruit.com/adafruit-arduino-lesson-4-eight-leds/arduino-code

www.arduino.cc/fa/tutorial/ShiftOut

www.ti.com/lit/ds/symlink/sn74hc595.pdf

www.youtube.com/watch؟v=7VYxcgqPe9A

www.youtube.com/watch؟v=VxMV6wGS3NY

شروع کار با آردوینو ، ویرایش دوم توسط ماسیمو بانزی

توصیه شده: