Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <LiquidCrystal.h>
- LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
- int procitajTaster(int val) {
- if (val > 630 && val < 650)return 1;
- else if (val > 400 && val < 420)return 2;
- else if (val > 90 && val < 110)return 3;
- else if (val > 255 && val < 265)return 4;
- else if ( val < 10 && val > -10)return 5;
- else return 0;
- }
- void ispisiDvocifreno(short a, short kolona, short red){
- if(a < 10){lcd.setCursor(kolona, red);lcd.print(" ");lcd.print( a);}
- else {lcd.setCursor(kolona, red);lcd.print( a);}
- }
- void ispisiVreme(unsigned long time, int red, int kolona){
- static unsigned long sati;
- static unsigned long minute;
- static unsigned long sekunde;
- static unsigned long stotinjke;
- stotinjke = (time/10) % 100;
- sekunde = (time / 1000)%60;
- minute = (sekunde / 60)%60;
- sati = minute / 60;
- ispisiDvocifreno(stotinjke, kolona + 9, red);
- lcd.setCursor(kolona + 8, red);
- lcd.print(":");
- ispisiDvocifreno(sekunde, kolona + 6, red);
- lcd.setCursor(kolona + 5, red);
- lcd.print(":");
- ispisiDvocifreno(minute, kolona + 3, red);
- lcd.setCursor(kolona + 2, red);
- lcd.print(":");
- ispisiDvocifreno(sati, kolona + 0, red);
- }
- void setup ()
- {
- Serial . begin (9600) ;
- lcd.begin(16,2);
- lcd.leftToRight();
- }
- int countEnable = 1;
- int prosloStanje = 0;
- int pocetnoKrajnjeVremePauze = 0 ;
- void loop ()
- {
- static unsigned long pocetnoVreme = 0;
- static unsigned long vremeStoperice=0;
- static unsigned long PocetnoVremePauze=0;
- static unsigned long KrajnjeVremePauze=0;
- static unsigned long UkupnoVremePauze=0;
- static int val;
- vremeStoperice = millis() - pocetnoVreme;
- if(countEnable)ispisiVreme(vremeStoperice - UkupnoVremePauze, 0, 0);
- val = analogRead ( 0 ); // ocitava analogni ulaz pin
- switch(procitajTaster(val)){
- case 1:
- if(prosloStanje == 0){
- if(pocetnoKrajnjeVremePauze == 0){PocetnoVremePauze = vremeStoperice;countEnable = 0;}
- if(pocetnoKrajnjeVremePauze == 1){UkupnoVremePauze = UkupnoVremePauze + (vremeStoperice - PocetnoVremePauze);countEnable = 1;}
- pocetnoKrajnjeVremePauze++; if(pocetnoKrajnjeVremePauze == 3)pocetnoKrajnjeVremePauze = 0;}
- prosloStanje = 1;
- break;
- case 2:if(prosloStanje == 0)ispisiVreme(vremeStoperice - UkupnoVremePauze, 1, 0);
- prosloStanje = 2;
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:if(prosloStanje == 0){pocetnoVreme = millis();UkupnoVremePauze = 0;}
- prosloStanje = 5;
- break;
- default:
- prosloStanje = 0;
- }
- Serial.println(pocetnoKrajnjeVremePauze);
- delay(100);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement