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ı
https://studio.code.org/join/YGTTCD
#include <LiquidCrystal_I2C.h>LiquidCrystal_I2C lcd(0x27, 16, 2);#include <Servo.h>Servo KilitServo;//Kayıtlı Parolaint parola1 = 5;int parola2 = 3;int parola3 = 8;int parola4 = 9;//Kullanıcının Girdiğiint 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ÇIKvoid 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);}