فهرست مطالب:

استفاده از صفحه کلیدهای عددی با آردوینو: 4 مرحله
استفاده از صفحه کلیدهای عددی با آردوینو: 4 مرحله

تصویری: استفاده از صفحه کلیدهای عددی با آردوینو: 4 مرحله

تصویری: استفاده از صفحه کلیدهای عددی با آردوینو: 4 مرحله
تصویری: نحوه پروگرام کردن اردوینو با موبایل | How to program Arduino with mobile 2024, نوامبر
Anonim
استفاده از صفحه کلیدهای عددی با آردوینو
استفاده از صفحه کلیدهای عددی با آردوینو

صفحه کلیدهای عددی می توانند جایگزین ساده ای برای کاربر نهایی برای رابط های مختلف پروژه های شما ارائه دهند. یا اگر به دکمه های زیادی احتیاج دارید ، می توانند زمان زیادی را در رابطه با ساخت و ساز صرفه جویی کنند. ما با استفاده از کتابخانه آردوینو آنها را متصل می کنیم و سپس با یک طرح مثال مفید به پایان می رسانیم.

مرحله 1: شروع به کار

شروع شدن
شروع شدن

مهم نیست که صفحه کلیدها را از کجا تهیه می کنید ، مطمئن شوید که می توانید برگه اطلاعات را تهیه کنید - زیرا این امر هنگام اتصال سیم به آنها زندگی را آسان می کند. به عنوان مثال - تصویر در این مرحله.

برگه اطلاعات مهم است زیرا به شما می گوید کدام پین ها یا اتصال دهنده های صفحه کلید برای سطرها و ستون ها هستند. اگر برگه اطلاعات ندارید - باید دستی تعیین کنید که کدام مخاطبین برای سطرها و ستون ها هستند.

این را می توان با استفاده از تابع پیوستگی یک مولتی متر (زنگ) انجام داد. با قرار دادن یک پروب روی پایه 1 ، پروب دیگر روی پایه 2 شروع کنید و کلیدها را یکی یکی فشار دهید. زمانی که یک دکمه مدار را تکمیل می کند یادداشت کنید ، سپس به پین بعدی بروید. به زودی خواهید فهمید که کدام است. به عنوان مثال ، در مثال پین های صفحه کلید 1 و 5 برای دکمه "1" ، 2 و 5 برای "4" ، و غیره …

در این مرحله لطفاً کتابخانه صفحه کلید Arduino را بارگیری و نصب کنید. اکنون نحوه استفاده از هر دو صفحه کلید را در مثالهای ساده نشان می دهیم.

مرحله 2: استفاده از صفحه کلید 12 رقمی

ما از صفحه کلید کوچک مشکی ، سازگار با Arduino Uno و LCD با رابط I2C برای اهداف استفاده می کنیم. اگر LCD ندارید ، می توانید متن را به نمایشگر سریال ارسال کنید.

صفحه LCD خود را وصل کنید و صفحه کلید را به صورت زیر به Arduino متصل کنید: سطر صفحه کلید 1 به Arduino digital 5 صفحه کلید 2 به Arduino digital 4 صفحه کلید ردیف 3 به Arduino دیجیتال 3 صفحه کلید 4 ردیف Arduino دیجیتال 2 صفحه کلید ستون 1 به Arduino digital 8 ستون صفحه کلید 2 تا ستون 3 آردوینو دیجیتال 7 تا دیجیتال آردوینو 6 اگر صفحه کلید شما با صفحه ما متفاوت است ، به خطوط موجود در طرح توجه کنید:

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

همانطور که باید اعداد را در rowPins [ROWS] و colPins [COLS] آرایه ها تغییر دهید. شماره های پین دیجیتالی را که به ترتیب به سطرها و ستون های صفحه کلید متصل شده اند وارد می کنید.

علاوه بر این ، کلیدهای آرایه مقادیر نمایش داده شده در LCD را با فشار دادن یک دکمه خاص ذخیره می کند. می بینید که ما آن را با صفحه کلید فیزیکی مورد استفاده تطبیق داده ایم ، اما می توانید آن را به هر چیزی که نیاز دارید تغییر دهید. اما در حال حاضر ، هنگامی که از تخصیص شماره ردیف/پین راضی هستید ، طرح زیر را وارد کرده و بارگذاری کنید:

/ * صفحه کلید عددی و LCD I2C https://tronixstuff.com از کتابخانه صفحه کلید برای Arduino استفاده می کند https://www.arduino.cc/playground/Code/Keypad توسط مارک استنلی ، الکساندر برویگ */

#شامل "Keypad.h"

