/* Napiši proram, ki prebere niz znakov iz serijskega porta(4 stevke), če niz znakov ustreza številko 5461, se itpiše na serijskem portu izklop in prižhe luč
#define LED 5
#define KODA 5461
void setup() {
Serial.begin(115200);
Serial.println("Vpiši kodo: ");
pinMode(LED, OUTPUT);
}
void loop() {
if(Serial.available()){
char vpis[5];
int steviloZnakovVpis = Serial.readBytes(vpis, 4);
if(steviloZnakovVpis == 4){
vpis[4] = '\0'; //terminator seznama
int stev = atoi(vpis);
if(stev == KODA){
Serial.println("Dostop dovoljen");
digitalWrite(LED, HIGH);
}
else{
Serial.println("poskusi ponovno");
while(Serial.available()) Serial.read();
digitalWrite(LED, LOW);
}
}
}
}
*/
// če niz znakov ustreza kombinacijij: 5461 se izpiše vklpo LED, 5460 se izpiše izklop
//1234 se izpiše vklop led2, 1230 se izpiše izklop Led2
// 4545 se izpiše utripanje LED3, 4540 se ugasne za utripanje uporabi funkcijo millis()
#define LED1 5
#define LED2 2
#define LED3 3
#define KODA1_on 5461
#define KODA1_off 5460
#define KODA2_on 1234
#define KODA2_off 1230
#define KODA3 4545
#define KODA3_off 4540
bool i = false;
void setup() {
Serial.begin(115200);
Serial.println("Vpiši kodo: ");
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
}
void loop() {
if(Serial.available()){
char vpis[5];
int steviloZnakovVpis = Serial.readBytes(vpis, 4);
if(steviloZnakovVpis == 4){
int stev = atoi(vpis);
switch(stev){
case KODA1_on:
Serial.println("LED1 vklop");
digitalWrite(LED1, HIGH);
break;
case KODA1_off:
Serial.println("LED1 izklop");
digitalWrite(LED1,LOW);
break;
case KODA2_on:
Serial.println("LED2 vklop");
digitalWrite(LED2, HIGH);
break;
case KODA2_off:
Serial.println("LED2 izklop");
digitalWrite(LED2, LOW);
break;
case KODA3:
Serial.println("LED3 utripa");
i=true;
break;
case KODA3_off:
Serial.println("poskusi ponovno");
i = false;
digitalWrite(LED3,LOW);
break;
default:
Serial.println("poskusi ponovno");
while(Serial.available()) Serial.read();
break;
}
}
}
static unsigned long trenutniCas;
int zakasnitev = 400;
static bool m = false;
if(((millis()- trenutniCas) > zakasnitev) && i){
trenutniCas = millis();
m =!m;
digitalWrite(LED3,m);
}
}