Εμφάνιση ενός μόνο μηνύματος
  #29  
Παλιά 28-09-15, 08:50
Το avatar του χρήστη jimbit22
jimbit22 Ο χρήστης jimbit22 δεν είναι συνδεδεμένος
Senior Member
 
Εγγραφή: 27-05-2011
Περιοχή: Ελληνορώσων
Μηνύματα: 491
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από nt7561 Εμφάνιση μηνυμάτων
Αυτό πως γίνεται?
Κώδικας:
int WindowSize = 5000;// χρόνος σε millisecond 5000 = 5sec
float setpoint = 23.0; //στόχος θερμοκρασίας
float offset = 0.2; //κενό +-0.2 από το στόχο θερμοκρασίας για να μην ανάβει κάθε τρεις και λίγο

unsigned long windowStartTime;
void setup()
{
  windowStartTime = millis();
}

void loop()
{
   if (tempW <= stepoint+offset) Windowsize = 5000;
   else windowsize = 0;
  /************************************************
   * turn the output pin on/off
   ************************************************/
  unsigned long now = millis();
  if(now - windowStartTime>WindowSize)
  { //time to shift the Relay Window
    windowStartTime += WindowSize;
  }
  if(Output > now - windowStartTime) digitalWrite(RelayPin,HIGH);
  else digitalWrite(RelayPin,LOW);

}
-------------------------
Αυτό το loop λέει στο ρελε να ανοίγει τουλάχιστον για 5 δευτερόλεπτα. αν η αλλαγή στη θερμοκρασία δεν έχει επιτευχθεί στα 5 δευτερόλεπτα μεγαλώνει το παράθυρο σε κομμάτια των 5 δευτερολεπτων χωρίς να κλείσει το ρελε.



μόνο του δεν λειτουργεί, θέλει και τον μέσο όρο που έγραψα ποιο πάνω..

Σε αυτό το ποστ http://www.aquatek.gr/vb/showpost.ph...1&postcount=58 έχω ανεβάσει πρόγραμμα που έχω φτιάξει μπορεί να σου φανεί χρήσιμο σε τπτ.. ειναι πειραγμένα κομμάτια του jarduino χωρίς το κομμάτι της οθόνης αφής
__________________
3dpg.gr/3D Printers Greece

30lit amano-red cherry shrimp
60lit blue pearl shrimp
130lit hi-tech φυτεμένο RIP

Τελευταία επεξεργασία από το χρήστη jimbit22 : 28-09-15 στις 08:50 Αιτία: Automerged Doublepost
Απάντηση με παράθεση
 
Page generated in 0,01328 seconds with 11 queries