#شامل "Wire.h" // برای LCD I2C #شامل "LiquidCrystal_I2C.h" // برای ماژول LCD گذرگاه I2C // https://www.dfrobot.com/wiki/index.php/I2C/TWI_LCD1602_Module_(SKU: _DFR0063) LiquidCrystal_I2C ال سی دی (0x27 ، 16 ، 2) ؛ // آدرس LCD را روی 0x27 برای نمایش 16 کاراکتر و نمایش 2 خط تنظیم کنید

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

const byte ROWS = 4؛ // چهار سطر const byte COLS = 3؛ // سه ستون کلیدهای شارژ [ROWS] [COLS] = {{'1'، '2'، '3'}، {'4'، '5'، '6'}، {'7'، '8' ، '9'} ، {'*' ، '0' ، '#'}} ؛

بایت rowPins [ROWS] = {

5 ، 4 ، 3 ، 2} ؛ // اتصال به pinouts سطر byP صفحه کلید colPins [COLS] = {8 ، 7 ، 6} ؛ // به پین های ستون صفحه کلید متصل شوید

int count = 0؛

صفحه کلید صفحه کلید = صفحه کلید (makeKeymap (کلیدها) ، rowPins ، colPins ، ROWS ، COLS) ؛

void setup ()

{lcd.init ()؛ // مقداردهی اولیه LCD lcd.backlight ()؛ // روشن کردن نور پس زمینه LCD}

حلقه خالی ()

{char key = keypad.getKey ()؛ if (کلید! = NO_KEY) {lcd.print (کلید) ؛ شمارش ++ ؛ if (تعداد == 17) {lcd.clear ()؛ تعداد = 0 ؛ }}}

و نتایج طرح در ویدئو نشان داده شده است. بنابراین اکنون می توانید نحوه فشار دادن دکمه ها به داده ها برای استفاده در طرح را مشاهده کنید. اکنون این نمایش را با صفحه کلید بزرگتر تکرار می کنیم.

مرحله 3: استفاده از صفحه کلید 16 رقمی

ما از صفحه کلید بزرگتر 4 × 4 ، سازگار با Arduino Uno و برای تغییر LCD I2C از Akafugu برای اهداف استفاده می کنیم. مجدداً ، اگر LCD ندارید ، می توانید متن را به جای آن به مانیتور سریال ارسال کنید. LCD را وصل کنید و سپس صفحه کلید را به روش زیر به Arduino وصل کنید:

  • ردیف صفحه کلید 1 (پین هشت) تا Arduino digital 5
  • ردیف صفحه کلید 2 (پین 1) به Arduino digital 4
  • ردیف صفحه کلید 3 (پین 2) تا Arduino digital 3
  • ردیف صفحه کلید 4 (پین 4) تا Arduino digital 2
  • ستون صفحه کلید 1 (پین 3) به Arduino digital 9
  • ستون صفحه کلید 2 (پین 5) به Arduino digital 8
  • ستون صفحه کلید 3 (پین 6) به Arduino digital 7
  • ستون صفحه کلید 4 (پین 7) به Arduino digital 6

حالا برای طرح - توجه داشته باشید که ما چگونه برای صفحه کلید عددی بزرگتر استفاده کرده ایم: ستون اضافی در کلیدهای آرایه آرایه پین اضافی در colPins آرایه و بایت COLS = 4.

/ * صفحه کلید عددی و LCD I2C https://tronixstuff.com از کتابخانه صفحه کلید برای Arduino استفاده می کند https://www.arduino.cc/playground/Code/Keypad توسط مارک استنلی ، الکساندر برویگ */

#شامل "Keypad.h"

#شامل "Wire.h" // برای LCD I2C #شامل "TWILiquidCrystal.h" // https://store.akafugu.jp/products/26 LiquidCrystal LCD (12 ، 11 ، 5 ، 4 ، 3 ، 2) ؛

const byte ROWS = 4؛ // چهار ردیف

const byte COLS = 4؛ // چهار ستون کلیدهای شارژ [ROWS] [COLS] = {{'1' ، '2' ، '3' ، 'A'} ، {'4' ، '5' ، '6' ، 'B'} ، {'7' ، '8' ، '9' ، 'C'} ، {'*' ، '0' ، '#' ، 'D'}} ؛ بایت rowPins [ROWS] = {5 ، 4 ، 3 ، 2} ؛ // اتصال به pinouts ردیف colPins بایت صفحه کلید [COLS] = {9 ، 8 ، 7 ، 6} ؛ // اتصال به pinouts ستون صفحه کلید int count = 0؛

صفحه کلید صفحه کلید = صفحه کلید (makeKeymap (کلیدها) ، rowPins ، colPins ، ROWS ، COLS) ؛

void setup ()

{Serial.begin (9600) ؛ lcd.begin (16 ، 2) ؛ lcd.print ("تست صفحه کلید!") ؛ تاخیر (1000) ؛ lcd.clear ()؛ }

حلقه خالی ()

{char key = keypad.getKey ()؛ if (کلید! = NO_KEY) {lcd.print (کلید) ؛ Serial.print (کلید) ؛ شمارش ++ ؛ if (تعداد == 17) {lcd.clear ()؛ تعداد = 0 ؛ }}}

و دوباره می توانید نتایج طرح بالا را در ویدیو مشاهده کنید.

در حال حاضر برای یک پروژه نمونه ، که احتمالاً بیشترین درخواست از صفحه کلید عددی است…

مرحله 4: پروژه نمونه - سیستم دسترسی PIN

به نظر می رسد بیشترین درخواست برای یک صفحه کلید عددی یک برنامه به سبک "PIN" است ، که در آن Arduino دستور می دهد کاری را بر اساس شماره صحیح وارد شده در صفحه کلید انجام دهد. طرح زیر از سخت افزار توصیف شده برای طرح قبلی استفاده می کند و یک سیستم ورود شش رقمی PIN را پیاده سازی می کند.

اقدامات انجام شده را می توان در توابع correctPIN () و falsePIN () درج کرد. و PIN در آرایه char PIN [6] تنظیم شده است. با کمی کار اضافی می توانید عملکرد تغییر PIN خود را نیز ایجاد کنید.

// سوئیچ PIN با صفحه کلید عددی 16 رقمی // https://tronixstuff.com #شامل "Keypad.h" #include #include LiquidCrystal LCD (12 ، 11 ، 5 ، 4 ، 3 ، 2) ؛

const byte ROWS = 4؛ // چهار ردیف

const byte COLS = 4؛ // چهار ستون کلیدهای شارژ [ROWS] [COLS] = {{'1' ، '2' ، '3' ، 'A'} ، {'4' ، '5' ، '6' ، 'B'} ، {'7' ، '8' ، '9' ، 'C'} ، {'*' ، '0' ، '#' ، 'D'}} ؛ بایت rowPins [ROWS] = {5 ، 4 ، 3 ، 2} ؛ // اتصال به pinouts ردیف colPins بایت صفحه کلید [COLS] = {9 ، 8 ، 7 ، 6} ؛ // به پین های ستون صفحه کلید متصل شوید

صفحه کلید صفحه کلید = صفحه کلید (makeKeymap (کلیدها) ، rowPins ، colPins ، ROWS ، COLS) ؛

پین char [6] = {

"1" ، "2" ، "A" ، "D" ، "5" ، "6"} ؛ // تلاش مخفیانه ما (!) char [6] = {'0'، '0'، '0'، '0'، '0'، '0'}؛ // برای مقایسه int z = 0 استفاده می شود ؛

void setup ()

{Serial.begin (9600) ؛ lcd.begin (16 ، 2) ؛ lcd.print ("قفل پین") ؛ تاخیر (1000) ؛ lcd.clear ()؛ lcd.print ("پین را وارد کنید …") ؛ }

void correctPIN () // اگر پین صحیح وارد شده است این کار را انجام دهید

{lcd.print (" * پین صحیح *") ؛ تاخیر (1000) ؛ lcd.clear ()؛ lcd.print ("پین را وارد کنید …") ؛ }

void falsePIN () // اگر پین اشتباه وارد شد این کار را انجام دهید

{lcd.print (" * دوباره امتحان کنید *")؛ تاخیر (1000) ؛ lcd.clear ()؛ lcd.print ("پین را وارد کنید …") ؛ }

void checkPIN ()

{int درست = 0؛ int i؛ برای (i = 0؛ i <6؛ i ++) {

if (تلاش == پین )

{صحیح ++ ؛ }} if (correct == 6) {correctPIN ()؛ } else {falsePIN ()؛ }

برای (int zz = 0 ؛ zz <6 ؛ zz ++) {تلاش [zz] = '0' ؛ }}

void readKeypad ()

{char key = keypad.getKey ()؛ if (کلید! = NO_KEY) {تلاش [z] = کلید ؛ z ++ ؛ سوئیچ (کلید) {case '*': z = 0؛ زنگ تفريح؛ مورد '#': z = 0؛ تأخیر (100) ؛ // برای خروج اضافی lcd.clear ()؛ checkPIN ()؛ زنگ تفريح؛ }}}

حلقه خالی ()

{readKeypad ()؛ }

پروژه در ویدئو نشان داده شده است.

بنابراین اکنون شما توانایی استفاده از صفحه کلیدهای دوازده و شانزده دکمه را با سیستم های آردوینو دارید. مطمئن هستم که در آینده ای نزدیک با استفاده از صفحه کلیدها به چیز مفید و جالبی خواهید رسید.

این پست توسط pmdway.com - همه چیز برای سازندگان و علاقمندان به لوازم الکترونیکی ، با ارسال رایگان در سراسر جهان به شما ارائه می شود.

توصیه شده: