#include <Keypad.h>
#include <LiquidCrystal_I2C.h>
float number1=0,number2=0;
char key;
LiquidCrystal_I2C lcd(0x27,16,2);
const uint8_t ROWS = 4;
const uint8_t COLS = 4;
char keys[ROWS][COLS] = {
{ '1', '2', '3', 'A' },
{ '4', '5', '6', 'B' },
{ '7', '8', '9', 'C' },
{ '*', '0', '#', 'D' }
};
uint8_t colPins[COLS] = { 5, 4, 3, 2 }; // Pins connected to C1, C2, C3, C4
uint8_t rowPins[ROWS] = { 9, 8, 7, 6 }; // Pins connected to R1, R2, R3, R4
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
void setup() {
Serial.begin(9600);
lcd.setBacklight(255);
lcd.begin(16, 2);
lcd.display();
lcd.setCursor(0, 0);
lcd.print("Settemp: ");
lcd.print(number1);
lcd.setCursor(0, 1);
lcd.print("Temp: ");
lcd.print("-----");
//lcd.setCursor(10, 0);
}
void loop() {
key = keypad.getKey();
//byte key = con;
if (key != NO_KEY) {
Serial.println(key);
settemp1();
lcd.setCursor(9, 0);
lcd.print(number1);
}
}
void settemp1(){
if(key == 'D'){
number1 = 0;number2 = 0;
lcd.clear();
lcd.setBacklight(255);
lcd.begin(16, 2);
lcd.display();
lcd.setCursor(0, 0);
lcd.print("Settemp: ");
lcd.setCursor(0, 1);
lcd.print("Temp: ");
lcd.print("-----");
}
if(key == '1'){
if(number1 == 0){
number1 = 1;
}else{
number1 = (number1*10)+1;
}
}
if(key == '2'){
if(number1 == 0){
number1 = 2;
}else{
number1 = (number1*10)+2;
}
}
if(key == '3'){
if(number1 == 0){
number1 = 3;
}else{
number1 = (number1*10)+3;
}
}
if(key == '4'){
if(number1 == 0){
number1 = 4;
}else{
number1 = (number1*10)+4;
}
}
if(key == '5'){
if(number1 == 0){
number1 = 5;
}else{
number1 = (number1*10)+5;
}
}
if(key == '6'){
if(number1 == 0){
number1 = 6;
}else{
number1 = (number1*10)+6;
}
}
if(key == '7'){
if(number1 == 0){
number1 = 7;
}else{
number1 = (number1*10)+7;
}
}
if(key == '8'){
if(number1 == 0){
number1 = 8;
}else{
number1 = (number1*10)+8;
}
}
if(key == '9'){
if(number1 == 0){
number1 = 9;
}else{
number1 = (number1*10)+9;
}
}
if(key == '0'){
if(number1 == 0){
number1 = 0;
}else{
number1 = (number1*10)+0;
}
}
if(key == 'A'){
if(number1 == 0){
number1 = 0.25;
}else{
number1 = number1 + 0.25;
}
}
if(key == 'B'){
if(number1 == 0){
number1 = 0.50;
}else{
number1 = number1 + 0.50;
}
}
if(key == 'C'){
if(number1 == 0){
number1 = 0.75;
}else{
number1 = number1 + 0.75;
}
}
if(key == '#'){
if(number2 == 0){
number2 = number1;
}
lcd.setCursor(9, 0);
lcd.print(number2);
Serial.println(number2);
}
}