#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <TMP36.h>
#include <EEPROM.h>
#include <Keypad.h>
#include <string.h>
int adres = 18;
LiquidCrystal_I2C lcd(0x27, 16, 2);
const byte SatirSayisi = 4; // Satır sayısını gösteren sabiti tanımla
const byte SutunSayisi = 4; // Sütun sayısını gösteren sabiti tanımla
// Tuşları gösteren karakter matrisini tanımla
char setsicaklik[5] = {'0', '0', '*', '#', '0'};
char keys[SatirSayisi][SutunSayisi] = {
{'1', '2', '3', 'A'},
{'4', '5', '6', 'B'},
{'7', '8', '9', 'C'},
{'*', '0', '#', 'D'}
};
byte SatirPinleri[SatirSayisi] = {13, 12, 11, 10}; // Sırasıyla keypad satır pinlerinin bağlandığı Arduino pinleri
byte SutunPinleri[SutunSayisi] = {9, 8, 7, 6}; // Sırasıyla keypad sütun pinlerinin bağlandığı Arduino pinleri
// keypad1 adında bir keypad nesnesi tanımla
Keypad keypad = Keypad(makeKeymap(keys), SatirPinleri, SutunPinleri, SatirSayisi, SutunSayisi);
#define tus setsicaklik[4]
#define onay setsicaklik[2]
#define sckayr setsicaklik[3]
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print(" KUBRA CILOGLU");
lcd.setCursor(0, 1);
lcd.print(" TMP36 KONTROL");
delay(1000);
lcd.clear();
}
void sicaklikayarla() {
int say = 1;
int sicaklik;
tus = keypad.getKey();
while (onay != tus) {
lcd.setCursor(0, 0);
lcd.print("ISI DEGERI GIR ");
lcd.setCursor(0, 1);
lcd.print("SICAKLIK: ");
tus = keypad.getKey();
if (tus == onay) {
sicaklik=atoi(setsicaklik);
EEPROM.update(adres, sicaklik);
lcd.clear();
break;
}
if (tus != NO_KEY) {
if (say == 0) {
lcd.setCursor(11, 1);
lcd.print(tus);
setsicaklik[0] = setsicaklik[1];
setsicaklik[1] = tus;
say--;
}
if (say == 1) {
lcd.setCursor(10, 1);
lcd.print(tus);
setsicaklik[1] = tus;
setsicaklik[0] = '0';
}
say--;
if (say < 0) {
say = 1;
}
}
}
}
void loop() {
int setvalue=EEPROM.read(adres);
lcd.setCursor(0, 0);
lcd.print("SET SCKLK: ");
lcd.print(setvalue);
tus = keypad.getKey();
if (sckayr == tus) {
sicaklikayarla();
}
}