Greek Aquarist's Boards - Φόρουμ συζητήσεων γιά το χόμπυ του Ενυδρείου

Επιστροφή   Greek Aquarist's Boards - Φόρουμ συζητήσεων γιά το χόμπυ του Ενυδρείου > Γενικά > DIY . Φτιάχτο μόνος σου

DIY . Φτιάχτο μόνος σου Ο τίτλος τα λέει όλα.

Απάντηση στο θέμα
 
Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 20-05-17, 06:43
Το avatar του χρήστη mpampis varytimos
mpampis varytimos Ο χρήστης mpampis varytimos δεν είναι συνδεδεμένος
Member
 
Εγγραφή: 31-01-2016
Περιοχή: Germany
Μηνύματα: 80
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από sxetikos Εμφάνιση μηνυμάτων
Γενικά τα πολλά else if να τα αποφεύγεις.
θα συμφωνήσω .
στο iAqua.ino ο τύπος έχει 27 else if το ένα πίσω από το άλλο
δεν ξέρω αν σου δημιουργεί πρόβλημα αλλά σίγουρα χάνεις τον λογαριασμό αν κάτι δεν πάει καλά .

AgMa
αν θες δώσε μας το void του schedAtoHeat μιας και δεν το βρίσκω στο iAqua μπας και βγαλουμε καμιά άκρη

Παράθεση:
Αρχική Δημοσίευση από AgMa;
Να το κάνω για όλες τις ημέρες ?????
να οπλίζει συγκεκριμένες μέρες. ????
Απάντηση με παράθεση
  #2  
Παλιά 20-05-17, 09:29
Το avatar του χρήστη AgMa
AgMa Ο χρήστης AgMa δεν είναι συνδεδεμένος
Senior Member
 
Εγγραφή: 10-11-2014
Περιοχή: Κρήτη, Ηράκλειο
Μηνύματα: 423
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από mpampis varytimos Εμφάνιση μηνυμάτων
θα συμφωνήσω .
στο iAqua.ino ο τύπος έχει 27 else if το ένα πίσω από το άλλο
δεν ξέρω αν σου δημιουργεί πρόβλημα αλλά σίγουρα χάνεις τον λογαριασμό αν κάτι δεν πάει καλά .

AgMa
αν θες δώσε μας το void του schedAtoHeat μιας και δεν το βρίσκω στο iAqua μπας και βγαλουμε καμιά άκρη


Εννοώ να το κάνω να περιέχει όλες τις μέρες της εβδομάδας και να ενεργοποιείται ανάλογα με το ποιά θα έχω επιλέξει, όχι να ενεργοποιείται κάθε μέρα.
Δεν θα το βρεις στο αρχικό iAqua γιατί είναι κάτι το οποίο έχω προσαρμόσει εγώ. Ήταν aux1 και το έχω κάνει Ato Heat, θερμοστάτης αναπλήρωσης δηλαδή.
Απλά δεν θέλω να δουλεύει όλη τη βδομάδα μόνο και μόνο για να είναι ζεστό το νερό την Κυριακή που θα κάνω την αλλαγή και ο αρχικός κώδικας περιέχει μόνο ημερήσιο on off, κάθε μέρα να ανοίγει και να κλείνει συγκεκριμένη ώρα.
Αυτό βολεύει μόνο στα φώτα και στο co2 αν υπάρχει ηλεκτρομαγνητική.
Ο κώδικας πριν του προσθέσω την επιλογή για ξεχωριστές μέρες:
Κώδικας:
if (schedAtoHeat.active==1) myGLCD.setColor(255, 255, 255);
  else myGLCD.setColor(185, 185, 185);
  myFiles.load(192, 239, 18, 18, schedActive[schedAtoHeat.active],2);  

  myGLCD.print(F("ATO HEAT"), 8, 244);

  // convert on hour to char
  itoa(schedAtoHeat.onHour, char3, 10); 
  if (schedAtoHeat.onHour>=0 && schedAtoHeat.onHour<=9) // add a zero if needed
  {
    itoa(0, char3t, 10); //make char3t 0
    strcat(char3t, char3);
    strcpy (char3,char3t);
  }
  myGLCD.print(char3, 87, 244);         
  myGLCD.print(":", 103, 244);         

  // convert on min to char
  itoa(schedAtoHeat.onMinute, char3, 10); 
  if (schedAtoHeat.onMinute>=0 && schedAtoHeat.onMinute<=9) // add a zero if needed
  {
    itoa(0, char3t, 10); //make char3t 0
    strcat(char3t, char3);
    strcpy (char3,char3t);
  }
  myGLCD.print(char3, 111, 244);

  // convert off hour to char
  itoa(schedAtoHeat.offHour, char3, 10); 
  if (schedAtoHeat.offHour>=0 && schedAtoHeat.offHour<=9) // add a zero if needed
  {
    itoa(0, char3t, 10); //make char3t 0
    strcat(char3t, char3);
    strcpy (char3,char3t);
  }
  myGLCD.print(char3, 136, 244);         
  myGLCD.print(":", 152, 244);         

  // convert off min to char
  itoa(schedAtoHeat.offMinute, char3, 10); 
  if (schedAtoHeat.offMinute>=0 && schedAtoHeat.offMinute<=9) // add a zero if needed
  {
    itoa(0, char3t, 10); //make char3t 0
    strcat(char3t, char3);
    strcpy (char3,char3t);
  }
  myGLCD.print(char3, 160, 244);
