YARDIMCI OLURMUSUNUZ

0 oy
16 Aralık 2017 hasan (2 puan) sordu

AŞAĞIDA BULUNAN KODDA DOĞRU ŞİFRE GİRİLDİĞİNDE YEŞİL YANLIŞ ŞİFRE GİRİLDİĞİNDE KIRMIZI LED YANIYOR.

AYNI ZAMANDA DA LCD EKRANDA DA BUNLA BERABER YAZILAR CIKIYOR.

BENİM TEK İSTEDİĞİM 4X4 KEYPAD DE A BUTONUNA BASTIĞIM DA ARDUİNO UNONUN 10. PİNİNDEN ÇIKIŞ (1) OLSUN VE 2 SANİYE SONRA TEKRAR ESKİ KONUMUNA YANİ (0) OLSUN.

 AŞAĞIDA DEĞİŞİKLİKLER YAPARAK BİR CEVAP YAZABİLİRMİ ? DİĞER SİTELERDE KİMSE YARDIMCI OLMUYOR. :(

#include <Password.h>
#include <Keypad.h>
#include <LiquidCrystal.h>

Password password = Password("3524"); 
int dlugosc = 4;

LiquidCrystal lcd(A0, A1, A2, A3, A4, A5);

int ledRed = 11;
int ledGreen = 12;
int buzzer = 13;

char tus; // number of clicks

const byte satir = 4; 
const byte sutun = 4;

char tus_takimi [sutun] [satir] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};

byte satir_pinleri[sutun] = {2,3,4,5};
byte sutun_pinleri[satir] = {6,7,8,9};

Keypad keypad = Keypad( makeKeymap(tus_takimi), satir_pinleri, sutun_pinleri, satir, sutun );

void setup()
{
Serial.begin(9600);
keypad.addEventListener(keypadEvent);
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(buzzer, OUTPUT);

digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, LOW);


lcd.begin(16, 2);

lcd.setCursor(1,0);
lcd.print(" :AAAAAAAAA:");
lcd.setCursor(0,1);
lcd.print(" SIFREYI GIRINIZ");
}

void loop()
{
keypad.getKey();
}
void keypadEvent(KeypadEvent eKey)
{
switch (keypad.getState())
{

case PRESSED:

int i;
for( i = 1; i <= 1; i++ )
{
digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer, LOW);
delay(50);
}

Serial.print("Pressed: ");
Serial.println(eKey);

switch (eKey)
{
/*
case '#':
break;

case '*':
break;
*/

default:
tus=tus+1;
password.append(eKey);
}
//Serial.println(tus);

if(tus == 1)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("*_");
}
if(tus == 2)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("**_");
}
if(tus == 3)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("***_");
}
if(tus == 4)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("****_");
}
if(tus == 5)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("*****_");
}
if(tus == 6)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("******_");
}
if(tus == 7)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("*******_");
}
if(tus == 8)
{
lcd.clear();
lcd.setCursor(1,0);
lcd.print(" < SIFRE >");
lcd.setCursor(0,1);
lcd.print("********");
}

if(tus == dlugosc)
{
delay(250);
checkPassword();
tus = 0;
}
}
}

void checkPassword()
{
if (password.evaluate())
{
int i;
for( i = 1; i <= 2; i++ )
{
digitalWrite(buzzer, HIGH);
delay(70);
digitalWrite(buzzer, LOW);
delay(70);
}
tus = 0;

Serial.println("DOGRU");

digitalWrite(ledRed, LOW);
digitalWrite(ledGreen, HIGH);
digitalWrite(buzzer, HIGH);
delay(800);
digitalWrite(ledGreen, LOW);
digitalWrite(buzzer, LOW);

lcd.clear();
lcd.setCursor(0,1);
lcd.print("<<DOGRU GIRDIN>>");
delay(1000);
lcd.clear();
lcd.setCursor(1,0);
lcd.print(":AAAAAAA:");
lcd.setCursor(0,1);
lcd.print("SIFREYI GIRINIZ");
}
else
{
int i;
for( i = 1; i <= 1; i++ )
{
digitalWrite(buzzer, HIGH);
delay(200);
digitalWrite(buzzer, LOW);
delay(200);
}
tus = 0;
password.reset();

Serial.println("YANLIS");


digitalWrite(ledRed, HIGH);
digitalWrite(buzzer, HIGH);
delay(800);
digitalWrite(ledRed, LOW);
digitalWrite(buzzer, LOW);

lcd.clear();
lcd.setCursor(0,1);
lcd.print("<<YANLIS GIRDIN>>");
delay(1000);

lcd.clear();
lcd.setCursor(1,0);
lcd.print(":AAAAAAAAAA:");
lcd.setCursor(0,1);
lcd.print("SIFREYI GIRINIZ");
}
}

Cevabınız

Adınız (isteğe bağlı):
Gizlilik: E-posta adresiniz yalnızca bu bildirimlerin gönderilmesi için kullanılacak.
Spam Koruması:
Gelecekte bu doğrulamadan kurtulmak için, lütfen giriş yapınız veya üye olunuz.
      Arduino Başlangıç Seti 
Uzman Sayfası
...