1
					Ардуино (Arduino) / Arduino код?
« -: Май 08, 2013, 02:02:57 am »
					Ето една програма направена за две минути-copy/paste от примера BlinkWithoutDelay!!!
Имай едно на ум, че процесора губи време да опреснява LCD и затова в моят случай long interval е 999ms!!!
И въпреки това пак ще има минимална грешка, няма да е швейцарски часовник, но все пак пилетата не се излюпват на 21-я ден в точно определен час, минута и секунда.......
				Код: [Маркирай кода]
#include <LiquidCrystal.h>
int sekund =0; 
int minutes =0; 
int hour =0; 
int hour2 =0; 
int day =0; 
long previousMillis = 0;        
long interval = 999;        
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
  lcd.begin(20, 4);  
  lcd.setCursor(0, 0);  
  lcd.print("Timer");   
  lcd.setCursor(0, 1);
  lcd.print("Day:");
 }
 
 
 void loop()
{
  unsigned long currentMillis = millis();
 
if(currentMillis - previousMillis > interval) {
    previousMillis = currentMillis;   
    sekund = sekund++;
    
    if (sekund>59) { 
       sekund=0; 
       minutes=minutes+1;
      } 
    if(minutes>59){ 
       minutes=0; 
       hour=hour+1;
      } 
     if(hour>24)
     {
       hour=0; 
      day=day+1; 
     }
     if(sekund <= 9){
        lcd.setCursor(6, 2);
        lcd.print("0");
        lcd.setCursor(7, 2);
        lcd.print(sekund);
     }else{
       lcd.setCursor(6, 2);
       lcd.print(sekund);
     }
    
    if(minutes <= 9){
        lcd.setCursor(3, 2);
        lcd.print("0");
        lcd.setCursor(4, 2);
        lcd.print(minutes);
     }else{
       lcd.setCursor(3, 2);
       lcd.print(minutes);
     }
    
     if(hour <= 9){
        lcd.setCursor(0, 2);
        lcd.print("0");
        lcd.setCursor(1, 2);
        lcd.print(hour);
    }else{
       lcd.setCursor(0, 2);
       lcd.print(hour);
     }
    
    lcd.setCursor(4, 1);
    lcd.print(day);
    lcd.setCursor(2, 2);
    lcd.print(":");
    lcd.setCursor(5, 2);
    lcd.print(":");
   
  }
}  Имай едно на ум, че процесора губи време да опреснява LCD и затова в моят случай long interval е 999ms!!!
И въпреки това пак ще има минимална грешка, няма да е швейцарски часовник, но все пак пилетата не се излюпват на 21-я ден в точно определен час, минута и секунда.......