Και εδώ όπως προσπαθώ να το φτιάξω τώρα. Αν χρησιμοποιήσω μια μέρα μόνο, δουλεύει κανονικά:
Κώδικας:
if (schedAtoHeat.Sunday==1) myGLCD.setColor(255, 255, 255);
  else myGLCD.setColor(185, 185, 185);
  myFiles.load(192, 239, 18, 18, schedActive[schedAtoHeat.active],2);
  
  myGLCD.print(F("ATO HEAT"), 8, 244);

  // convert on hour to char
  itoa(schedAtoHeat.onHour, char3, 10); 
  if (schedAtoHeat.onHour>=0 && schedAtoHeat.onHour<=9) // add a zero if needed
  {
    itoa(0, char3t, 10); //make char3t 0
    strcat(char3t, char3);
    strcpy (char3,char3t);
  }
  myGLCD.print(char3, 87, 244);         
  myGLCD.print(":", 103, 244);         

  // convert on min to char
  itoa(schedAtoHeat.onMinute, char3, 10); 
  if (schedAtoHeat.onMinute>=0 && schedAtoHeat.onMinute<=9) // add a zero if needed
  {
    itoa(0, char3t, 10); //make char3t 0
    strcat(char3t, char3);
    strcpy (char3,char3t);
  }
  myGLCD.print(char3, 111, 244);
Οι μεταβλητές που χρησιμοποιώ:
Κώδικας:
// holds the schedule for power relays
struct PWRSCHED
{  
  byte active;
  byte onHour;
  byte onMinute;
  byte offHour;
  byte offMinute;
  byte timer;
  byte Sunday;
  byte Monday;
  byte Tuesday;
  byte Wednesday;
  byte Thursday;
  byte Friday;
  byte Saturday;
} 
schedLights1,schedLights1s2,schedLights2,schedLights2s2,schedCirc,schedCo2,schedAtoHeat,schedAtoCirc;
Δεν ξέρω αν βοηθάει κάπου, τα checkboxes για τις μέρες, τα έχω κάνει αντιγραφή απ' τον κώδικα της λίπανσης. Απλά εκεί δεν ενεργοποιείται ρελέ (μετράει με millis και η αντλία δουλεύει με mosfet) και δεν υπάρχει στον πίνακα των schedules η λίπανση.
Απάντηση με παράθεση
  #3  
Παλιά 20-05-17, 14:45
Το avatar του χρήστη mpampis varytimos
mpampis varytimos Ο χρήστης mpampis varytimos δεν είναι συνδεδεμένος
Member
 
Εγγραφή: 31-01-2016
Περιοχή: Germany
Μηνύματα: 80
Προεπιλογή

δοκίμασε αυτό ,αντί για κώμα ( ,) βάλε (||)
Κώδικας:
if (schedAtoHeat.Sunday==1 || schedAtoHeat.Monday==1 || sch edAtoHeat.Tuesday==1 || schedAtoHeat.Wednesday==1 || sch edAtoHeat.Thursday==1 || schedAtoHeat.Friday==1 || sched AtoHeat.Saturday==1)
Κώδικας:
|| (logical or)

True if either operand is true, e.g.

if (schedAtoHeat.Sunday==1 || schedAtoHeat.Monday==1) {
  // ...
} 
is true if either Sunday or Monday is 1.
Απάντηση με παράθεση
Απάντηση στο θέμα

Tags
aquarium controller, arduino, iaqua


Συνδεδεμένοι χρήστες που διαβάζουν αυτό το θέμα: 1 (0 μέλη και 1 επισκέπτες)
 

Δικαιώματα - Επιλογές
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας

Που θέλετε να σας πάμε;

Παρόμοια Θέματα
Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
arduino απορια gregkn73 DIY . Φτιάχτο μόνος σου 4 20-11-14 03:20
arduino controller ikaria_jim DIY . Φτιάχτο μόνος σου 5 09-02-14 16:21
Arduino aquarium controller chris the trik DIY . Φτιάχτο μόνος σου 33 06-04-10 20:23
Προγραμματισμός σεμιναρίων ΠΣΦΕ Πανελλήνιος Σύλλογος Φίλων του Ενυδρείου 33 03-12-07 09:58
Σκέψεις - προγραμματισμός - απόψεις KwstasV DIY . Φτιάχτο μόνος σου 10 12-02-07 14:58

No_parrots

Όλες οι ώρες είναι GMT +2. Η ώρα τώρα είναι 02:49.


Forum engine powered by : vBulletin Version 3.8.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright 2000-2016 Greek Aquarists Board
Page generated in 0,09832 seconds with 15 queries