الكود البرمجي لبرمجة جهاز التحكم الدقيق
// C++ code
//
#include <Adafruit_LiquidCrystal.h>
#include <Keypad.h>
#include <Servo.h>
Adafruit_LiquidCrystal lcd(0);
Servo servo;
const byte numRow = 4 ;
const byte numCols = 4 ;
char keymap [numRow][numCols] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'},
};
byte rowPins[numRow] = {9,8,7,6};
byte colPins[numCols] = {5,4,3,2};
Keypad keypad = Keypad
(makeKeymap(keymap),rowPins , colPins ,numRow ,numCols);
char password[4];
void setup()
{
servo.attach(11);
servo.write(0);
lcd.begin(16,2);
lcd.setCursor(0,0);
lcd.print("set 4 character
");
lcd.setCursor(0,1);
lcd.print("password:
");
for (int i = 0 ; i<4 ; i++){
password[i]=
keypad.waitForKey();
}
}
void loop ()
{
lcd.clear ();
lcd.setCursor (0,0);
lcd.print("Enter password:
");
bool correctpass = true ;
char buttonPressed ;
for (int i = 0 ; i<4 ; i++){
buttonPressed =
keypad.waitForKey();
if (password[i] !=
buttonPressed)
{
correctpass = false ;
}
lcd.setCursor (i,1);
lcd.print(buttonPressed);
}
delay (1000);
if (correctpass){
lcd.clear();
lcd.setCursor (0,0);
lcd.print("Correct
password ");
lcd.setCursor (0,1);
lcd.print("Unlocking
... ");
servo.write(180);
delay (5000);
servo.write(0);
}
else {
lcd.clear();
lcd.setCursor (0,0);
lcd.print("wrong
password ");
}
}
تعليقات
إرسال تعليق