#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
int r1 = 5;
int r2 = 4;
int r3 = 3;
int r4 = 2;
int c1 = 6;
int c2 = 7;
int c3 = 8;
int c4 = 9;
int colm1;
int colm2;
int colm3;
int colm4;
int b1 = 10;
int g2 = 11;
int y3 = 12;
int R4 = 13;
void setup()
{
lcd.init();
lcd.backlight();
lcd.setCursor(1, 0);
lcd.print("Sunisa!");
pinMode(r1, OUTPUT);
pinMode(r2, OUTPUT);
pinMode(r3, OUTPUT);
pinMode(r4, OUTPUT);
pinMode(c1, INPUT);
pinMode(c2, INPUT);
pinMode(c3, INPUT);
pinMode(c4, INPUT);
pinMode(b1, OUTPUT);
pinMode(g2, OUTPUT);
pinMode(y3, OUTPUT);
pinMode(R4, OUTPUT);
Serial.begin(9600);
digitalWrite(c1, HIGH);
digitalWrite(c2, HIGH);
digitalWrite(c3, HIGH);
digitalWrite(c4, HIGH);
}
void loop() {
digitalWrite(r1, LOW);
digitalWrite(r2, HIGH);
digitalWrite(r3, HIGH);
digitalWrite(r4, HIGH);
colm1 = digitalRead(c1);
colm2 = digitalRead(c2);
colm3 = digitalRead(c3);
colm4 = digitalRead(c4);
if (colm1 == LOW)
{ Serial.println("1");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(3, 1);
lcd.print("1 & BLUE");
digitalWrite(b1, 1);
delay(200);
}
else if (colm2 == LOW)
{ Serial.println("2");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(3, 1);
lcd.print("2 & Green ");
digitalWrite(g2, 1);
delay(200);
}
else if (colm3 == LOW)
{ Serial.println("3");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(3, 1);
lcd.print("3 & Yellow");
digitalWrite(y3, 1);
delay(200);
}
else if (colm4 == LOW)
{ Serial.println("A");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("A");
delay(200);
}
digitalWrite(r1, HIGH);
digitalWrite(r2, LOW);
digitalWrite(r3, HIGH);
digitalWrite(r4, HIGH);
colm1 = digitalRead(c1);
colm2 = digitalRead(c2);
colm3 = digitalRead(c3);
colm4 = digitalRead(c4);
if (colm1 == LOW)
{ Serial.println("4");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(5, 1);
lcd.print("4 & Red");
digitalWrite(R4, 1);
delay(200);
}
else if (colm2 == LOW)
{
Serial.println("5");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("5");
delay(200);
}
else if (colm3 == LOW)
{ Serial.println("6");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("6");
delay(200);
}
else if (colm4 == LOW)
{ Serial.println("B");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("B");
delay(200);
}
digitalWrite(r1, HIGH);
digitalWrite(r2, HIGH);
digitalWrite(r3, LOW);
digitalWrite(r4, HIGH);
colm1 = digitalRead(c1);
colm2 = digitalRead(c2);
colm3 = digitalRead(c3);
colm4 = digitalRead(c4);
if (colm1 == LOW)
{ Serial.println("7");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("7");
delay(200);
}
else if (colm2 == LOW)
{ Serial.println("8");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("8"); delay(200);
}
else if (colm3 == LOW)
{ Serial.println("9");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("9");
delay(200);
}
else if (colm4 == LOW)
{ Serial.println("C");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("C");
delay(200);
}
digitalWrite(r1, HIGH);
digitalWrite(r2, HIGH);
digitalWrite(r3, HIGH);
digitalWrite(r4, LOW);
colm1 = digitalRead(c1);
colm2 = digitalRead(c2);
colm3 = digitalRead(c3);
colm4 = digitalRead(c4);
if (colm1 == LOW)
{ Serial.println("*");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("*");
delay(200);
}
else if (colm2 == LOW)
{ Serial.println("0");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(3, 1);
digitalWrite(b1, LOW);
digitalWrite(g2, LOW);
digitalWrite(y3, LOW);
digitalWrite(R4, LOW);
lcd.print("0 & LED_Off");
delay(200);
}
else if (colm3 == LOW)
{ Serial.println("#");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("#");
delay(200);
}
else if (colm4 == LOW)
{ Serial.println("D");
lcd.clear();
lcd.setCursor(2, 0);
lcd.print("Your Press");
lcd.setCursor(7, 1);
lcd.print("D");
delay(200);
}
}