#include #include const byte ROWS = 4; //satır const byte COLS = 4; //sutun char key; boolean durum=true; boolean yaz=true; boolean hesapla=false; String num1, mesaj="CEVAP : ", sonuc,eks="x", esit="=" ; int soru=1,cevap=0; int sayi1, sayi2; char keys [ROWS] [COLS] = { {'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'} }; byte rowPins[ROWS] = {11, 10, 9, 8}; byte colPins[COLS] = {7, 6, 5, 4}; Keypad myKeypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS ); LiquidCrystal_I2C lcd(0x27,16,2); // Bu kodu kullanırken ekranda yazı çıkmaz ise 0x27 yerine 0x3f yazınız !! void setup() { //Serial.begin(9600); lcd.begin(); lcd.setCursor(2,0); // İlk satırın başlangıç noktası lcd.print("TUBITAK 4006"); lcd.setCursor(3,1); // İkinci satırın başlangıç noktası lcd.print("COZ BAKALIM"); delay(2000); lcd.clear(); delay(1000); randomSeed(analogRead(0)); if(durum == true){ sayi1=random(1,10); delay(1000); sayi2=random(1,10); delay(1000); durum = false; } } void loop() { if(durum == true){ sayi1=random(1,10); delay(1000); sayi2=random(1,10); delay(1000); lcd.setCursor(0,0); lcd.print(sayi1); delay(1000); num1=""; lcd.setCursor(0,0); lcd.print(sayi1); lcd.setCursor(3,0); lcd.print(eks); lcd.setCursor(6,0); lcd.print(sayi2); lcd.setCursor(9,0); lcd.print(esit); cevap=sayi1 * sayi2; delay(4000); lcd.clear(); yaz = false; durum = false; } if(durum == false){ key = myKeypad.getKey(); //Klavye Adını Verdiğimiz Keypadimizden Gelen deger Değerlerini Arduinoya Okutuyoruz //Serial.print(key); //SORU-1 if(soru == 1){ lcd.setCursor(0,0); lcd.print(sayi1); lcd.setCursor(3,0); lcd.print(eks); lcd.setCursor(6,0); lcd.print(sayi2); lcd.setCursor(9,0); lcd.print(esit); lcd.setCursor(11,0); lcd.print("?"); cevap=sayi1 * sayi2; delay(3000); lcd.clear(); yaz = false; } if(yaz == false){ //ÇOK HANELİ SAYI GİRİŞİ if(key != NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key == '6' || key == '7' || key == '8' || key == '9' || key == '0') ) { num1 = num1 + key; int numLength = num1.length(); lcd.setCursor(7, 1); lcd.print(num1); } //SONUCU ONAYLA if(key != NO_KEY && key == '#'){ lcd.setCursor(5, 1); lcd.print("TAMAM"); delay(2000); } soru=soru+1; //DEĞERLENDİRME if(cevap == num1.toInt()){ sonuc="BASARILI"; } else { sonuc="BASARISIZ"; } } delay(100); //TOPLAM SONUC if(key != NO_KEY && key == 'D'){ lcd.clear(); if(cevap >= 0){ lcd.setCursor(0, 0); lcd.print(mesaj+cevap); lcd.setCursor(2, 1); lcd.print(sonuc); } } if(key != NO_KEY && key == 'C'){ durum = true; lcd.clear(); } } }