سلسلة الأردوينو للمبتدئين ( المشروع عـــ 10ـــدد ) : فتح باب الحديقة عن طريق كلمة سر
المطلوب تنفيذه
1- الثبت من حالة الباب
2- طلب كلمة السرويظهرها على الشاشة (****)
3- مقارنتها بالكود المسجل
4- صحيحة يظهرعلى الشاشة رسالة "فتح الباب"
5- خاطئة يظهرعلى الشاشة رسالة "كود خاطئ" و يعيد طلب كلمة السر
6- في حالة كان الباب مفتوح يظهرعلى الشاشة رسالة "الباب مفتوح"
المكونات
1-اردوينوا
2- رليه 5فولت
3- مفتاح جرس
4- 2 مقاومة 10K
5 - ترنزستورNPN
6-شاشة LCD 16*2
7- KEYPAD4*3
المخطط
الكود
للحصول على ادعم المدونة بتعليق int code = 1366; //The code I used, you can change itint tot,i1,i2,i3,i4;
char c1,c2,c3,c4 ;
int pass;
char key ;
#include
int code = 1366; //The code I used, you can change it
int tot,i1,i2,i3,i4;
char c1,c2,c3,c4 ;
int pass;
char key ;
#include اضافة مكتبة الكيباد
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {10,11,12};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
#include اضافة مكتبة الشاشة
const int rs = 1, en = 0, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(4, 0);
lcd.print("Welkom");
delay(500);
lcd.clear();
delay(100);
lcd.setCursor(4, 0);
lcd.print("Welkom");
delay(500);
lcd.clear();
delay(100);
lcd.setCursor(4, 0);
lcd.print("Welkom");
delay(500);
lcd.clear();
delay(100);
lcd.print("Salem BEN MOUSSA");
lcd.setCursor(4, 2);
lcd.print("\\ARDOUINO\\");
delay(1000);
lcd.clear();
pinMode(13,OUTPUT);
pinMode(A0,INPUT);
}
void loop() {
if (analogRead(A0)== LOW ){
lcd.clear();
lcd.setCursor(1, 0);
lcd.print("Write pass-code");
key = keypad.waitForKey();
if (key)
{
c1 = key ;
lcd.setCursor(0,1);
lcd.print("*");
}
key = keypad.waitForKey();
if (key)
{
c2 = key ;
lcd.setCursor(1,1);
lcd.print("*");
}
key = keypad.waitForKey();
if (key!= NO_KEY)
{
c3 = key ;
lcd.setCursor(2,1);
lcd.print("*");
}
key = keypad.waitForKey();
if (key)
{
c4 = key ;
lcd.setCursor(3,1);
lcd.print("*");
i1=(c1-48)*1000;
i2=(c2-48)*100;
i3=(c3-48)*10;
i4=(c4-48);
pass=i1+i2+i3+i4;
}
if (pass==code){
lcd.clear();
lcd.setCursor(1, 1);
lcd.print("door is opened");
digitalWrite(13,HIGH);
delay(3000);
digitalWrite(13,LOW);
delay(1000);
lcd.clear();
}
else {
lcd.clear();
lcd.setCursor(3, 1);
lcd.print("code false ");
delay(1000);
digitalWrite(13,LOW);
}
delay(100);
}
else {
lcd.clear();
lcd.setCursor(2, 1);
lcd.print("door is open");
digitalWrite(13,LOW);
delay(1000);
}
delay(100);
}
رابط التحميل
مكتبة keypad الأردوينوا
No comments:
Post a Comment