/*
NALOGA 1)
Napiši program, ki bere niz znakov (6 znakov) iz serijskega porta.
- Če je znakov več ali manj kot 6, naj se na serijskem portu izpiše: "Napaka, ponovni vnos." (1 točka)
- Ob prvem nizu znakov 777111, se prižge LED3, ki je priključena na pin 3. (1 točka)
- Ob drugem nizu znakov 777111, se ugasne LED3, ki je priključena na pin 3. (1 točka).
- Če niz znakov ustreza številki 777333, začne utripati LED4, ki je priključena na pin 4. (1 točka)
Za utripanje uporabi funkcijo millis().
- Če niz znakov ustreza številki 777330, ugasnemo LED4, ki je priključena na pin 4. (1 točka)
- Priključi LCD display I2C, ki izpisuje posamezna stanja: npr. LED3 vklop, LED3 izklop, LED4 utrip, LED4 izklop (1 točka)
- Za utripanje LED uporabi funkcijo void npr. void utripanje ... (2 točki)
- Če niz znakov ustreza številki 777444, LED4 dioda 10 x utripne. (2 točki)
NALOGA 2)
- Napiši program, ki šteje število pritiskov tipke, ki je priključena na pin 4. Rezultat naj se izpisuje na serijski port. S tipko, ki je priključena na pin 5, ponastaviš števec pritiskov tipke na nič. (1 točka)
- Za odskakovanje kontaktov uporabi knjižnico bounce.h (1 točka)
- Za štetje pritiskov tipke kreiraj funkcijo void stetje.. (1 točka)
*/
#include<LiquidCrystal_I2C.h>
#define koda1 777111
#define koda2 777333
#define koda3 777330
#define LED3 3
#define LED4 4
volatile bool l = HIGH;
volatile bool stanjeLed= HIGH;
int zakasnitev = 500;
int zadnji_cas=0;
LiquidCrystal_I2C lcd(0x27,16,2);
void setup() {
Serial.begin(9600);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
Serial.println("Vpiši kodo:");
lcd.init();
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()){
char vpis[6];
int stZnakovVpis=Serial.readBytes(vpis,6);
if(stZnakovVpis==6){
long stevilka=atol(vpis);
switch(stevilka){
case koda1:
lcd.clear();
Serial.println(l);
digitalWrite(LED3,l);
l=!l;
if(l=HIGH){
Serial.println("LED3 ON");
lcd.print("LED3 ON");
}
if(l=LOW){
Serial.println("LED3 OFF");
lcd.print("LED3 OFF");
}
break;
case koda2:
lcd.clear();
Serial.println("LED4 utripanje");
lcd.print("LED4 utripanje");
digitalWrite(LED4, HIGH);
delay(zakasnitev);
digitalWrite(LED4, LOW);
delay(zakasnitev);
digitalWrite(LED4, HIGH);
delay(zakasnitev);
digitalWrite(LED4, LOW);
delay(zakasnitev);
break;
case koda3:
lcd.clear();
digitalWrite(LED4, LOW);
Serial.println("LED4 OFF");
lcd.print("LED4 OFF");
break;
default:
while(Serial.available())Serial.read();
break;
}
}
else{
Serial.println("Napaka. Ponovi vnos:");
}
}
}