#define led1 6
#define led2 7
#define led3 5
#define koda 5461
#define zakasnitev 300
// Serial.readBytes()
int time = 0;
bool utrip3 = false;
void setup (){
Serial.begin(115200);
Serial.print("vpiši kodo: ");
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led2, OUTPUT);
}
void loop(){
if(Serial.available()){
char vpis[5];
int lenVpis = Serial.readBytes(vpis,4);
if(lenVpis == 4){
vpis[4] = '\0'; // zaključni znak - terminator seznama tipa char {'n','i','c','e','\0'}
int stevilka = atoi(vpis);
Serial.println(stevilka);
switch(stevilka){
case 5461:
Serial.println("vklop LED1");
digitalWrite(led1, HIGH);
break;
case 1234:
Serial.println("vklop LED2");
digitalWrite(led2, HIGH);
break;
case 5460:
Serial.println("izklop LED1");
digitalWrite(led1, LOW);
break;
case 1230:
Serial.println("izklop LED2");
digitalWrite(led2, LOW);
break;
case 4545:
Serial.println("utrip LED3 vklop");
utrip3 = true;
break;
case 4540:
Serial.println("utrip LED3 izklop");
utrip3 = false;
digitalWrite(led3, LOW);
break;
default:
Serial.println("poskusi ponovno");
break;
//pass | clearly don't need Serial.read();
}
// end of cases
}
// end of len check
}
//end of available
static bool m = false;
if (((millis() - time)> zakasnitev) && utrip3){
m = !m;
digitalWrite(led3, m);
time = millis();
}
}
/*
#define led 6
#define koda 5461
// Serial.readBytes()
void setup (){
Serial.begin(115200);
Serial.print("vpiši kodo: ");
pinMode(led, OUTPUT);
}
void loop(){
if(Serial.available()){
char vpis[5];
int lenVpis = Serial.readBytes(vpis,4);
if(lenVpis == 4){
vpis[4] = '\0'; // zaključni znak - terminator seznama tipa char {'n','i','c','e','\0'}
int stevilka = atoi(vpis);
if(stevilka == koda){
Serial.println("vklop LED");
digitalWrite(led, HIGH);
}
else{
Serial.println("poskusi ponovno");
//pass | clearly don't need Serial.read();
}
}
}
}
*/
/*
const int maxStZnakov = 50;
char seznam[maxStZnakov];
void setup (){
Serial.begin(115200);
Serial.print("vpiši niz znakov: ");
}
void loop(){
static bool novPodatek = false;
if(Serial.available()){
Serial.readBytesUntil('/', seznam, maxStZnakov);
novPodatek = true;
}
if (novPodatek){
Serial.println(seznam);
novPodatek = false;
}
}
*/
/*
char imena[] = "Hedvika, Anja? rudolf! Anton, Zala, Ema";
char deli[] = ",?!";
void setup (){
Serial.begin(115200);
Serial.print("vpiši niz znakov: ");
char* token = strtok(imena, deli);
while (token!= NULL){
Serial.println(token);
token = strtok(NULL, deli);
}
}
void loop(){}
*/
/*
const int maxStZnakov = 50;
char seznam[maxStZnakov];
void setup (){
Serial.begin(115200);
Serial.print("vpiši niz znakov");
}
void loop(){
static bool novPodatek = false;
if(Serial.available()){
Serial.readBytesUntil('\n', seznam, maxStZnakov);
novPodatek = true;
}
if (novPodatek){
Serial.print("vpisani znaki so: ");
Serial.print(seznam);
novPodatek = false;
}
}
*/
/*
//Preberi tri števila, ki so ločena z vejico (oblika zapisa: 45,123,45)
#define SEZNAMstevil 3
int seznamIndex = 0; // indeks posameznega stevila locenega z vejico
int stevila[SEZNAMstevil]; // seznam v katerega zapisemo vsa stevila
void setup(){
Serial.begin(115200);
Serial.println("Vpisi tri stevila, locena z vejico");
}
void loop(){
if(Serial.available()){
char znak = Serial.read();
if(znak >= '0' && znak <= '9'){
stevila[seznamIndex] = (stevila[seznamIndex] * 10) + (znak - '0');
}
else if (znak == ','){
if(seznamIndex < SEZNAMstevil -1) seznamIndex ++;
}
else if (znak ==10) { // if not 1-9 or '-' reset
Serial.print("stevilo stevil: ");
Serial.println(seznamIndex + 1);
for (int i = 0; i <= seznamIndex; i++){
Serial.print(stevila[i]);
if (i != seznamIndex){
Serial.print(", ");
}
stevila[i] = 0;
}
memset(stevila, 0, sizeof(stevila));
seznamIndex = 0;
}
}
}
*/