في هذا البرنامج التعليمي ، سأوضح لك كيفية إعداد لوحة مفاتيح على Arduino. سأشرح أولاً كيف يكتشف Arduino ضغطات المفاتيح ، ثم سأوضح لك كيفية العثور على pinout لأي لوحة مفاتيح. كمثال بسيط ، سأوضح لك كيفية طباعة ضغطات المفاتيح على الشاشة التسلسلية وشاشة LCD. أخيرًا ، سأوضح لك كيفية تنشيط مرحل 5 فولت عند إدخال كلمة المرور بشكل صحيح.
ما هي لوحة المفاتيح؟
لوحة المفاتيح عبارة عن مجموعة من الأزرار مرتبة في كتلة أو "لوحة" تحمل أرقامًا أو رموزًا أو أحرفًا أبجدية. تسمى اللوحات التي تحتوي في الغالب على أرقام بلوحة مفاتيح رقمية.
تُستخدم لوحة المفاتيح ذات المصفوفة 4 × 4 عادةً كمدخلات في المشروع. يحتوي على 16 مفتاحًا في المجموع ، مما يعني نفس قيم الإدخال. إنه نحيف للغاية وسهل التفاعل مع أي متحكم دقيق وله دعامة لاصقة لسهولة التركيب لمجموعة متنوعة من التطبيقات.
++ مخطط الرسم البياني :
++ الكود البرمجي هنا :
#include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Keypad.h> #define Password_Length 8 int signalPin = 12; char Data[Password_Length]; char Master[Password_Length] = "123A456"; byte data_count = 0, master_count = 0; bool Pass_is_good; char customKey; const byte ROWS = 4; const byte COLS = 4; char hexaKeys[ROWS][COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins[ROWS] = {9, 8, 7, 6}; byte colPins[COLS] = {5, 4, 3, 2}; Keypad customKeypad = Keypad(makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); LiquidCrystal_I2C lcd(0x27, 16, 2); void setup(){ lcd.init(); lcd.backlight(); pinMode(signalPin, OUTPUT); } void loop(){ lcd.setCursor(0,0); lcd.print("Enter Password:"); customKey = customKeypad.getKey(); if (customKey){ Data[data_count] = customKey; lcd.setCursor(data_count,1); lcd.print(Data[data_count]); data_count++; } if(data_count == Password_Length-1){ lcd.clear(); if(!strcmp(Data, Master)){ lcd.print("Correct"); digitalWrite(signalPin, HIGH); delay(5000); digitalWrite(signalPin, LOW); } else{ lcd.print("Incorrect"); delay(1000); } lcd.clear(); clearData(); } } void clearData(){ while(data_count !=0){ Data[data_count--] = 0; } return; }
#electronicengineering #robots #led #o #arduinolove #stem #automation #digitalelectronics #engineer #electronicsprojects #projects #electronicsengineering #innovation #electronicslovers #robotic #raspberry #dprinting #sensors #artificialintelligence #science #embeddedsystems #tecnologia #pcbdesign #proteus #circuit #code #m #soldering #embedded #electronica
can i ask question
ReplyDeletewhat the function of the relay on this project
may i dont know and really i would like to know what is function
thank you