فهرست مطالب:
- تدارکات
- مرحله 1: مرحله 1: ساخت ماتریس LED
- مرحله 2: مرحله 2: سیم کشی دکمه های فشار و ثبت نام های Shift
- مرحله 3: مرحله 3: بارگذاری کد
- مرحله 4: اطلاعات و منابع اضافی
تصویری: ماتریس LED دکمه ای فشار: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
این پروژه را می توان یکی دیگر از پروژه های مقدماتی آردوینو دانست که کمی پیشرفته تر از پروژه معمول "چشمک زدن LED" است. این پروژه شامل ماتریس LED ، دکمه های فشاری ، رجیستر شیفت (که می تواند پین ها را در برد Arduino شما ذخیره کند) و یک مفهوم کلیدی به نام مالتی پلکسینگ است. امیدوارم این آموزش برای شما روشنگر باشد و خود را در جهت بهبود آن به چالش بکشید!
تدارکات
(1 برابر) آردوینو اونو
(5x) دکمه های لمسی
(2x) 0.1 uF خازن
(2x) 1 خازن uF
(8x) 1k مقاومت
(5x) مقاومت 10k
(2x) رجیسترهای شیفت 74HC595
سیم های جامپر
سیم سیاه
سیم قرمز
مرحله 1: مرحله 1: ساخت ماتریس LED
آموزشی که من برای ساخت ماتریس LED 8x8 در این پروژه استفاده کردم را می توانید در اینجا پیدا کنید. تنظیمات متداول برای ماتریس LED وجود دارد:
الف) آند ردیف مشترک
ب) کاتد ردیف معمولی
از آنجا که من از آرایش کاتد ردیف مشترک ماتریس استفاده کردم ، عمدتا در اینجا در مورد آن بحث خواهم کرد و شما می توانید همین منطق را به آرایش آند ردیف مشترک بسط دهید. در آرایش کاتد مشترک ردیف ، کاتدهای LED (یا پایانه های منفی که پای کوتاهتر روی LED است) در ردیف ها به هم متصل می شوند در حالی که آندها (یا پایانه های مثبت که پای بلندتر روی LED است) در ستون ها به هم متصل می شوند. به برای آدرس دهی به یک LED خاص ، ردیف کاتدی را که کاتد LED در پایین قرار دارد بکشید و ستون آند را که آند LED روی آن بالا است بکشید.
توجه: هنگام ایجاد ماتریس LED نشان داده شده در پیوند بالا ، قبل از اعمال هر مقدار ولتاژ به LED ، ستون های آند را با مقاومتهای 1k اهم متصل کنید.
مرحله 2: مرحله 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
شروع کار با آردوینو ، ویرایش دوم توسط ماسیمو بانزی
توصیه شده:
FPGA Cyclone IV DueProLogic - دکمه فشار و LED: 5 مرحله
FPGA Cyclone IV DueProLogic - Push Button & LED: در این آموزش ، ما قصد داریم از FPGA برای کنترل مدار LED خارجی استفاده کنیم. ما قصد داریم کارهای زیر را پیاده سازی کنیم (الف) از دکمه های فشار روی FPGA Cyclone IV DuePrologic برای کنترل LED استفاده کنید. (B) فلش LED روشن & amp؛ به صورت دوره ای آزمایش آزمایشی ویدئو
Atollic TrueStudio-LED را با فشار دادن دکمه فشار با استفاده از STM32L100 روشن کنید: 4 مرحله
Atollic TrueStudio-LED را با فشردن دکمه با استفاده از STM32L100 روشن کنید: در این آموزش STM32 قصد دارم نحوه خواندن پین GPIO STM32L100 را به شما بگویم ، بنابراین در اینجا فقط یک لامپ LED را درخشان می کنم فشار دادن دکمه فشاری
کنترل روشنایی کنترل LED مبتنی بر PWM با استفاده از دکمه های فشار ، رزبری پای و خراش: 8 مرحله (همراه با تصاویر)
کنترل روشنایی مبتنی بر PWM کنترل LED با استفاده از دکمه های فشار ، رزبری پای و خراش: من سعی می کردم راهی برای توضیح نحوه عملکرد PWM برای دانش آموزانم بیابم ، بنابراین وظیفه خود را برای کنترل روشنایی یک LED با استفاده از 2 دکمه تنظیم کردم. - یک دکمه روشنایی LED را افزایش می دهد و دکمه دیگر آن را کم می کند. برای پیشرفت
دکمه فشار آنالوگ حساس به فشار: 4 مرحله
دکمه فشار آنالوگ حساس به فشار: امروزه مجموعه زیادی از دکمه ها و کلیدهای لمسی به هر قیمتی و هر شکل وجود دارد. متأسفانه ، اگر به دنبال دریافت ورودی آنالوگ هستید ، گزینه های شما محدودتر است. اگر کشویی خازنی نیاز شما را برآورده نمی کند ، احتمالاً
سه فشار فشار - خاموش فشار مدارهای اتصال: 3 مرحله
سه Push ON-Push OFF Latching Circuits: فلیپ فلاپ یا لچ مداری است که دارای دو حالت پایدار است و می توان از آن برای ذخیره اطلاعات حالت استفاده کرد. مدار را می توان با اعمال سیگنال (در این مورد ، با فشار دادن یک دکمه) تغییر حالت داد. در اینجا ، من سه روش مختلف برای نشان دادن