السبت، 2 مايو 2020

سلسلة الأردوينو للمبتدئين ( المشروع عـــ10ـــدد ) : فتح باب الحديقة عن طريق كلمة سر

سلسلة الأردوينو للمبتدئين ( المشروع عـــ 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 it
int 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 الأردوينوا 

كيفية اضافة مكتبة keypadالى الأردوينوا



ليست هناك تعليقات:

التعليقات

بحث هذه المدونة الإلكترونية