BT ve Yazılım Dersi – BİLSEM

MEB-Kit Bağlantısı

https://mebkit-platform.eba.gov.tr/classroom-access/e8bf4b

BİLSEM – Salı Destek Bilişim Dersi Code Org Sınıf Bağlantısı

#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#include <Servo.h>
Servo KilitServo;
//Kayıtlı Parola
int parola1 = 5;
int parola2 = 3;
int parola3 = 8;
int parola4 = 9;
//Kullanıcının Girdiği
int sifre1 = 5;
int sifre2 = 3;
int sifre3 = 8;
int sifre4 = 9;
int imlec = 0;
int Xekseni = 0;
int Yekseni = 0;
bool buton = false;
bool DURUM = false; //false-Kilitli true-AÇIK
void setup() {
pinMode(7, OUTPUT); //Kırmızı LED
pinMode(6, OUTPUT); //Yeşil LED
pinMode(2, INPUT);
lcd.init(); // lcd.begin(); //Arduino IDE
lcd.backlight(); //Arka ışık açılsın.
lcd.setCursor(0, 0);
lcd.print("Sifreli Kilit");
delay(3000);
lcd.clear();
KilitServo.attach(3);
KilitServo.write(0);
DURUM = false;
}
void loop() {
//Xekseni Sağ-0 Sol-1023. Sim'de ters oluyor.
//Yekseni Aşağı-0 Yukarı-1023
Xekseni = analogRead(A0);
Yekseni = analogRead(A1);
buton = digitalRead(2); //False ise basılmış
if(Yekseni > 800){
if(imlec == 0){
if(sifre1 < 9){
sifre1++;
}
}else if(imlec == 1){
if(sifre2 < 9){
sifre2++;
}
}else if(imlec == 2){
if(sifre3 < 9){
sifre3++;
}
}else if(imlec == 3){
if(sifre4 < 9){
sifre4++;
}
}
while(Yekseni > 600){
Yekseni = analogRead(A1);
}
}
if(Yekseni < 200){
if(imlec == 0){
if(sifre1 > 0){
sifre1--;
}
}else if(imlec == 1){
if(sifre2 > 0){
sifre2--;
}
}else if(imlec == 2){
if(sifre3 > 0){
sifre3--;
}
}else if(imlec == 3){
if(sifre4 > 0){
sifre4--;
}
}
while(Yekseni < 300){
Yekseni = analogRead(A1);
}
}
if(!buton){
if(DURUM){
//Kilit Açıkmış - Kilitlesin
DURUM = false;
}else{
if(sifre1 == parola1 && sifre2 == parola2 && sifre3 == parola3 && sifre4 == parola4){
DURUM = true;
}else{
lcd.setCursor(0, 1);
lcd.print("HATA ");
delay(1000);
}
}
sifre1 = 0;
sifre2 = 0;
sifre3 = 0;
sifre4 = 0;
while(!buton){
buton = digitalRead(2); //False ise basılmış
}
delay(20); //Parazit beklemesi
}
//Şifre bilgilerini ekranda göster.
lcd.setCursor(0, 1);
lcd.print(sifre1);
lcd.print(sifre2);
lcd.print(sifre3);
lcd.print(sifre4);
if(DURUM){
lcd.setCursor(0, 0);
lcd.print("Kilit ACIK! ");
KilitServo.write(90);//Kilit Servo Açık konumda.
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
}else{
lcd.setCursor(0, 0);
lcd.print("Kilitli ");
KilitServo.write(0);//Kilit Servo kilitli.
digitalWrite(6, LOW);
digitalWrite(7, HIGH);
}
delay(10);
}