|
DIY . Φτιάχτο μόνος σου Ο τίτλος τα λέει όλα. |
|
Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
|
|||
|
|||
Το καλώδιο που δίνει την φάση στους ρελεδες φαίνεται ψιλό στην φωτό. Είναι ικανό να τροφοδοτήσει όλες τις καταναλώσεις σου ;
Αν δεν έχεις υπολογίσει κάτσε και υπολόγισε τα φορτία σου (ποσό ρεύμα θα τραβάς ) όταν δουλέψουν όλα μαζί. Sent from my iPhone using Tapatalk |
#2
|
||||
|
||||
1άρι είναι και νομίζω σηκώνει μέχρι 5Α.
Το πιο ενεργοβόρο που θα συνδεθεί πάνω του είναι ο θερμοστάτης 100w. Δεν θα αντέξει λες; Edit: Με βάση τους υπολογισμούς μου, όλες οι συσκευές αν δουλέψουν ταυτόχρονα θα τραβήξουν 237w. Σε calculator watt -> amp μου τα έβγαλε 1.07Α. Δεν ξέρω όμως την αναλογία ρεύματος/διάμετρο ώστε να υπολογίσω αν είμαι οκ. Edit 2: οκ πήρα επιβεβαίωση απ' τον κουνιάδο μου που είναι ηλεκτρολόγος: 0,75mm 5A. 1mm 7A. 1,5mm 10A ¶ρα είμαι άνετος... |
#3
|
||||
|
||||
Ήρθε το prototype board και μαντέψτε... πρόβλημα πάλι .
Έτσι όπως είναι κατασκευασμένο το συγκεκριμένο, αν κουμπώσει όπως πρέπει το tft shield, με βγάζει μια σειρά παρακάτω στο 40πινο. Καμιά λύση; Τελευταία επεξεργασία από το χρήστη stanisalus18 : 15-09-18 στις 13:20 Αιτία: Επαναφορά φωτογραφιών |
#4
|
||||
|
||||
Τελικά παράγγειλα ένα καλώδιο ide male to female:
http://www.ebay.com/itm/170709721128...%3AMEBIDX%3AIT ώστε η μια μεριά του να συνδεθεί στο θυληκό 40πινο που θα κολληθεί στο prototype: http://www.ebay.com/itm/152228595125...%3AMEBIDX%3AIT και η άλλη μεριά του καλωδίου να συνδεθεί στο αρσενικό 40πινο που δίνει το tft shield. Έτσι ελπίζω η καλωδιοταινία να μπορέσει να στραβώσει λίγο και να έρθει εκεί που πρέπει ώστε να είναι όλα τα πιν σωστά. Σχετικά με τον κώδικα, είναι σχεδόν έτοιμος. Τον έχω φέρει στα μέτρα μου μετά από αρκετούς πειραματισμούς, διάβασμα και φυσικά αρκετή βοήθεια από τον dkatsariotis. Έχω προσθέσει να φαίνεται η θερμοκρασία του βαρελιού με μεγάλο εικονίδιο, δίπλα απ' την κυρίως θερμοκρασία ώστε να μπορώ να τις βλέπω και τις δύο από μακριά, γιατί όπως ήταν ο κώδικας, ήταν αρκετά μικρά και δεν βόλευε. Κατέβηκε και η λειτουργία αναπλήρωσης από κάτω (το εικονίδιο iAqua) απλά αν δεν την ενεργοποιήσεις δεν φαίνονται οι λειτουργίες της και δεν έχω φτάσει ακόμα εκεί. Οι περισσότερες αλλαγές του κώδικα, γίνονται με απλή λογική. Αν καταλάβεις πως δουλεύει, ξέρεις και τι αλλαγές πρέπει να κάνεις. Αν αλλάξεις πχ. την σειρά που εμφανίζονται τα εικονίδια στις ρυθμίσεις, πρέπει να αλλάξεις και τις συντεταγμένες x και y στην κατηγορία touch έτσι ώστε να καταλαβαίνει ότι το πάτημα σε αυτές τις συντεταγμένες πρέπει να οδηγήσει εκεί. Τελευταία επεξεργασία από το χρήστη stanisalus18 : 15-09-18 στις 13:21 Αιτία: Επαναφορά φωτογραφιών |
#5
|
||||
|
||||
Παράθεση:
Sent from my Lenovo K53a48 using Tapatalk |
#6
|
||||
|
||||
Σωστός ο παίχτης!!!!!😎
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
__________________
"Let me tell you how you measure a man, when his world starts to fall see how tall he stand. It matters not how many times you fall down, what matters most is how many times you rise. Mistakes build character, and character takes you places money can't." |
#7
|
||||
|
||||
Την έφτιαξες; Έπαιξε;
|
#8
|
||||
|
||||
Δεν έπαιξε τελικά. Μόνο λευκή οθόνη.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
__________________
"Let me tell you how you measure a man, when his world starts to fall see how tall he stand. It matters not how many times you fall down, what matters most is how many times you rise. Mistakes build character, and character takes you places money can't." |
#9
|
||||
|
||||
¶σπρη ήταν και πριν ή τώρα που κόντυνες την ταινία;
Χωρίς την καλωδιοταινία, αν βάλεις την οθόνη κατευθείαν στο shield παίζει; |
#10
|
||||
|
||||
Από την αρχή ήταν έτσι. Πάνω στο shield παίζει κανονικά.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
__________________
"Let me tell you how you measure a man, when his world starts to fall see how tall he stand. It matters not how many times you fall down, what matters most is how many times you rise. Mistakes build character, and character takes you places money can't." |
#11
|
||||
|
||||
Παράθεση:
Είτε δεν πρεσαρίστικε σωστά η ταινία, η είναι πρεσαρισμένη ανάποδα. Δοκίμασε με πολύμετρο να μετρήσεις τα pin να δεις ότι αντιστοιχούν σωστά όπως πχ θα ήταν με την οθόνη απευθείας στο shield Sent from my Lenovo K53a48 using Tapatalk |
#12
|
||||
|
||||
Καλημέρα,
Ο katsariotis εννοεί να τσεκάρεις ότι αν πχ. το πρώτο καλώδιο της ταινίας είναι πρεσαρισμένο στο πάνω δεξιά pin της ταινίας, θα καταλήγει πάλι στο πάνω δεξιά της άλλης ταινίας. Αυτό προσπαθούσε να μου εξηγήσει και 'μένα και δεν το καταλάβαινα, μέχρι που έπιασα την ταινία στα χέρια μου. |
#13
|
||||
|
||||
Τα έχω τσεκάρει αυτά. Παρήγγειλα μια καινούρια 10cm για να δω αν θα δουλέψει.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
__________________
"Let me tell you how you measure a man, when his world starts to fall see how tall he stand. It matters not how many times you fall down, what matters most is how many times you rise. Mistakes build character, and character takes you places money can't." |
#14
|
||||
|
||||
Ε τότε τσάμπα την παράγγειλες ρε 'συ.
Αν είναι σωστά πρεσαρισμένη, τι διαφορά να έχει η άλλη ταινία; Για πες μου λίγο με ποιά σειρά έχεις φτιάξει το σάντουιτς, κάπου πάει το μυαλό μου. Και αν μπορείς μια φώτο. |
#15
|
||||
|
||||
Παράθεση:
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
__________________
"Let me tell you how you measure a man, when his world starts to fall see how tall he stand. It matters not how many times you fall down, what matters most is how many times you rise. Mistakes build character, and character takes you places money can't." |
#16
|
||||
|
||||
Έχω την εντύπωση ότι είναι λάθος.
Αν το συνδέσεις όπως το δικό μου, το ένα πλαστικό πρέπει να κοιτάει πάνω. Αν μπορείς βγάλε μια φώτο να φαίνονται τα πιν και απ' τις 2 μεριές. |
#17
|
||||
|
||||
Παράθεση:
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
__________________
"Let me tell you how you measure a man, when his world starts to fall see how tall he stand. It matters not how many times you fall down, what matters most is how many times you rise. Mistakes build character, and character takes you places money can't." |
#18
|
||||
|
||||
Ανάλογαε το πώς συνδέεται μετά στο shield σου ναι. Η λογική είναι πως πρέπει με τη χρήση της ταινίας να μετρήσεις τα pin με πολύμετρο και να υπάρχει αντιστοιχία σαν να κουμπωνε η οθόνη απευθείας στο shield
Sent from my Lenovo K53a48 using Tapatalk |
#19
|
||||
|
||||
Μπορεί κάποιος που ξέρει από κώδικες να βοηθήσει;
Θέλω αυτό: 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); Να το κάνω για όλες τις ημέρες της εβδομάδας. Στην ουσία ελέγχει και αν είναι Κυριακή, δίνει συγκεκριμένο χρώμα και ενεργοποιεί alarm. Αν το κάνω: 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) τότε δίνει το χρώμα μόνο όταν ενεργοποιήσω στο μενού όλες τις ημέρες. Χρειάζεται else και else if, αλλά δεν μπορώ να βρω την σειρά με τις αγκύλες {}. Θα έβαζα if "αυτό" τότε "αυτό", αλλά μπερδεύει με το else που υπάρχει. Τώρα είναι: if "αυτό" τότε "χρώμα" else "άλλο χρώμα" |
#20
|
||||
|
||||
δεν χρειαζετε να κοιτάς τι μέρα είναι με if or else if μιας και δεν σε ενδιαφέρει αφού συνέχεια θα κάνει το ίδιο (myGLCD.setColor(255, 255, 255); )
το Κώδικας:
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.setColor(255, 255, 255); myFiles.load(192, 239, 18, 18, schedActive[schedAtoHeat.active],2); παραδειγμα με if ,else if. else Κώδικας:
if (schedAtoHeat.Sunday==1) { myGLCD.setColor(255, 255, 255); } else if (schedAtoHeat.Monday==1) { myGLCD.setColor(185, 185, 185); } else { myGLCD.setColor(5, 5, 5); } myFiles.load(192, 239, 18, 18, schedActive[schedAtoHeat.active],2); Παράθεση:
δεν είμαι καλός στον προγραμματισμο αλλά έμαθα να τον διαβαζω λίγο, αν έγραψα κάτι λάθος διορθώστε με . ------------------------- και ένα ανέκδοτο μάνα σε παιδί προγραμματιστη παιδί μου πάνε στο σούπερ μάρκετ και πάρε γάλα ,αν έχουν αυγά πάρε 10. ο γιος γύρισε με 10 γάλατα γιατί είχαν αυγά. Κώδικας:
var γάλα=1 ; if (αυγά ==1) // αληθές {γάλα=10 ; } Τελευταία επεξεργασία από το χρήστη mpampis varytimos : 19-05-17 στις 16:44 Αιτία: Automerged Doublepost |
#21
|
||||
|
||||
Αν το θέλεις για όλες τις μέρες της εβδομάδας, λογικά δε χρειάζεται η if. Γενική αρχή στον προγραμματισμό, όταν έχουμε πολλές επιλογές, χρησιμοποιούμε ή συνάρτηση η οποία μας επιστρέφει μια τιμή ή στην χειρότερη την εντολή case (switch.....case για το arduino). Γενικά τα πολλά else if να τα αποφεύγεις.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
__________________
"Let me tell you how you measure a man, when his world starts to fall see how tall he stand. It matters not how many times you fall down, what matters most is how many times you rise. Mistakes build character, and character takes you places money can't." |
#22
|
||||
|
||||
Για να καταλάβετε τι θέλω να κάνω, έχω ένα ρελέ που θέλω να το προγραμματίσω να οπλίζει συγκεκριμένες μέρες.
Τις μέρες λοιπόν που θα είναι προγραμματισμένο, θα πρέπει η οθόνη που περιλαμβάνει όλα τα schedules να μου κάνει με άσπρο χρώμα το atoheat. Έτσι όταν θα μπαίνω στην οθόνη των schedules, αν δω το atoheat με άσπρα γράμματα, σημαίνει ότι έχω προγραμματίσει να ανοίξει κάποια ημέρα. Δεν μπορώ να του δηλώσω να τα κάνει έτσι κι αλλιώς άσπρα, γιατί σε περίπτωση που δεν το έχω ενεργοποιήσει, θα πρέπει να παίρνει άλλο χρώμα. Να διορθώσω τον κώδικα του γαλατά: Κώδικας:
var αυγά=1 ; if (αυγά ==1) // αληθές {αυγά=10 ; } |
#23
|
||||
|
||||
θα συμφωνήσω .
στο iAqua.ino ο τύπος έχει 27 else if το ένα πίσω από το άλλο δεν ξέρω αν σου δημιουργεί πρόβλημα αλλά σίγουρα χάνεις τον λογαριασμό αν κάτι δεν πάει καλά . AgMa αν θες δώσε μας το void του schedAtoHeat μιας και δεν το βρίσκω στο iAqua μπας και βγαλουμε καμιά άκρη Παράθεση:
|
#24
|
||||
|
||||
Παράθεση:
Δεν θα το βρεις στο αρχικό 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; |
#25
|
||||
|
||||
δοκίμασε αυτό ,αντί για κώμα ( ,) βάλε (||)
Κώδικας:
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. |
#26
|
||||
|
||||
Καλησπέρα ¶γγελε,
Κοίτα πως δουλεύει το schedule με τις αντλίες λίπανσης και αντίστοιχα φτιάξε και για το Ato Heater. Ουσιαστικά να κάνεις έλεγχο βάσει ημέρας και ώρας και να κάνεις ένα Time Alarm όπως των αντλιών στο οποίο όμως θα έχεις το digital.write για το pin του ρελέ του Ato Heater. Αν δεν βγάλεις άκρη θα το δω Δευτέρα πρωί που θα είμαι στην έδρα μου Sent from my Lenovo K53a48 using Tapatalk |
#27
|
||||
|
||||
Παράθεση:
EDIT: Δεν περνάει επικύρωση πλέον. Sched was not declared in this scope. EDIT 2: Έσβησα τον κώδικα που μου έγραψες και τον ξαναέγραψα και έκανε επικύρωση. Δουλεύει σωστά πλέον! Μάλλον κάποιο λάθος υπήρχε, ίσως ελληνικός χαρακτήρας. Την έχω ξαναπατήσει έτσι και χτυπούσα το κεφάλι μου να το βρω. Όπως και να 'χει έπαιξε, ευχαριστώ! Παράθεση:
1) Μέσα στον πίνακα όλων των schedules, δεν μου γίνεται άσπρο όταν έχω επιλέξει να οπλίσει το atoheat κάποιες μέρες. Έχει να κάνει με τα if και τα else. 2) Όταν βγάλω τον arduino από το ρεύμα και τον ξαναβάλω, χάνει τον προγραμματισμό της μέρας, αν δηλαδή έχω προγραμματίσει να ανοίγει κάθε Σάββατο, όταν τον βγάλω από το ρεύμα και τον ξαναβάλω δεν είναι πλέον τικαρισμένο το Σάββατο όπως γίνεται με τις αντλίες λίπανσης. |
#28
|
||||
|
||||
Παράθεση:
Sent from my Lenovo K53a48 using Tapatalk |
#29
|
||||
|
||||
Ναι, απ'το 400 και μετά είναι για το ato heat.
|
#30
|
||||
|
||||
Ok θα το δω και θα σου πω
Sent from my Lenovo K53a48 using Tapatalk |
Tags |
aquarium controller, arduino, iaqua |
Συνδεδεμένοι χρήστες που διαβάζουν αυτό το θέμα: 1 (0 μέλη και 1 επισκέπτες) | |
|
|
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | 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 |