//Nastaveni bomby
#define DISARM_CODE "73138477"
-#define TIME_COUNTDOWN 600
+#define TIME_COUNTDOWN 600 //600
//#define TIME_COUNTDOWN 15
//Prirazeni pinu
//////////////////////////////////////////////////////////////////
+#define SOFTSERIAL
+
+#ifndef SOFTSERIAL
#include <PS2Keyboard.h>
+PS2Keyboard keyboard;
+#else
+#include <SoftwareSerial.h>
+SoftwareSerial mySerial(PIN_KEY_CLK, PIN_KEY_DATA);
+#endif
//#include <Wire.h> // Enable this line if using Arduino Uno, Mega, etc.
#include <Adafruit_GFX.h>
#include "Adafruit_LEDBackpack.h"
-PS2Keyboard keyboard;
Adafruit_7segment display = Adafruit_7segment();
#define cnt_sec(s) (s%60)
{
//Pripravime periferie
Serial.begin(9600);
+ Serial.println("zaciname");
+#ifndef SOFTSERIAL
keyboard.begin(PIN_KEY_DATA, PIN_KEY_CLK);
+#else
+ mySerial.begin(4800);
+#endif
display.begin(ADDR_DISPLAY);
pinMode(PIN_LED_R, OUTPUT);
disarmed = 0;
}
//Cteme klavesnici
+#ifndef SOFTSERIAL
while (keyboard.available()) {
- char c = keyboard.read();
+ char c = keyboard.read();
+ //Serial.print("Klavesa: ");
+ //Serial.println(c);
+#else
+ while (mySerial.available()) {
+ char c = mySerial.read();
+#endif
+#ifndef SOFTSERIAL
if (c == PS2_ENTER) {
Serial.println();
} else {
+#else
+ if(1) {
+#endif
Serial.print(c);
}
+
+ if (c < '0' || c > '9') {
+ Serial.println("IGNORED!");
+ continue;
+
+ }
if (c == DISARM_CODE[guessed]) {
guessed++;
Serial.println("\nGOT!");
} else {
guessed = 0;
Serial.println("\nFAIL!");
+ if (c == DISARM_CODE[guessed]) {
+ guessed++;
+ Serial.println("\nGOT!");
+ }
}
if (DISARM_CODE[guessed] == 0) {
disarmed = 1;
display.setBrightness(15);
display.writeDisplay();
+#ifndef SOFTSERIAL
while (keyboard.available())
keyboard.read();
+#else
+ while (mySerial.available())
+ mySerial.read();
+#endif
test_disarmed(1);
//Pockame na pripojeni kabelu