فهرست مطالب:

استفاده از صفحه کلید 4x4 با CircuitPython: 4 مرحله
استفاده از صفحه کلید 4x4 با CircuitPython: 4 مرحله

تصویری: استفاده از صفحه کلید 4x4 با CircuitPython: 4 مرحله

تصویری: استفاده از صفحه کلید 4x4 با CircuitPython: 4 مرحله
تصویری: کیپد یا صفحه کلید چیست؟ 2024, جولای
Anonim
استفاده از صفحه کلید 4x4 با CircuitPython
استفاده از صفحه کلید 4x4 با CircuitPython

این صفحه کلید ارزان قیمت یک روش ساده برای وارد کردن عددی به پروژه های CircuitPython شما ارائه می دهد. من قصد دارم آن را با Adafruit ItsyBitsy M0 express استفاده کنم.

شما نیاز خواهید داشت:

  • صفحه کلید - مال من 4x4 است
  • ItsyBitsy M0 Express یا برد مشابه
  • Mu Editor بر روی رایانه شما نصب شده است
  • کابل USB برای چشمک زدن کد

مرحله 1: نحوه عملکرد صفحه کلید

نحوه عملکرد صفحه کلید
نحوه عملکرد صفحه کلید

صفحه کلید آنها دارای 16 سوئیچ حبابی ساده و آهسته است که در یک شبکه 4 در 8 با 8 اتصال در پایین مرتب شده اند. اگر از سمت چپ از 0 تا 7 شماره گذاری کنیم ، اتصالات 0 تا 3 به هر یک از سطرها متصل می شوند. اتصال 0 به ردیف بالا و اتصال 3 به ردیف پایینی. اتصالات 4 تا 7 به ستونها با اتصال 4 در ستون چپ و اتصال 7 به ستون راست متصل می شوند. هر یک از 16 سوئیچ بین ترکیب سطر/ستون متفاوت پیوند ایجاد می کند. اگر کلید 7 را فشار دهیم ، ردیف سوم به ستون چپ متصل می شود. اگر ردیف آن HIGH بالا باشد ، اگر کلید 5 را فشار دهیم ، می توانیم حس کنیم که می توانیم یک ستون HIGH را بخوانیم. برای این کار ردیف ها را خارج کرده و از ستون ها ورودی می کنیم.

ما باید هر سطر را به نوبه خود HIGH تنظیم کنیم ، در حالی که سطرهای دیگر LOW هستند ، هر ستون را به نوبت بخوانیم تا ورودی HIGH دریافت کنیم. این به راحتی با حلقه های تو در تو مدیریت می شود.

ما باید این واقعیت را در نظر بگیریم که این سوئیچ های حبابی بسیار کند عمل می کنند و باید برای بستن آنها بسیار محکم فشار داده شوند. اسکن تمام 16 سوئیچ به این روش می تواند بسیار سریع انجام شود ، اما ما مجبوریم بارها و بارها اسکن کنیم تا یک کلید را انتخاب کنیم. ما همچنین باید با تاخیر زمانی کوتاهی "حذف" کنیم تا هر بار که فشار می دهیم کلیدها تکرار نشوند.

از آنجا که سوئیچ ها کاملاً "خراب" هستند ، ما نیاز به بازخوردی برای کاربر داریم تا نشان دهد که کلید فشار خوانده شده است. LED داخلی هر بار که یک فشار کلید حس می شود چشمک می زند.

مرحله 2: اتصالات فیزیکی

اتصالات فیزیکی
اتصالات فیزیکی

اتصالات از چپ به راست در KeyPad0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 در ItsyBitsy

D7 تا D11 به عنوان OUTPUT و A5 تا A2 به عنوان ورودی با PULLDOWN تنظیم شده اند.

کد دارای نظرات زیادی است و باید به راحتی دنبال شود.

مرحله 3: چگونه Getkey () کار می کند

چگونه () Getkey کار می کند
چگونه () Getkey کار می کند

این عملکرد صفحه کلید را برای فشار یک کلید اسکن می کند. به سرعت هر یک از کلیدها را به نوبه خود حداکثر 10 بار بررسی می کند تا ببیند آیا کلید بسته شده است یا خیر. اگر کلیدی فشار داده شود ، مقدار کلید را برمی گرداند و از بالا به پایین از چپ به راست شمارش می کند (0… 15) به مقادیر سطر پایین توجه کنید: 14 ، 0 ، 15 ، 13 (هگزا E ، 0 ، F ، D). اگر هیچ کلیدی فشرده نشده باشد -999 را به عنوان کد خطا برمی گرداند که می توان آن را به راحتی در برنامه اصلی انتخاب کرد. در صورت انتخاب یک کلید به عنوان بازخورد کاربر ، LED داخلی چشمک می زند. این بسیار سریع اجرا می شود و انتظار برگشت 0.2 ثانیه فقط زمانی که کلید را فشار دهید استفاده می شود.

مرحله 4: Getvalue (رقم)

Getvalue (رقم)
Getvalue (رقم)

این روال مقدار n رقمی را از کلیدهای عددی تأمین می کند. کلیدهای قرمز را نادیده می گیرد.

این کد پایتون را می توان به راحتی تبدیل کرد تا در دستگاه دیگری مانند Raspberry Pi اجرا شود ، احتمالاً فقط باید خطوط تنظیمات پین را در بالای اسکریپت تغییر دهید.

لطفاً اگر کد را مفید می دانید به من اطلاع دهید.

بسلامت و خوش بگذره!

توصیه شده: