#include <LiquidCrystal.h>
const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7=8;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int key1,key2;
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Test Keypad");
pinMode(0, OUTPUT);
pinMode(1, OUTPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(6, INPUT);
pinMode(7, INPUT);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
}
void loop() {
key2=' ';
digitalWrite(3, LOW);
digitalWrite(2, HIGH);
digitalWrite(1, HIGH);
digitalWrite(0, HIGH);
if (digitalRead(7) == LOW)key2 = 1;
if (digitalRead(6) == LOW)key2 = 4;
if (digitalRead(5) == LOW)key2 = 7;
if (digitalRead(4) == LOW)key2 = 'c';
digitalWrite(3, HIGH);
digitalWrite(2, LOW);
digitalWrite(1, HIGH);
digitalWrite(0, HIGH);
if (digitalRead(7) == LOW)key2 = 2;
if (digitalRead(6) == LOW)key2 = 5;
if (digitalRead(5) == LOW)key2 = 8;
if (digitalRead(4) == LOW)key2 = 0;
digitalWrite(3, HIGH);
digitalWrite(2, HIGH);
digitalWrite(1, LOW);
digitalWrite(0, HIGH);
if (digitalRead(7) == LOW)key2 = 3;
if (digitalRead(6) == LOW)key2 = 6;
if (digitalRead(5) == LOW)key2 = 9;
if (digitalRead(4) == LOW)key2 = '=';
digitalWrite(3, HIGH);
digitalWrite(2, HIGH);
digitalWrite(1, HIGH);
digitalWrite(0, LOW);
if (digitalRead(7) == LOW)key2 = '=';
if (digitalRead(6) == LOW)key2 = '=';
if (digitalRead(5) == LOW)key2 = '=';
if (digitalRead(4) == LOW)key2 = '=';
if (key2 != ' ')
{
lcd.setCursor(0, 1);
lcd.print(key2);
key2 = ' ';
}
}