#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);
char key2;
void setup() {
// put your setup code here, to run once:
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_PULLUP);
pinMode(5, INPUT_PULLUP);
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
}
void loop() {
// put your main code here, to run repeatedly:
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 = '*';
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 = 'A';
if (digitalRead(6) == LOW)key2 = 'B';
if (digitalRead(4) == LOW)key2 = 'D';
if (digitalRead(5) == LOW) {
lcd.setCursor(0, 1);
lcd.print(" ");
}
if (key2 != ' ') {
lcd.setCursor(0, 1);
lcd.print(key2);
key2 = ' ';
}
}