#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Keypad.h>
LiquidCrystal_I2C lcd = LiquidCrystal_I2C (0x27,16,2);
const byte numRows = 4;
const byte numCols = 4;
char keymap [numRows][numCols] =
{
{'1', '2', '3','A'},
{'4', '5', '6','B'},
{'7', '8', '9','C'},
{'*', '0', '#','D'},
};
byte rowPins[numRows] = {12,11,10,9};
byte colPins[numCols] = {8,7,6,5};
Keypad myKeypad = Keypad (makeKeymap (keymap), rowPins, colPins, numRows, numCols);
int redLED = 2;
int dt = 500;
String msg1 = ("HOW MANY BLINKS? ");
void setup() {
pinMode (redLED,OUTPUT);
Serial.begin(9600);
lcd.begin(16,2);
lcd.print (msg1);
lcd.backlight();
}
void loop() {
// put your main code here, to run repeatedly:
char keypressed = myKeypad.getKey();
Serial.read ();
if (keypressed != NO_KEY){
if(keypressed == '1'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
if (keypressed != NO_KEY){
if(keypressed == '2'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
if (keypressed != NO_KEY){
if(keypressed == '3'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
if (keypressed != NO_KEY){
if(keypressed == '4'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
if (keypressed != NO_KEY){
if(keypressed == '5'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
if (keypressed != NO_KEY){
if(keypressed == '6'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
if (keypressed != NO_KEY){
if(keypressed == '7'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
if (keypressed != NO_KEY){
if(keypressed == '8'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
if (keypressed != NO_KEY){
if(keypressed == '9'){
lcd.setCursor (0,1);
lcd.print (keypressed);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
digitalWrite (redLED, HIGH);
delay (dt);
digitalWrite (redLED, LOW);
delay (dt);
}
}
}