/*NALOGA 1)
Napiši program, ki bere niz znakov (5 znakov) iz serijskega porta.
- ÄŒe je znakov veÄ ali manj kot 5, naj se na serijskem portu izpiÅ¡e: "Napaka, ponovni vnos." (1 toÄka)
- Ob prvem nizu znakov 99111, se prižge LED3, ki je prikljuÄena na pin 3. (1 toÄka)
- Ob drugem nizu znakov 99111, se ugasne LED3, ki je prikljuÄena na pin 3. (1 toÄka).
- ÄŒe niz znakov ustreza Å¡tevilki 99333, zaÄne utripati LED4, ki je prikljuÄena na pin 4. (1 toÄka)
Za utripanje uporabi funkcijo millis().
- ÄŒe niz znakov ustreza Å¡tevilki 99330, 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 99444, 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 3, 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)
*/
/*
1. Naloga*/
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define LED3 3
#define LED4 4
bool led3stanje = false;
bool led4stanje = false;
unsigned long prejsniMili = 0;
const long stevcMili = 300;
void setup() {
lcd.begin(16, 2);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
Serial.begin(115200);
Serial.println("Začnite z vnosom");
}
void loop() {
if(Serial.available()>=5){
String vnos = Serial.readStringUntil('\n');
if(vnos.length() != 5){
Serial.println("Napaka, ponovni vnos.");
} else if(vnos == "99111"){
led3stanje = !led3stanje;
digitalWrite(LED3, led3stanje ? HIGH : LOW);
lcd.clear();
lcd.setCursor(0, 1);
lcd.print(led3stanje ? "LED3 Vklop" : "LED3 Izklop");
} else if(vnos == "99333"){
led4stanje = true;
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("LED4 Vklop");
} else if(vnos == "99330"){
led4stanje = false;
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("LED4 Izklop");
}else if(vnos == "99444"){
utripanje();
lcd.clear();
lcd.setCursor(0, 1);
lcd.print("LED4 Utripa 10x");
}
}
if(led4stanje){
unsigned long zdajsniMili = millis();
if(zdajsniMili - prejsniMili >= stevcMili){
prejsniMili = zdajsniMili;
digitalWrite(LED4, !digitalRead(LED4));
}
}
}
void utripanje(){
for(int x = 0; x < 10; x++){
digitalWrite(LED4, HIGH);
delay(200);
digitalWrite(LED4, LOW);
delay(200);
}
}
*/
/*2. Naloga*/
/*
#include <Bounce2.h>
#define btn 4
#define reset 3
Bounce button = Bounce();
int klikBtn = 0;
void setup(){
pinMode(btn, INPUT_PULLUP);
pinMode(reset, INPUT_PULLUP);
Serial.begin(115200);
Serial.println("Klikni gumb");
button.attach(btn);
button.interval(5);
}
void loop(){
button.update();
if(button.fell()){
stevcBtn();
}
if(digitalRead(reset) == LOW){
resetStevc();
}
}
void stevcBtn(){
klikBtn++;
Serial.print("Stevilo kilkov gumba:");
Serial.println(klikBtn);
}
void resetStevc(){
klikBtn = 0;
Serial.print("Stevilo kilkov gumba:");
Serial.println(klikBtn);
delay(200);
}
*/