#include <IRremote.h>
#include <LiquidCrystal.h>
#include <Keypad.h>
#define PIN_RECEIVER 3
IRrecv receiver(PIN_RECEIVER);
LiquidCrystal lcd(13,12,7,6,5,4);
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] = { 18, 19, 20, 21 }; // Pins connected to C1, C2, C3, C4
uint8_t rowPins[ROWS] = { 14, 15, 16, 17 }; // Pins connected to R1, R2, R3, R4
Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
/*String inputSecretCode() {
lcd.setCursor(5, 1);
lcd.print("[____]");
lcd.setCursor(6, 1);
String result = "";
while (result.length() < 4) {
char key = keypad.getKey();
if (key >= '0' && key <= '9') {
lcd.print('*');
result += key;
}
}
return result;
}
*/
void setup() {
pinMode(8, OUTPUT);
pinMode(2, OUTPUT);
lcd.begin(16,2);
lcd.setCursor(2, 0);
receiver.enableIRIn();
Serial.begin(9600);
String message = "Zmackni Play";
for (int i = 0; i < message.length(); i++) {
lcd.print(message[i]);
digitalWrite(8, LOW);
delay(200);
// digitalWrite(1, LOW);
}
}
void loop() {
digitalWrite(2, HIGH);
if (receiver.decode()) {
translateIR();
receiver.resume();
}
char key = keypad.getKey();
if (key != NO_KEY) {
Serial.println(key);
}
}
void lcdPrint(char* text)
{
lcd.clear();
// lcd.setCursor(0, 0);
// lcd.print("xyz:");
lcd.setCursor(8, 1);
lcd.print(text);
/*lcd.print(" code: ");
lcd.print(receiver.decodedIRData.command); */
}
void translateIR() {
// Takes command based on IR code received
switch (receiver.decodedIRData.command) {
//digitalWrite(2, LOW);
//delay(500);
//digitalWrite(1, HIGH);
case 168: //play
lcd.clear();
lcd.setCursor (5, 0);
String message = "Start!";
digitalWrite(2, LOW);
digitalWrite(8, HIGH);
delay(500);
for (byte i = 0; i < message.length(); i++) {
lcd.print(message[i]);
delay(100);
}
digitalWrite(1, LOW);
digitalWrite(8, HIGH);
delay(500);
//lcdPrint("");
lcd.clear();
Serial.println("pokus");
digitalWrite(8, LOW);
break;
case 74: //number_8
lcdPrint("8");
digitalWrite(2, LOW);
digitalWrite(8, HIGH);
delay(500);
lcd.clear();
//digitalWrite(1, LOW);
digitalWrite(2, LOW);
Serial.println("pokus2");
break;
}
}