#include <LiquidCrystal.h>
#define led 6
#define ON 777111
#define OFF 777222
#define UTRIP 777333
#define UTRIP10 777444
LiquidCrystal lcd(12,11,10,9,8,7);
unsigned long trenutniCas;
int zakasnitev = 500;
unsigned long prejsnjiCas = 0;
bool blinkState = false;
void setup() {
Serial.begin(115200);
lcd.begin(16,2);
Serial.println("Vpisi kodo: ");
pinMode(led, OUTPUT);
}
void loop() {
static bool blink = false;
if (Serial.available()) {
char vpis[7];
int steviloZnakovVpisa = Serial.readBytes(vpis, 6);
if (steviloZnakovVpisa == 6) {
vpis[6] = '\0';
int stevilka = atoi(vpis);
switch (stevilka) {
case ON:
Serial.println("ON");
digitalWrite(led, HIGH);
lcd.print("LED ON");
lcd.setCursor(0,0);
blink = false;
break;
case OFF:
Serial.println("OFF");
lcd.print("LED OFF");
lcd.setCursor(0,0);
digitalWrite(led, LOW);
blink = false;
break;
case UTRIP:
Serial.println("UTRIP");
lcd.print("LED UTRIP");
lcd.setCursor(0,0);
blink = true;
break;
case UTRIP10:
Serial.println("UTRIP 10x");
lcd.print("LED UTRIP 10x");
lcd.setCursor(0,0);
utripanje();
break;
default:
Serial.println("Poskusi ponovno: ");
while (Serial.available()) {
Serial.read();
}
break;
}
}
}
if (blink) {
unsigned long trenutniCas = millis();
if (trenutniCas - prejsnjiCas >= zakasnitev) {
prejsnjiCas = trenutniCas;
blinkState = !blinkState;
digitalWrite(led, blinkState ? HIGH : LOW);
}
}
}
void utripanje(){
for (int i = 0; i<10; i++){
digitalWrite(led, HIGH);
delay(300);
digitalWrite(led, LOW);
delay(300);
}
}
/*
#define btn1 4
#define btn2 5
void setup() {
Serial.begin(115200);
pinMode(btn1, INPUT_PULLUP);
pinMode(btn2, INPUT_PULLUP);
}
void loop() {
static int stevec = 0;
if(!digitalRead(btn1)){
stevec++;
Serial.println(stevec);
delay(300);
}
if(!digitalRead(btn2)){
stevec = 0;
Serial.println(stevec);
delay(300);
}
}
*/