Επιστροφή στο Forum : Κατασκευή-προγραμματισμός arduino από το 0
Ναι αλλά για να μην κόβεις το τροφοδοτικό σου, πάρε 1 τέτοιο να το έχεις:
https://www.google.gr/search?client=ms-android-samsung&biw=360&bih=310&tbm=isch&sa=1&ei=roUHWez6Ncf-UJSJpcAG&q=barrel+to+screw&oq=barrel+to+screw&gs_l=mobile-gws-img.3...20142.32832.0.33592.21.20.1.0.0.0.1171.693 2.0j5j9j1j0j1j1j2.19.0....0...1c.1j4.64.mobile-gws-img..1.14.5950.3..0j35i39k1j0i67k1j0i10k1j0i19k1j0 i13k1j0i13i30k1j0i13i10i30k1j0i30k1.ZEYqTd3SILw#tb m=isch&q=barrel+terminal+to+screw
dkatsariotis
01-05-17, 21:21
Έχω παρατηρήσει και αν ανοίξω πχ. τον κυκλοφορητή να δουλεύει και βγάλω τον arduino από το ρεύμα, όταν τον ξαναβάλω δεν δουλεύει.
Δεν θα έπρεπε να αποθηκεύονται αυτές οι ρυθμίσεις;
Εσένα πως είναι; Δεν μιλάω για το φίλτρο και τον θερμοστάτη που είναι ρυθμισμένοι πάντα on.
Αυτό δεν κάνει αυτός ο κώδικας;
// used for storing power states of relays
struct PWR
{
byte pwrLight1;
byte pwrLight2;
byte pwrFilter;
byte pwrCirc;
byte pwrHeat;
byte pwrCO2;
byte pwrAux1;
byte pwrAux2;
}
Αν ο κυκλοφορητής δουλεύει μέσω κάποιου alarm σε συγκεκριμένη ώρα τότε είναι λογικό ότι αφού τον ανοίξεις χειροκίνητα να κλείνει μετά από επανεκκίνηση. Ο κώδικας που αναφέρεις σώζει την κατάσταση όσο τρέχει ο κώδικας και μέχρι να γίνει επανεκκίνηση. Για να σώζει την κατάσταση μόνιμα τότε πρέπει να σώζεις την τιμή της κατάστασης πχ 1 για on και 0 για off σε μια θέση στην eeprom. Μόνο έτσι θα κρατάς την κατάσταση μετά από επανεκκίνηση και θα την διαβάζεις αντίστοιχα
Sent from my Lenovo K53a48 using Tapatalk
Δηλαδή για να καταλάβω, αν δεν υπήρχε αυτό το κομμάτι του κώδικα, μόλις ενεργοποιούσες κάποιο ρελέ αυτό θα ξαναέκλεινε; Πότε; Όταν ξανάρχιζε το loop απ' την αρχή;
dkatsariotis
01-05-17, 22:28
Δηλαδή για να καταλάβω, αν δεν υπήρχε αυτό το κομμάτι του κώδικα, μόλις ενεργοποιούσες κάποιο ρελέ αυτό θα ξαναέκλεινε; Πότε; Όταν ξανάρχιζε το loop απ' την αρχή;
Όχι, το κομμάτι που ανέβασες είναι για να κρατήσει προσωρινά την κατάσταση των ρελέ όσο τρέχει το loop και εκτελούνται τα alarm. Τα eeprom write είναι για να κρατάνε τις καταστάσεις ακόμα και μετά τα restart
Sent from my Lenovo K53a48 using Tapatalk
Οκ τον θερμοστάτη του βαρελιού που τον έχω αντικαταστήσει στην θέση aux1 κατάφερα να τον κάνω να μην σβήνει μετά από διακοπή με την εντολή:
AlarmPwrAtoHeat_On();
Αλλά τώρα υπάρχει άλλο θέμα.
Αν εγώ δεν γεμίσω το βαρέλι κατευθείαν μετά την αλλαγή, τότε θα καεί.
Μπορώ να τον κλείσω χειροκίνητα μέσα από το power menu, αλλά αν κάνει διακοπή ρεύματος, μόλις επανέλθει το ρεύμα θα αρχίσει πάλι να δουλεύει.
Άρα καταργείται αυτή η σκέψη.
Επόμενη επιλογή είναι να τον ανοίγω προγραμματισμένα μέσω schedule, μερικές ώρες πριν την αλλαγή, που στάνταρ θα είναι γεμάτο το βαρέλι.
Αυτή η επιλογή μου φαίνεται πιο σωστή.
Μπερδεύομαι όμως στο μενού του schedule, στο σημείο που λέει timer.
Πως θα το κάνω να μου δουλεύει πχ. μόνο ξημερώματα Κυριακής από τις 03:00 έως τις 15:οο;
Αυτή τη στιγμή οι επιλογές που έχω, είναι (με το timer κλειστό):
https://s21.postimg.cc/9s2w9l7k7/20170502_000803.jpg
Με το timer ανοιχτό:
https://s21.postimg.cc/9glfwtr47/20170502_000814.jpg
dkatsariotis
02-05-17, 00:43
Οκ τον θερμοστάτη του βαρελιού που τον έχω αντικαταστήσει στην θέση aux1 κατάφερα να τον κάνω να μην σβήνει μετά από διακοπή με την εντολή:
AlarmPwrAtoHeat_On();
Αλλά τώρα υπάρχει άλλο θέμα.
Αν εγώ δεν γεμίσω το βαρέλι κατευθείαν μετά την αλλαγή, τότε θα καεί.
Μπορώ να τον κλείσω χειροκίνητα μέσα από το power menu, αλλά αν κάνει διακοπή ρεύματος, μόλις επανέλθει το ρεύμα θα αρχίσει πάλι να δουλεύει.
Άρα καταργείται αυτή η σκέψη.
Επόμενη επιλογή είναι να τον ανοίγω προγραμματισμένα μέσω schedule, μερικές ώρες πριν την αλλαγή, που στάνταρ θα είναι γεμάτο το βαρέλι.
Αυτή η επιλογή μου φαίνεται πιο σωστή.
Μπερδεύομαι όμως στο μενού του schedule, στο σημείο που λέει timer.
Πως θα το κάνω να μου δουλεύει πχ. μόνο ξημερώματα Κυριακής από τις 03:00 έως τις 15:οο;
Αυτή τη στιγμή οι επιλογές που έχω, είναι (με το timer κλειστό):
https://s21.postimg.org/9s2w9l7k7/20170502_000803.jpg
Με το timer ανοιχτό:
https://s21.postimg.org/9glfwtr47/20170502_000814.jpg
Καλησπέρα,
Έχεις δύο επιλογές τότε. Πρώτη είναι να κάνεις copy ένα schedule της λίπανσης που έχει και επιλογή ημέρας και δεύτερη επιλογή είναι μέσω αισθητήρα θερμοκρασίας και ενεργοποίηση στη θερμοκρασία που θες. Κάτι αντίστοιχο με τα fan. Σαν backup να διαβάζεις και ένα φλοτερ πριν τρέξει το alarm για να είσαι σίγουρος
Sent from my Lenovo K53a48 using Tapatalk
Καλησπέρα,
Έχεις δύο επιλογές τότε. Πρώτη είναι να κάνεις copy ένα schedule της λίπανσης που έχει και επιλογή ημέρας και δεύτερη επιλογή είναι μέσω αισθητήρα θερμοκρασίας και ενεργοποίηση στη θερμοκρασία που θες. Κάτι αντίστοιχο με τα fan. Σαν backup να διαβάζεις και ένα φλοτερ πριν τρέξει το alarm για να είσαι σίγουρος
Sent from my Lenovo K53a48 using Tapatalk
Σκέφτομαι αντί για φλοτέρ και τρύπες, να βάλω ένα sr04 αλλά πρέπει να το ψάξω πως δουλεύει και δεν ξέρω επίσης αν υπάρξει θέμα με την εξάτμιση του νερού.
dkatsariotis
02-05-17, 01:04
Σκέφτομαι αντί για φλοτέρ και τρύπες, να βάλω ένα sr04 αλλά πρέπει να το ψάξω πως δουλεύει και δεν ξέρω επίσης αν υπάρξει θέμα με την εξάτμιση του νερού.
Μπορείς να χρησιμοποιήσεις και έναν υπέρυθρο αισθητήρα σαν αυτό που μου έστειλες στο eBay και ήδη έχω παραγγείλει για το top off. Με εξάτμιση σίγουρα θα έχεις ένα θέμα μερικών εκατοστών αλλά τίποτα το ιδιαίτερο. Θα υπολογίζεις παραπάνω νερό και θα είσαι οκ.
Sent from my Lenovo K53a48 using Tapatalk
Όχι, εννοώ μην πάθει ζημιά το sr04 από την εξάτμιση.
Για τον υπέρυθρο, ή θα πρέπει να κάνω πάλι τρύπα στο βαρέλι, ή να τον στηρίξω στην πάνω μεριά του βαρελιού με κάποια βάση σε στυλ μπαστουνιού που να φτάνει μέχρι κάτω.
Δεν έχει διαφορά δηλαδή απ' το φλοτέρ στον τρόπο στηρίγματος.
Έτοιμο και το κουτί με τις πρίζες και τα ρελέ:
https://s24.postimg.cc/5qj1vpo8l/20170503_211106.jpg
https://s24.postimg.cc/g1veodfxx/20170503_211208.jpg
Ώρα για το prototype :smt108
Το είχα για δύσκολο το prototype αλλά είναι εύκολο, τουλάχιστον για 'μένα που έχω σε σχεδιάγραμμα την συνδεσμολογία.
Έχω αρκετό υλικό από την διαδικασία, αλλά πρώτα θέλω να πω την γνώμη μου για τα κολλητήρια.
Μέχρι τώρα, είχα ένα κολλητήρι 30watt του jumbo με 5 ευρώ και έκανα ότι ψευτοκολλήσεις ήθελα.
Με αυτό λοιπόν κάνω μια χαρά την δουλειά μου. Επαληθεύει τα λεγόμενα των stanisalus18 και puntomad, ότι η συγκεκριμένη δουλειά γίνεται και με απλό κολλητήρι και να δώσουμε μεγαλύτερη έμφαση στις ανταλλακτικές μύτες. Το μόνο πράγμα που με καθυστερεί είναι το καθάρισμα της μύτης και αυτό γιατί δεν έχω ούτε σολντερίνη ούτε σφουγγαράκι βρεγμένο και την τρίβω με μαχαιράκι κάθε φορά για να την καθαρίσω. Μεγάλη διαφορά μόλις την καθαρίσω, λιώνει κατευθείαν την κόλληση.
Πάμε παρακάτω...
Επειδή δεν είχα υπομονή να περιμένω τον κινέζο να μου στείλει το 40πινο (http://www.ebay.com/itm/152228595125?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT) ώστε να καταφέρω να ευθυγραμμίσω σωστά τον arduino με το prototype (http://www.aquatek.gr/vb/showpost.php?p=1007116&postcount=232) μέσω του καλωδίου (http://www.ebay.com/itm/170709721128?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT), έπιασα 2 σειρές των 20 πιν (http://www.ebay.com/itm/171186838668?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT) και τις κόλλησα δίπλα δίπλα:
https://s16.postimg.cc/n7popfhut/20170506_043724.jpg
https://s16.postimg.cc/5o1yt4sdh/20170510_021057.jpg
Και έτοιμο το 40πινο :)
Επόμενο βήμα η καλωδιοταινία:
Είχα ήδη μία από θηλυκό σε θηλυκό και ήταν 40 πιν. Ο arduino όμως έχει 36 στην δεξιά μεριά και το 40πινο κουτουλούσε σε άλλες εξόδους. Έτσι το μετέτρεψα, αφαίρεσα 4 καλώδια και το κόντυνα ώστε να χωράει και να μην βρίσκει.
Να πω επίσης ότι την κόντυνα αρκετά σε μήκος γιατί ο arduino έχει συγκεκριμένο μήκος ταινίας που μπορεί να διαβάσει. Αν το περάσεις, ή δεν θα δείχνει καθόλου ή δεν θα δείχνει σωστά. Έτσι την κόντυνα όσο χρειάζεται για να συνδεθούν αυτά τα δύο μεταξύ τους.
Εδώ η 40πινη καλωδιοταινία λυμένη:
https://s16.postimg.cc/6svrcuzvp/20170506_043634.jpg
Και εδώ πλέον είναι με 36πιν:
https://s16.postimg.cc/l4f9hri1x/20170506_044017.jpg
Μετά είναι η προσαρμογή του rtc στην πλακέτα prototype:
https://s16.postimg.cc/vfrmaf9r9/20170506_202903.jpg
https://s16.postimg.cc/psv9cy78l/20170509_031108.jpg
Check ότι παίζουν όλα σωστά:
https://s16.postimg.cc/jhq1wj605/20170509_032146.jpg
https://s16.postimg.cc/cd88nhyqt/20170509_032043.jpg
Όλα καλά μέχρι εδώ. Προχωράμε στις αντλίες λίπανσης.
3 mosfet IRFZ44N συνολικά, μαζί με 1 αντίσταση 1Kohm και 1 δίοδο 1N4001 (επίσης κάνει και η 1Ν4007 και η SR260) στην κάθε αντλία:
https://s16.postimg.cc/tugxwcox1/20170509_224615.jpg
Και η πίσω μεριά:
https://s16.postimg.cc/bqdxbpr8l/20170509_224606.jpg
Όπου και έτσι είναι μέχρι τώρα. Μόλις τα τελειώσω και αυτά θα ανεβάσω φώτο.
Γενικά αν και με έχει ταλαιπωρήσει αρκετά (ειδικά η καλωδιοταινία η οποία δεν έπαιζε με τίποτα) με ευχαριστεί η όλη διαδικασία. Σίγουρα δεν θα ήταν τόσο εύκολο αν το project που ακολουθώ δεν ήταν τόσο αναλυτικό και ίσως να μην το είχα ξεκινήσει καν αν δεν ήταν αυτό.
@AgMa: Πως ένωσες την καλωδιοταινία με τα Pins; Έχω ένα 40πινο male-female καλώδιο 20cm και μάλλον δεν το αναγνωρίζει το arduino, οπότε θα πρέπει να δοκιμάσω να το κόψω στα 10cm περίπου. Στα βίντεο που είδα, χρησιμοποιούν ειδική πρέσα την οποία δεν έχω. Εσύ πως το έκανες;
Με ειδική "πένσα" :D. Το πάνω πλαστικό της καλωδιοταινίας που είναι για να την ασφαλίσει να μην φεύγει, έχει στην μέσα μεριά της κάτι λούκια που είναι για να μπουν χωνευτά τα pin της.
Έβαλα λοιπόν αυτό το πλαστικό και το έσφιξα με μια πένσα. Την ίδια διαδικασία που χρειάζεται δηλαδή με την πρέσα, απλά με πένσα.
Δεν χρειάζεται ιδιαίτερη δύναμη, είναι περιττή η πρέσα. Απλά πρόσεξε η πένσα όταν θα σφίγγεις να είναι στην μέση του πλαστικού ώστε όταν θα σφίγγεις να μην σου φεύγει πάνω η κάτω και να σπάσει το πλαστικό.
Σωστός ο παίχτης!!!!!😎
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Δεν έπαιξε τελικά. Μόνο λευκή οθόνη.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Άσπρη ήταν και πριν ή τώρα που κόντυνες την ταινία;
Χωρίς την καλωδιοταινία, αν βάλεις την οθόνη κατευθείαν στο shield παίζει;
Από την αρχή ήταν έτσι. Πάνω στο shield παίζει κανονικά.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
dkatsariotis
13-05-17, 07:32
Από την αρχή ήταν έτσι. Πάνω στο shield παίζει κανονικά.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Δυο περιπτώσεις.
Είτε δεν πρεσαρίστικε σωστά η ταινία, η είναι πρεσαρισμένη ανάποδα.
Δοκίμασε με πολύμετρο να μετρήσεις τα pin να δεις ότι αντιστοιχούν σωστά όπως πχ θα ήταν με την οθόνη απευθείας στο shield
Sent from my Lenovo K53a48 using Tapatalk
Καλημέρα,
Ο katsariotis εννοεί να τσεκάρεις ότι αν πχ. το πρώτο καλώδιο της ταινίας είναι πρεσαρισμένο στο πάνω δεξιά pin της ταινίας, θα καταλήγει πάλι στο πάνω δεξιά της άλλης ταινίας. Αυτό προσπαθούσε να μου εξηγήσει και 'μένα και δεν το καταλάβαινα, μέχρι που έπιασα την ταινία στα χέρια μου.
Τα έχω τσεκάρει αυτά. Παρήγγειλα μια καινούρια 10cm για να δω αν θα δουλέψει.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Ε τότε τσάμπα την παράγγειλες ρε 'συ.
Αν είναι σωστά πρεσαρισμένη, τι διαφορά να έχει η άλλη ταινία;
Για πες μου λίγο με ποιά σειρά έχεις φτιάξει το σάντουιτς, κάπου πάει το μυαλό μου.
Και αν μπορείς μια φώτο.
Ε τότε τσάμπα την παράγγειλες ρε 'συ.
Αν είναι σωστά πρεσαρισμένη, τι διαφορά να έχει η άλλη ταινία;
Για πες μου λίγο με ποιά σειρά έχεις φτιάξει το σάντουιτς, κάπου πάει το μυαλό μου.
Και αν μπορείς μια φώτο.
https://uploads.tapatalk-cdn.com/20170514/26c81d893e5c080813b203a3f3b877f5.jpg
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Έχω την εντύπωση ότι είναι λάθος.
Αν το συνδέσεις όπως το δικό μου, το ένα πλαστικό πρέπει να κοιτάει πάνω.
Αν μπορείς βγάλε μια φώτο να φαίνονται τα πιν και απ' τις 2 μεριές.
Έχω την εντύπωση ότι είναι λάθος.
Αν το συνδέσεις όπως το δικό μου, το ένα πλαστικό πρέπει να κοιτάει πάνω.
Αν μπορείς βγάλε μια φώτο να φαίνονται τα πιν και απ' τις 2 μεριές.
Λάθος δεν είναι. Απλά έσπασε το πάνω πλαστικό που φέρνει "βόλτα" η καλωδιοταινία.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
dkatsariotis
15-05-17, 10:48
Λάθος δεν είναι. Απλά έσπασε το πάνω πλαστικό που φέρνει "βόλτα" η καλωδιοταινία.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Είναι λάθος πιθανότατα. Δεν αναφέρεται στο πλαστικό που φέρνει βόλτα την ταινία. Εννοούμε ότι τα pin πρέπει να είναι στην πάνω μεριά
Sent from my Lenovo K53a48 using Tapatalk
Είναι λάθος πιθανότατα. Δεν αναφέρεται στο πλαστικό που φέρνει βόλτα την ταινία. Εννοούμε ότι τα pin πρέπει να είναι στην πάνω μεριά
Sent from my Lenovo K53a48 using Tapatalk
Το μαύρο πλαστικό είναι απείραχτο. Λες απλά να γυρίσω το άσπρο και να βλέπει προς τα πάνω;
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
dkatsariotis
15-05-17, 11:28
Ανάλογαε το πώς συνδέεται μετά στο shield σου ναι. Η λογική είναι πως πρέπει με τη χρήση της ταινίας να μετρήσεις τα pin με πολύμετρο και να υπάρχει αντιστοιχία σαν να κουμπωνε η οθόνη απευθείας στο shield
Sent from my Lenovo K53a48 using Tapatalk
Μπορεί κάποιος που ξέρει από κώδικες να βοηθήσει;
Θέλω αυτό:
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 "άλλο χρώμα"
mpampis varytimos
19-05-17, 16:44
Να το κάνω για όλες τις ημέρες της εβδομάδας.
δεν χρειαζετε να κοιτάς τι μέρα είναι με 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);
-------------------------
Αν το κάνω:
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) τότε δίνει το χρώμα μόνο όταν ενεργοποιήσω στο μενού όλες τις ημέρες.
λογικό, γιατί αν (if) όλες οι ήμερες είναι ==1 τότε θα δουλέψει .
δεν είμαι καλός στον προγραμματισμο αλλά έμαθα να τον διαβαζω λίγο,
αν έγραψα κάτι λάθος διορθώστε με .
-------------------------
και ένα ανέκδοτο
μάνα σε παιδί προγραμματιστη
παιδί μου πάνε στο σούπερ μάρκετ και πάρε γάλα ,αν έχουν αυγά πάρε 10.
ο γιος γύρισε με 10 γάλατα γιατί είχαν αυγά.
var γάλα=1 ;
if (αυγά ==1) // αληθές
{γάλα=10 ;
}
Αν το θέλεις για όλες τις μέρες της εβδομάδας, λογικά δε χρειάζεται η if. Γενική αρχή στον προγραμματισμό, όταν έχουμε πολλές επιλογές, χρησιμοποιούμε ή συνάρτηση η οποία μας επιστρέφει μια τιμή ή στην χειρότερη την εντολή case (switch.....case για το arduino). Γενικά τα πολλά else if να τα αποφεύγεις.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Για να καταλάβετε τι θέλω να κάνω, έχω ένα ρελέ που θέλω να το προγραμματίσω να οπλίζει συγκεκριμένες μέρες.
Τις μέρες λοιπόν που θα είναι προγραμματισμένο, θα πρέπει η οθόνη που περιλαμβάνει όλα τα schedules να μου κάνει με άσπρο χρώμα το atoheat.
Έτσι όταν θα μπαίνω στην οθόνη των schedules, αν δω το atoheat με άσπρα γράμματα, σημαίνει ότι έχω προγραμματίσει να ανοίξει κάποια ημέρα.
Δεν μπορώ να του δηλώσω να τα κάνει έτσι κι αλλιώς άσπρα, γιατί σε περίπτωση που δεν το έχω ενεργοποιήσει, θα πρέπει να παίρνει άλλο χρώμα.
Να διορθώσω τον κώδικα του γαλατά:
var αυγά=1 ;
if (αυγά ==1) // αληθές
{αυγά=10 ;
}
:D
mpampis varytimos
20-05-17, 06:43
Γενικά τα πολλά else if να τα αποφεύγεις.
θα συμφωνήσω .
στο iAqua.ino ο τύπος έχει 27 else if το ένα πίσω από το άλλο
δεν ξέρω αν σου δημιουργεί πρόβλημα αλλά σίγουρα χάνεις τον λογαριασμό αν κάτι δεν πάει καλά .
AgMa
αν θες δώσε μας το void του schedAtoHeat μιας και δεν το βρίσκω στο iAqua μπας και βγαλουμε καμιά άκρη
Να το κάνω για όλες τις ημέρες ?????
να οπλίζει συγκεκριμένες μέρες. ????
:smt120:smt120
θα συμφωνήσω .
στο iAqua.ino ο τύπος έχει 27 else if το ένα πίσω από το άλλο
δεν ξέρω αν σου δημιουργεί πρόβλημα αλλά σίγουρα χάνεις τον λογαριασμό αν κάτι δεν πάει καλά .
AgMa
αν θες δώσε μας το void του schedAtoHeat μιας και δεν το βρίσκω στο iAqua μπας και βγαλουμε καμιά άκρη
:smt120:smt120
Εννοώ να το κάνω να περιέχει όλες τις μέρες της εβδομάδας και να ενεργοποιείται ανάλογα με το ποιά θα έχω επιλέξει, όχι να ενεργοποιείται κάθε μέρα.
Δεν θα το βρεις στο αρχικό 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,schedLigh ts2s2,schedCirc,schedCo2,schedAtoHeat,schedAtoCirc ;
Δεν ξέρω αν βοηθάει κάπου, τα checkboxes για τις μέρες, τα έχω κάνει αντιγραφή απ' τον κώδικα της λίπανσης. Απλά εκεί δεν ενεργοποιείται ρελέ (μετράει με millis και η αντλία δουλεύει με mosfet) και δεν υπάρχει στον πίνακα των schedules η λίπανση.
mpampis varytimos
20-05-17, 14:45
δοκίμασε αυτό ,αντί για κώμα ( ,) βάλε (||)
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.
dkatsariotis
20-05-17, 15:31
Καλησπέρα Άγγελε,
Κοίτα πως δουλεύει το schedule με τις αντλίες λίπανσης και αντίστοιχα φτιάξε και για το Ato Heater. Ουσιαστικά να κάνεις έλεγχο βάσει ημέρας και ώρας και να κάνεις ένα Time Alarm όπως των αντλιών στο οποίο όμως θα έχεις το digital.write για το pin του ρελέ του Ato Heater.
Αν δεν βγάλεις άκρη θα το δω Δευτέρα πρωί που θα είμαι στην έδρα μου
Sent from my Lenovo K53a48 using Tapatalk
δοκίμασε αυτό ,αντί για κώμα ( ,) βάλε (||)
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.
Μήπως όμως με αυτό δεν χρειάζεται να προσθέσω όλες τις μέρες;
EDIT: Δεν περνάει επικύρωση πλέον. Sched was not declared in this scope.
EDIT 2: Έσβησα τον κώδικα που μου έγραψες και τον ξαναέγραψα και έκανε επικύρωση. Δουλεύει σωστά πλέον! Μάλλον κάποιο λάθος υπήρχε, ίσως ελληνικός χαρακτήρας. Την έχω ξαναπατήσει έτσι και χτυπούσα το κεφάλι μου να το βρω.
Όπως και να 'χει έπαιξε, ευχαριστώ!
Καλησπέρα Άγγελε,
Κοίτα πως δουλεύει το schedule με τις αντλίες λίπανσης και αντίστοιχα φτιάξε και για το Ato Heater. Ουσιαστικά να κάνεις έλεγχο βάσει ημέρας και ώρας και να κάνεις ένα Time Alarm όπως των αντλιών στο οποίο όμως θα έχεις το digital.write για το pin του ρελέ του Ato Heater.
Αν δεν βγάλεις άκρη θα το δω Δευτέρα πρωί που θα είμαι στην έδρα μου
Sent from my Lenovo K53a48 using Tapatalk
Γειά σου Δημήτρη. Το schedule το έχω κάνει ήδη όπως λες, με βάση το schedule των αντλιών. Προς το παρόν έχω 2 θεματάκια:
1) Μέσα στον πίνακα όλων των schedules, δεν μου γίνεται άσπρο όταν έχω επιλέξει να οπλίσει το atoheat κάποιες μέρες. Έχει να κάνει με τα if και τα else.
2) Όταν βγάλω τον arduino από το ρεύμα και τον ξαναβάλω, χάνει τον προγραμματισμό της μέρας, αν δηλαδή έχω προγραμματίσει να ανοίγει κάθε Σάββατο, όταν τον βγάλω από το ρεύμα και τον ξαναβάλω δεν είναι πλέον τικαρισμένο το Σάββατο όπως γίνεται με τις αντλίες λίπανσης.
dkatsariotis
20-05-17, 20:55
Μήπως όμως με αυτό δεν χρειάζεται να προσθέσω όλες τις μέρες;
EDIT: Δεν περνάει επικύρωση πλέον. Sched was not declared in this scope.
EDIT 2: Έσβησα τον κώδικα που μου έγραψες και τον ξαναέγραψα και έκανε επικύρωση. Δουλεύει σωστά πλέον! Μάλλον κάποιο λάθος υπήρχε, ίσως ελληνικός χαρακτήρας. Την έχω ξαναπατήσει έτσι και χτυπούσα το κεφάλι μου να το βρω.
Όπως και να 'χει έπαιξε, ευχαριστώ!
Γειά σου Δημήτρη. Το schedule το έχω κάνει ήδη όπως λες, με βάση το schedule των αντλιών. Προς το παρόν έχω 2 θεματάκια:
1) Μέσα στον πίνακα όλων των schedules, δεν μου γίνεται άσπρο όταν έχω επιλέξει να οπλίσει το atoheat κάποιες μέρες. Έχει να κάνει με τα if και τα else.
2) Όταν βγάλω τον arduino από το ρεύμα και τον ξαναβάλω, χάνει τον προγραμματισμό της μέρας, αν δηλαδή έχω προγραμματίσει να ανοίγει κάθε Σάββατο, όταν τον βγάλω από το ρεύμα και τον ξαναβάλω δεν είναι πλέον τικαρισμένο το Σάββατο όπως γίνεται με τις αντλίες λίπανσης.
Για κάθε ημέρα που επιλέγεις πρέπει να γράφεις και σε μια θέση της eeprom ώστε να διαβάζει την τιμή το Arduino. Το έχεις φτιάξει;
Sent from my Lenovo K53a48 using Tapatalk
Ναι, απ'το 400 και μετά είναι για το ato heat.
dkatsariotis
21-05-17, 07:08
Ναι, απ'το 400 και μετά είναι για το ato heat.
Ok θα το δω και θα σου πω
Sent from my Lenovo K53a48 using Tapatalk
mpampis varytimos
21-05-17, 20:00
υποψιαζομαι ότι γράφεις στην eeprom αλλά δεν την διαβάζεις στο setup .
2) Όταν βγάλω τον arduino από το ρεύμα και τον ξαναβάλω, χάνει τον προγραμματισμό της μέρας, αν δηλαδή έχω προγραμματίσει να ανοίγει κάθε Σάββατο, όταν τον βγάλω από το ρεύμα και τον ξαναβάλω δεν είναι πλέον τικαρισμένο το Σάββατο όπως γίνεται με τις αντλίες λίπανσης.
Για κάθε ημέρα που επιλέγεις πρέπει να γράφεις και σε μια θέση της eeprom ώστε να διαβάζει την τιμή το Arduino. Το έχεις φτιάξει;
Ναι, απ'το 400 και μετά είναι για το ato heat.
Χθες ασχολήθηκα με το φωτιστικό. Πολύ καλώδιο ρε παιδί μου!!! Τουλάχιστον δούλεψαν όλα σωστά. Το μόνο που δε δοκίμασα ήταν τα ανεμιστηράκια της ψύκτρας. Η πλακέτα rs232 αποδείχτηκε πολύ βολική, καθώς η αποσύνδεση του φωτιστικού είναι παιχνιδάκι.
https://uploads.tapatalk-cdn.com/20170522/c0550b3dbf901bdac60db789bc68d05a.jpghttps://uploads.tapatalk-cdn.com/20170522/8e925dad46e035bbcc8397f52dec693c.jpghttps://uploads.tapatalk-cdn.com/20170522/1a178a188d943553e720f01982dd0e05.jpghttps://uploads.tapatalk-cdn.com/20170522/f41bef4c868ab7430f86d1b0f8c1a6e7.jpghttps://uploads.tapatalk-cdn.com/20170522/333593e2412d3c0d4b10cdd5643b9a61.jpghttps://uploads.tapatalk-cdn.com/20170522/d952381150085bb48007f72dfa009ddc.jpg
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Πλακέτα εννοείς το 9πινο καλώδιο;
Μήπως είναι λεπτό για τα ρεύματά σου;
υποψιαζομαι ότι γράφεις στην eeprom αλλά δεν την διαβάζεις στο setup .
Την διαβάζω στο startup. Κάτι έχει να κάνει με το πως θεωρώ εγώ ότι είναι active και πως ο arduino.
Πλακέτα εννοείς το 9πινο καλώδιο;
Μήπως είναι λεπτό για τα ρεύματά σου;
Εννοώ αυτό http://m.ebay.com/itm/DB9-connector-male-adapter-signals-Terminal-module-RS232-Serial-to-Terminal-wc-/222063057445?txnId=1887796845012. Από εδώ περνάνε μόνο 12volt και σήμα pwm.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Καλησπερα παιδια εχω ενα arduino mega r3 με ρολοι RTC D1307 μερικα mosfet N ενα τροφοδοτικο 12v 180w και θελω να ελεγξω 6 καναλια με led tape.. Eχω φτιαξει ολο το κολπο με τα Mosfet και τα καναλια και καταφερνω να τα αναβοσβηνω manual και να κανω fade in Και Out.
Υπαρχει καποιο κομματι απο τον κωδικα του iaqua Που μπορει να μου κανει για να ελεγχω ανατολη-δυση Moonlight(1 απο τις 6 ταινιες ειναι μπλε) και ισως να μου κανει και random thunderstorms?
Οταν λεω να μου "κανει" εννοω να του οριζω πχ οτι 17.00 αναψε το καναλι 1 και μεχρι τις 18.00 πηγαινε στο 100%, και παει λεγοντας για τα υπολοιπα καναλια με αλλες παραμετρους. Χωρις ομως να χρειαζεται να γραφω εγω ολα τα ενδιαμεσα steps.
To σχεδιακι που εχω κανει ειναι το παρακατω
https://learn.adafruit.com/rgb-led-strips/usage
Με τον κωδικα με βοηθαει ο father Που εχει καποια ιδεα.Εγω πραγματικα ειμαι παντελως ασχετος με κωδικα.
Υπάρχει. Ο κώδικας αρχικά είναι γραμμένος για led και υπάρχει κώδικας για ανατολή δύση.
Δυστυχώς επειδή εγώ έχω Τ5, έσβησα κατευθείαν ό,τι έχει σχέση με led και έτσι δεν γνωρίζω να σε βοηθήσω.
Αυτό είναι το ποστ με τον πιο πρόσφατο κώδικα:
http://www.plantedtank.net/forums/20-diy/677265-iaqua-my-touch-interface-aquarium-controller-arduino-88.html#post8379497
Θα χρειαστεί όμως προσαρμογή γιατί αυτός είναι φτιαγμένος για συγκεκριμένο hardware και οθόνη αφής.
Δεν ξέρω αν έχεις τέτοια οθόνη.
Ποια οθονη προτεινετε να παρω να κανω τις δοκιμες?
Θα προτιμουσα μια φθηνη αν υπαρχουν επιλογες διαφορες..
Μιλάς για αφής;
Εξαρτάται από το μέγεθος. Πχ. η δική μου είναι 3.2" και την πήρα γύρω στα 10 ευρώ. 320x240 ανάλυση.
Υπάρχουν και μικρότερες σκέτες οθόνες, 2x16, 4x20 κτλ. που είναι αρκετά φθηνές.
Πχ. http://m.ebay.com/itm/301990937671?_trkparms=pageci%3Ab095ffad-44bc-11e7-b320-74dbd1804f4f%7Cparentrq%3A5649a70615c0ab4db1a34fe8 fffcf973%7Ciid%3A2&_mwBanner=1
Με ενδιαφερει ο πιο ανεξοδος τροπος για να μπορω να προγραμματισω τα καναλια Pwm για το φως που εχει το προγραμμα.
Καθως εχω ηδη ενα Profilux 3 για controller και περισσοτερο θελω να παιξω..
Δλδ σκεφτομαι να φορτωσω τον κωδικα αυτον οπως ειναι στο arduino μου αλλα επειδη απο οτι καταλαβα ολος ο χειρισμος γινεται απο την οθονη λογικα πρεπει να ειναι καποια touch εγχρωμη?
Η δικη σου με τα 10ε νομιζω μου κανει μια χαρα αν ειναι Plug n play.
εχεις καποιο λινκ διαθεσιμο?
Αυτή είναι η δική μου:
http://www.ebay.com/itm/171988190464?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Αλλά χρειάζεσαι και ένα tft shield για να επικοινωνήσει ο mega με την οθόνη και να σου ρίξει τα 5v που δίνει ο arduino στα 3.3v που παίζουν οι οθόνες, διαφορετικά στα 5v έχει έντονο φωτισμό και καίγεται σύντομα. Πχ.
http://m.ebay.com/itm/332231043732?_trkparms=pageci%3Ab8ebebb6-453d-11e7-891d-74dbd1a0e90f%7Cparentrq%3A599747b115c0a9c166eb7c67 fffd5ad5%7Ciid%3A17&_mwBanner=1
Μήπως θα έπρεπε να πάω στην καλών τεχνών; :D:D:D
https://s8.postimg.cc/6dr21kar9/20170602_024326.jpg https://s8.postimg.cc/rbx7znalx/20170602_024343.jpg https://s8.postimg.cc/g0ukba3qt/20170602_024426.jpg
stanisalus18
05-06-17, 00:16
Όμορφα το προχωράς φίλε AgMa βλέπω. Χαίρομαι για σένα. Εγώ έχω μείνει ακόμα στην θεωρία, στην πράξη προχωράω πάρα πολύ αργά λόγω σχετικά περιορισμενου ελεύθερου χρόνου πλέον. Μήπως θα έπρεπε να αλλαχτεί ο τίτλος του θέματος?
Ευχαριστώ! Μην νομίζεις και εγώ αν δεν είχα βοήθεια από εσάς ακόμη στην θεωρία θα ήμουν.
Χρόνος δεν υπάρχει ούτε για πλάκα, εξάλλου φαίνεται απ' τις φώτο που δείχνω τις αρχικές οθόνες.
Όλες είναι από ξενύχτια.
Μόλις ξαναβρώ χρόνο, θα ανεβάσω φώτο με το prototype μιας και έχει προχωρήσει λίγο καθώς και οδηγίες για να φτάσω μέχρι εδώ.
Με τον τίτλο βάλτε ό,τι σας φαίνεται ότι αντιπροσωπεύει καλύτερα το θέμα.
Προσπαθώ εδώ και δυο μέρες να κάνω να δουλέψει αυτό το κύκλωμα: http://www.ferduino.com/forum/viewtopic.php?p=3018#p3018 χωρίς επιτυχία.
http://www.ferduino.com/forum/gallery/image.php?album_id=52&image_id=541
http://www.ferduino.com/forum/gallery/image.php?album_id=52&image_id=542
Το δοκίμασα και σε Breadboard....
http://www.ferduino.com/forum/gallery/image.php?album_id=52&image_id=543
Μόλις βάζω το Fan Grd κατ' ευθείαν στο Power GRD ο ανεμιστήρας παίρνει μπροστά. Καμιά ιδεά;
mpampis varytimos
17-06-17, 23:13
πριν 4 χρόνια ασχολήθηκα με τα uln 2003 και 2004 για ένα project που έκανα για το σπίτι μου (smart home) ,δεν άντεξαν ,δεν θυμαμαι ακριβώς αλλά δεν είναι για μεγάλο φορτίο .
Η λύση μου ηταν να τα αντικαταστήσω με NPN (2n2222) για τα SSR που ήθελα.
εσυ θέλεις ανεμιστήρα που θέλει δύναμη ,mosfet καλύτερα ή τρανζίστορ που να αντέχει τον ανεμιστήρα
http://www.aquatek.gr/rimages/albums-ah42-mpampinos75-uln_zpsumtnaxd9.jpg (http://s1377.photobucket.com/user/mpampinos75/media/uln_zpsumtnaxd9.jpg.html)
http://www.aquatek.gr/rimages/albums-ah42-mpampinos75-2n2222_zpshzecstqa.jpg (http://s1377.photobucket.com/user/mpampinos75/media/2n2222_zpshzecstqa.jpg.html)
πριν 4 χρόνια ασχολήθηκα με τα uln 2003 και 2004 για ένα project που έκανα για το σπίτι μου (smart home) ,δεν άντεξαν ,δεν θυμαμαι ακριβώς αλλά δεν είναι για μεγάλο φορτίο .
Η λύση μου ηταν να τα αντικαταστήσω με NPN (2n2222) για τα SSR που ήθελα.
εσυ θέλεις ανεμιστήρα που θέλει δύναμη ,mosfet καλύτερα ή τρανζίστορ που να αντέχει τον ανεμιστήρα
http://www.aquatek.gr/rimages/albums-ah42-mpampinos75-uln_zpsumtnaxd9.jpg (http://s1377.photobucket.com/user/mpampinos75/media/uln_zpsumtnaxd9.jpg.html)
http://www.aquatek.gr/rimages/albums-ah42-mpampinos75-2n2222_zpshzecstqa.jpg (http://s1377.photobucket.com/user/mpampinos75/media/2n2222_zpshzecstqa.jpg.html)
Αυτό κατάλαβα και εγώ. Από την άλλη όμως, χρησιμοποίησα ένα απλό ανεμιστήρα για τις δοκιμές, και το κύκλωμα δεν είναι και τόσο δύσκολο. Πριν καταλήξω σε άλλη λύση θέλω να δω τι πάει στραβά, γιατί σαν κύκλωμα είναι πολύ απλοποιημένο ακόμα και για αρχάριο σαν εμένα.
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Γιατί δεν το βάζεις πάνω στο ssr να ξεμπερδεύεις;
Παιδιά μια βοήθεια με το ssr. Όταν το arduino δίνει εντολή για ψύξη, ο ανεμιστήρας που έχω συνδέσει δεν παίρνει μπροστά. Μόλις βγάλω το ένα καλώδιο και το ξαναβάλω ξεκινά κανονικά. Επίσης μόλις το arduino δίνει εντολή για να κλείσει η ψύξη, ο ανεμιστήρας δεν σβήνει. Μόλις βγάλω και ξαναβάλω το καλώδιο, ο ανεμιστήρας σταματά. Και ξανά η ίδια ιστορία από την αρχή.... Δοκίμασα να συνδέσω ανάποδα τα καλώδια αλλά κάνει το ίδιο. Το ssr ανταποκρίνεται κανονικά, δηλ. το φωτάκι του του καναλιού ανάβει όταν η ψύξη είναι ανοιχτή και σβήνει όταν είναι κλειστή. Τι μπορεί να συμβαίνει;
Μόλις βγάλεις το ένα καλώδιο από που;
Μιας και βρέθηκε λίγος χρόνος χθες λόγω ημέρας, προχώρησα λίγο ακόμη.
Ο χαμός που ξεκίνησα :):
https://s12.postimg.cc/t1cxjxjrh/20170716_153242_0.jpg
Το κουτί που θα μπει ο αρκουδίνο με όλα τα shield. Στην φώτο φαίνονται 2 μπρούτζινα ποδαράκια σαν αυτά που μπαίνουν στους υπολογιστές για να στερεώνουν την μητρική και να μην ακουμπάει στο κουτί:
https://s22.postimg.cc/53q2ow2xd/20170716_154252.jpg
Το βίδωσα σε σημείο που να έχω εύκολη πρόσβαση στο usb σε περίπτωση που χρειαστεί μελλοντικά να επέμβω στον κώδικα:
https://s21.postimg.cc/ecevq31yf/20170716_154328.jpg
Check στην θέση:
https://s14.postimg.cc/tmqk3xvoh/20170716_154343.jpg
Όλα μέσα λοιπόν :) (στο πλάι φαίνονται οι 2 αισθητήρες θερμοκρασίας για ενυδρείο και αναπλήρωση):
https://s9.postimg.cc/jf0axoe0f/20170716_160310.jpg
Καλωδιοταινία και στην οθόνη ώστε να μπορεί να ανοιγοκλείνει το καπάκι:
https://s22.postimg.cc/cmns7bi3l/20170716_161057.jpg
Βίδωμα οθόνης στο καπάκι (οι βίδες θα αλλαχτούν, δεν μ' αρέσουν):
https://s11.postimg.cc/5om5c0d0j/20170716_212738.jpg
Και το κουτί με τα ρελέ. Υπήρχε μια κενή θέση στην πλακέτα των ρελέ και έγινε ψύξη:
https://s24.postimg.cc/6rbj9toxh/20170716_165719.jpg
https://s4.postimg.cc/4mjgw8rql/20170716_165815.jpg
Βλέπω ότι προχωράμε δυναμικά!!!!!! Επίσης βλέπω και τα βασικά εργαλεία ετοιμοπόλεμα: Καφές, Τσιγάρα, Αναπτήρας.....
Εννοείται! Χωρίς αυτά δεν ξεκινάει τίποτα :D.
Εσύ τι έκανες με το πρόβλημα που είχες; Σε ρώτησα σε ποιό καλώδιο αναφέρεσαι αλλά μάλλον δεν το είδες.
Εννοείται! Χωρίς αυτά δεν ξεκινάει τίποτα :D.
Εσύ τι έκανες με το πρόβλημα που είχες; Σε ρώτησα σε ποιό καλώδιο αναφέρεσαι αλλά μάλλον δεν το είδες.
Όντως! Τελικά βρέθηκε λύση. Τα SSR δεν μπορούν να διαχειριστούν 12V. Οπότε η λύση είναι να περνάνε όλα από πρίζες 220V.
Κράτα το
Ναι είναι για 240v. Αν δεν το έλεγες δεν θα το παρατηρούσα.
Τα φαν ήθελες να συνδέσεις κατευθείαν στο ρελέ;
Ναι είναι για 240v. Αν δεν το έλεγες δεν θα το παρατηρούσα.
Τα φαν ήθελες να συνδέσεις κατευθείαν στο ρελέ;
Ναι. Και 12V αντλία για την αυτόματη αναπλήρωση
Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk
Άντε σχεδόν τελειώνει.
Αυτή τη φορά εκτός απ' την πρόοδο του project, θα σας δείξω πως, που και τι να κολλήσετε σε περίπτωση που χρειαστεί να τροφοδοτήσετε μια συσκευή και για κάποιον λόγο δεν θέλετε να χρησιμοποιήσετε ρελέ (εγώ πχ. τέλειωσα όλο το κουτί με τους ρελέδες, από τρύπες για πρίζες μέχρι και τις ενδεικτικές λυχνίες και μετά θυμήθηκα ότι δεν είχα ετοιμάσει την τροφοδοσία της αντλίας αναπλήρωσης :smt017 ).
Και ο λόγος για τα mosfet-τρανζίστορ.
Γενικά πάντως καλό είναι να προτιμάτε την λύση των ρελέ σε σχέση με τα mosfet. Όχι ότι είναι κακά, αλλά έχουν μερικά αρνητικά σε σχέση με τα ρελέ:
1) Ζεσταίνονται κατά τη διάρκεια λειτουργίας τους.
2) Σε περίπτωση που καεί-δυσλειτουργεί, είναι σχετικά δύσκολη η αντικατάστασή του γιατί απαιτεί κολλητήρι.
Ξεκινάμε με τα πράγματα που θα πρέπει να έχουμε:
Mosfet. Εγώ χρησιμοποίησα το IRFZ44N.
Δίοδο.Εγώ χρησιμοποίησα την 1N4007 μιας και υπήρχε στο συρτάρι. Επίσης κάνουν και οι SR260, 1N4001.
Αντίσταση 1k ohm.
Προαιρετικά 1 γωνιακό pin σε περίπτωση που θέλουμε να έχουμε εύκολο βάλε βγάλε της συσκευής που θα τροφοδοτήσουμε και να μην μπλέξουμε με κολλητήρι.
https://s1.postimg.cc/yqddv2lkf/20170806_014012.jpg
Προχωράμε στην κατασκευή:
Αρχικά ψάχνουμε να βρούμε ένα σημείο με σχετικά αρκετό χώρο στο prototype board μας.
Εγώ επέλεξα αυτό:
https://s2.postimg.cc/64bcr84sp/20170806_014135.jpg
Ελέγχουμε και την πίσω μεριά του board μας ώστε να υπάρχει χώρος και να μην είναι κατειλημμένος από καλώδια που δεν φαίνονται από μπροστά (το έχω πάθει :D ):
https://s1.postimg.cc/t2bhvm0an/20170806_013923.jpg
Είμαστε οκ.
Βάζουμε το mosfet στις τρύπες του board μας και αν χρειαστεί το λυγίζουμε όσο θέλουμε. Εγώ δεν το λύγισα αρκετά, γιατί από κάτω του βρίσκονται άλλα καλώδια:
https://s1.postimg.cc/n28y8xysf/20170806_014421.jpg
https://s1.postimg.cc/gw6g11fun/20170806_014526.jpg
https://s1.postimg.cc/xa7x6xz3z/20170806_015500.jpg
Μια παρένθεση, η συνδεσμολογία του mosfet από αριστερά προς τα δεξιά, είναι εντολή, έξοδος, γείωση:
https://s2.postimg.cc/q1f4r7zkp/TRANSYS-_IRFZ44_N-pinout.jpg
Βήμα 1ο, αντίσταση:
Κολλάμε την μια μεριά της αντίστασης στο αντίστοιχο pin του arduino που έχει ο κώδικάς μας:
https://s1.postimg.cc/m4ayjuif3/20170806_022001.jpg
Και την άλλη μεριά στο αριστερό ποδαράκι του mosfet όπως το κοιτάμε από μπροστά:
https://s2.postimg.cc/5b4h6rrqh/20170806_022642.jpg
Βήμα 2ο, δίοδος:
Δώστε λίγο προσοχή εδώ. Οι δίοδοι έχουν στην μια μεριά τους μια γκρίζα γραμμή. Αυτή η γραμμή, ανάλογα με το αν περνάμε + ή - σημαίνει ότι είτε μπλοκάρεται η κάθοδος είτε η άνοδος. Δείτε την εικόνα:
https://s2.postimg.cc/avn0s8ow9/12_Vdiodes_flow.gif
Για αρχή την περνάμε απλά απ' τις τρύπες και λυγίζουμε τα ποδαράκια της απ' την πίσω μεριά ώστε να σταθεροποιηθεί. Η γραμμή της να κοιτάει το μεσαίο ποδαράκι του mosfet!
Γυρίζουμε το board μας απ' την πίσω μεριά και κολλάμε το ένα ποδαράκι της διόδου με το μεσαίο ποδαράκι του mosfet:
https://s1.postimg.cc/68n6ntdj3/20170806_023444.jpg
Βάζουμε το γωνιακό pin που είπαμε στην αρχή, στην τρύπα κάτω απ' την δίοδο και τα κολλάμε όλα μεταξύ τους:
https://s1.postimg.cc/jvsruxg9r/20170806_040642.jpg
https://s2.postimg.cc/ompvs9wdl/20170806_024329.jpg
Το άλλο ποδαράκι της διόδου, το λυγίζουμε να ακουμπήσει στο ποδαράκι του mosfet που μας έμεινε και τα κολλάμε μεταξύ τους:
https://s1.postimg.cc/4fizuajof/20170806_024829.jpg
Και τέλος αυτά που κολλήσαμε μόλις τώρα, τα συνδέουμε με μια οποιαδήποτε γείωση:
https://s1.postimg.cc/4e0mk1tbj/20170806_025827.jpg
Τέλος :)
Ίσως να φαίνεται δύσκολο αλλά δεν είναι. Το ποστ βγήκε μεγάλο γιατί προσπάθησα να το κάνω όσο πιο κατανοητό γίνεται, με φώτο σε όλα τα στάδια.
Εδώ τα 15pin vga που συνδέω το κουτί που βρίσκονται οι ρελέδες με το κουτί που υπάρχει ο arduino και η οθόνη.
Η μεταξύ τους σύνδεση γίνεται με ένα 15πινο vga καλώδιο, σαν αυτό που χρησιμοποιείται στις οθόνες των υπολογιστών:
https://s1.postimg.cc/81s43sg5r/15019405272136d12c77fbd4681d035859e47f1678e0f80f.j pg
https://s1.postimg.cc/f8v3gjqcf/20170806_042259.jpg
https://s1.postimg.cc/6f46zg3dr/20170806_042220.jpg
https://s1.postimg.cc/6p7451sm7/20170806_042323.jpg
Και εδώ το εσωτερικό του κουτιού που βρίσκονται οι ρελέδες.
Προτίμησα το πολύπριζο να μπει εσωτερικά και από εκεί να φεύγουν όλα τα τροφοδοτικά, ώστε να είναι πιο μαζεμένη η κατασκευή. Αν θέλω να βγάλω το κουτί αυτό, απλά βγάζω την πρίζα του πολύπριζου απ' τον τοίχο και το παίρνω, χωρίς να τραβάω επιπλέον τροφοδοτικά και καλώδια:
https://s1.postimg.cc/hnidn8h7j/20170806_042201.jpg
Και όπως λένε και οι ξένοι "last but not least" προσοχή με το κολλητήρι:
https://s2.postimg.cc/dkur1qw5l/20170806_015212.jpg
Είναι καμιάς εβδομάδας σημάδι, μπορεί και παραπάνω. Όπως πήγα να το πιάσω, αντί αυτό το δάχτυλο να ακουμπήσει πλαστικό, ακούμπησε σίδερο :smt119
dkatsariotis
06-08-17, 06:45
Άγγελε πολύ καλός και αναλυτικός οδηγός. Πολλά μπράβο. Η κατασκευή επίσης ωραία μαζεμένη. Με το καλό να μπει σε λειτουργία και να μας πεις εντυπώσεις.
Θα συμφωνήσω και εγώ για τα ρελέ σε σχέση με τα mosfe.
Επειδή όμως και τα ρελέ έχουν καμιά φορά την αστοχία τους καλό θα είναι να υπάρχει ένα εφεδρικό board με ρελέ μέχρι να επισκευαστεί το προβληματικό.
Σκέφτηκα να βάλω στο board με τα ρελέ βάσεις ώστε να κουμπώνουν εκεί τα ρελέ και να είναι εύκολη η αντικατάσταση. Θα δω πως θα πάει και θα ανεβάσω φωτογραφίες.
Sent from my Lenovo K53a48 using Tapatalk
Πολύ αναλυτικό και κατανοητό. Μπράβο!!!! Εγώ πήγα στη λύση των ULN2003 και μικρών breadboard για το φόβο ότι αν καούν δεν αλλάζουν εύκολα αν είναι κολλημένα. Σχετικά με τα ρελέ καλό είναι να υπάρχει και ένα καβάτζα. Εμένα ήδη μου κάηκε μία θέση και είμαι με 7.
dkatsariotis
06-08-17, 09:18
Πολύ αναλυτικό και κατανοητό. Μπράβο!!!! Εγώ πήγα στη λύση των ULB2003 και μικρών breadboard για το φόβο ότι αν καούν δεν αλλάζουν εύκολα αν είναι κολλημένα. Σχετικά με τα ρελέ καλό είναι να υπάρχει και ένα καβάτζα. Εμένα ήδη μου κάηκε μία θέση και είμαι με 7.Εμένα μετά από 3 χρόνια κάηκε η επαφή του ρελέ για τους ανεμιστήρες. Και σκέψου μιλάμε ότι περνάει από την επαφή 12ν με ελάχιστα mA για τους ανεμιστήρες. Απορώ πως αντέχει η επαφή του ρελέ για την ηλεκτροβανα του co2 που περνάει 230v...
Sent from my Lenovo K53a48 using Tapatalk
Εμένα μετά από 3 χρόνια κάηκε η επαφή του ρελέ για τους ανεμιστήρες. Και σκέψου μιλάμε ότι περνάει από την επαφή 12ν με ελάχιστα mA για τους ανεμιστήρες. Απορώ πως αντέχει η επαφή του ρελέ για την ηλεκτροβανα του co2 που περνάει 230v...
Sent from my Lenovo K53a48 using Tapatalk
Μεγάλη προσοχή στα δάχτυλα!!!! Δεν βρήκα στο ebay να παίζει καμία προσφορά!!!!
dkatsariotis
06-08-17, 09:59
Μεγάλη προσοχή στα δάχτυλα!!!! Δεν βρήκα στο ebay να παίζει καμία προσφορά!!!!Ελπίζω να παίξει η πατέντα με τις βάσεις στα ρελέ γιατί η αλλαγή όλου του board δεν είναι και η πιο εύκολη υπόθεση
Sent from my Lenovo K53a48 using Tapatalk
Ελπίζω να παίξει η πατέντα με τις βάσεις στα ρελέ γιατί η αλλαγή όλου του board δεν είναι και η πιο εύκολη υπόθεση
Sent from my Lenovo K53a48 using Tapatalk
Για δες ρε Δημήτρη αν σκεφτείς κάτι για τα ρελέ, γιατί αυτή η μακαρονάδα καλωδίων δεν βοηθάει καθόλου. Μιλάμε για πολύ καλώδιο...
stanisalus18
06-08-17, 23:41
Φανταστικός φίλε AgMa και η μίνι ανάλυση σου εδώ είναι εκπληκτική +-3 Πολλά μπράβο και από μένα :smt041:smt041:smt041
Ξανά εδώ...
Η καινούρια οθόνη που πήρα με ssd1289 driver δεν μου έπαιξε με τίποτα όσο ήταν συνδεδεμένο το arduino με το prototype με καλωδιοταινία.
Χωρίς το prototype (δηλαδή το tft shield απευθείας πάνω στο arduino κουμπωμένο) έπαιζε μια χαρά.
Όσο και να την κόντυνα δεν κατάφερα να την κάνω να παίξει.
Δυστυχώς πάνω σε όλα τα πειράματα, χάλασα το prototype (ξεκόλλησαν πίστες) κυρίως επειδή είχα νευριάσει που κόλλησα σε μια τέτοια λεπτομέρεια.
Σε αναμονή λοιπόν για το νέο prototype το οποίο αυτή τη φορά θα μπει κατευθείαν στο arduino με εφαρμοστά pin (stackable headers) ώστε να μην μπει καθόλου καλωδιοταινία, ξεκίνησα το συμμάζεμα το κουτιού με τα ρελέ γιατί δεν μπορούσα πλέον να βάλω χέρι καθόλου:
https://s1.postimg.cc/57feqnrn9b/20171007_000532.jpg
Συνεχίζεται το project αργά και σταθερά...
Έγιναν κάποιες αλλαγές στα υλικά που χρησιμοποιήθηκαν, όπως πχ. αλλαγή του κουτιού που περιέχει το arduino με τα σχετικά shield και την οθόνη, κυρίως λόγω όγκου.
Επειδή λοιπόν όλο αυτό θα μπει στο σαλόνι δίπλα απ' το ενυδρείο, ήθελα κάτι πιο μαζεμένο. Έτσι πήρα το αμέσως μικρότερο κουτί της ίδιας εταιρίας.
Εδώ η σύγκριση δίπλα δίπλα, με εμφανή διαφορά κυρίως στο μήκος και πλάτος:
https://s1.postimg.cc/1jpev2fqgv/20171104_034600.jpg
https://s1.postimg.cc/9tgljah58v/20171104_034501.jpg
Τα πράγματα βέβαια στο εσωτερικό του δεν είναι το ίδιο άνετα με το μεγαλύτερο, αλλά χώρεσαν.
Επόμενο βήμα η τοποθέτηση βυσμάτων jack για τα 2 φλοτέρ σε ενυδρείο και βαρέλι αναπλήρωσης:
https://s1.postimg.cc/2qlhhua2r3/20171104_033943.jpg
Η σύνδεση των 2 αισθητήρων θερμοκρασίας για ενυδρείο και βαρέλι γίνεται όπως και πριν, με χρήση δηλαδή βυσμάτων 3 επαφών, σαν αυτά που έχουν οι ανεμιστήρες για τους υπολογιστές ( και τα ενυδρεία μας :p ):
https://s1.postimg.cc/4pufmcqldr/20171104_034126.jpg
Επίσης προστέθηκε μια φωτοαντίσταση ώστε η οθόνη να ντιμάρει σύμφωνα με τον φωτισμό του περιβάλλοντος, κάτι που υπήρχε στην παλιά έκδοση του iAqua, όχι όμως στην τελευταία που έχω. Σχετικά εύκολο κομμάτι αυτό, αντιγραφή απλά ο κώδικας. Το δύσκολο κομμάτι ήταν να βρω την κατάλληλη αντίσταση (στην περίπτωσή μου 83k Ohm) ώστε και σε φουλ φωτισμό να φαίνεται έντονα και σε αρκετό σκοτάδι να ντιμάρει αρκετά, γιατί αυτές οι φωτοαντιστάσεις δίνουν διαφορετικές τιμές η μία με την άλλη, ανάλογα με την αντίσταση που έχουν για φωτισμό και σκοτάδι.
Πχ. αλλιώς θα παίξει μια με Light resistance : 10k Ohm και Dark resistance 20k Ohm και αλλιώς μια με διαφορετικές τιμές.
Εδώ φαίνεται η φωτοαντίσταση:
https://s1.postimg.cc/2gpgeukzj3/20171104_034305.jpg
Οι κλασσικές τρύπες για τις απαραίτητες συνδεσμολογίες:
https://s1.postimg.cc/7t6n62lftr/20171104_034229.jpg
Και εδώ ένα βίντεο με κάποιες λειτουργίες που πρόσθεσα.
Ήθελα όταν πέσει η στάθμη νερού του ενυδρείου, να κλείνει αυτόματα ο κυκλοφορητής για να μην καεί ( είχα κουραστεί να τον βγάζω απ' την πρίζα σε κάθε αλλαγή :smt120 ) και να ανοίγει ξανά όταν ανέβει πάλι η στάθμη, αλλά να θυμάται κιόλας το arduino σε τι κατάσταση ήταν πριν την διακοπή λειτουργίας του ώστε να επανέλθει στην ίδια κατάσταση και όχι απλά να ξαναδουλέψει ανεξαρτήτως άλλων παραγόντων.
Γιατί μπορεί εγώ πχ. να κάνω αλλαγή νερού και ταυτόχρονα να βγάλω το πλαστικό του κυκλοφορητή που κατευθύνει την ροή στην επιφάνεια για να το καθαρίσω από σαλιγκάρια και φύλλα που μαγκώνουν και ρίχνουν τη ροή.
Δεν ήθελα λοιπόν εκείνη την ώρα να πάρει μπροστά ο κυκλοφορητής και να μου σηκώσει το νερό στον αέρα σαν συντριβάνι.
https://youtu.be/VpPPVHcy1pY
Επίσης ήθελα να γίνεται το ίδιο και στο βαρέλι αναπλήρωσης, αλλά εκτός από τον κυκλοφορητή να κλείνει και τον θερμοστάτη αν μείνει από νερό:
https://youtu.be/1GcJHZiQBqA
Ο κώδικας είναι ρυθμισμένος να κάνει έλεγχο θερμοκρασίας ανά 10 δευτερόλεπτα και έλεγχο κατάστασης των φλοτέρ ανά 5 δευτερόλεπτα, γι' αυτό υπάρχει αυτή η διαφορά στους χρόνους μεταξύ τους.
Οποιαδήποτε συμβουλή-παρατήρηση ευπρόσδεκτη. Ακόμη δεν είναι εύκολο για 'μένα, αλλά το σίγουρο είναι ότι είναι πιο εύκολο σε σχέση με την πρώτη μέρα που άνοιξα τον κώδικα και άρχισα να ασχολούμαι με αυτά και αυτό με ικανοποιεί.
Έχω μάθει και διάφορες χρήσεις ηλεκτρονικών που δεν ήξερα καν (όπως πχ. χρήση πολύμετρου) που είναι κάτι που σίγουρα θα χρειαστεί στο μέλλον, πήρα σταθμό κόλλησης ίδιο με αυτόν (http://www.aquatek.gr/vb/showpost.php?p=991011&postcount=9) και αφού έκαψα 2 μύτες μέσα σε 2-3 ώρες, έμαθα να τις γανώνω και να τις κρατάω καθαρές σε όλη τη διάρκεια των κολλήσεων, όπως επίσης και την χρήση της σολντερίνης. Αρκετά χρήσιμη σε κάποιες περιπτώσεις, ειδικά όταν πας να κολλήσεις χοντρό καλώδιο.
Πολύ ωραία η δουλειά που εφτιαξες με τον κοντρολερ. Μπράβο Σου!μεγειες και το κολλητηρι!
Σου είναι εύκολο να γραψεις το κομμάτι του κώδικα που ειναι για το αυτόματο ντιμαρισμα; εγώ φτιάχνω το stilo 3.0 https://youtu.be/QWwTmiMWcNw
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
Ωραίος! Το stilo ήταν ο εμπνευστής του δημιουργού του iAqua.
Μια παρατήρηση μόνο, αν είδα καλά τροφοδοτείς το arduino με 9v. Όχι ότι είναι κακό, αλλά το καλύτερο θα ήταν 7-7.5v ώστε να μην ζεσταίνεται αρκετά ο regulator για να ρίξει την τάση στα 5v.
Σχετικά με τον κώδικα τώρα, σου ανεβάζω αυτά που χρειάζεσαι για να παίξει. Χρειάζεσαι και ένα BC337 για να μπορέσει να ντιμάρει. Η φωτοαντίσταση απλά ρυθμίζει την τάση που θα πάει στην οθόνη με βάσει το τι διαβάζει σαν εξωτερικό φωτισμό:
const int lightSensorPin = A8; // analog pin for the ambient light sensor
const int screenBrightPin = 8; // pwm pin for the LCD backlight
byte screenDimLevel, screenDimSec, screenBrightMem, screenBrightness;
Και στο void setup() θα βάλεις αυτά:
pinMode(screenBrightPin, OUTPUT);
pinMode(lightSensorPin, INPUT);
// get screen settings from eeprom
readScreenSettings();
analogWrite(screenBrightPin, screenBrightness); // turn up screen brightness right away
Στο void loop():
// adjust brightness automatically unless touch event
unsigned long pastSeconds;
if (screenDimSec != 0) // if set to 0, we won't dim
{
if (screenDimLevel != 0) // if set to 0, we won't dim
{
if (backlightTouch == true)
{
pastSeconds = (currentTime - dimTime);
if (pastSeconds > screenDimSec) backlightTouch = false;
}
else
{
autoBrightness();
}
}
}
void autoBrightness()
{
int photocellReading = analogRead(lightSensorPin);
// map the photo sensor value of 0-1023 directly to the PWM output of 0-255
int brightnessLevel=map(photocellReading, 0, 1023, 0, 255);
// can't get brighter than 255, must be at least 1 or it's off
brightnessLevel = constrain(brightnessLevel, 5, 255);
int diff=brightnessLevel-backLight;
if (diff < 0)
{
diff = ((diff - diff) - diff);
}
if (diff > 25) // we only adjust brightness if it's more than a 10% change from where we are now
{
rampScreenBrightness(backLight, brightnessLevel);
}
}
// smoothly ramps the screen brightness from one level to another
void rampScreenBrightness(byte fromLevel, byte toLevel)
{
if (fromLevel < toLevel)
{
while (fromLevel < toLevel)
{
analogWrite(screenBrightPin, fromLevel);
fromLevel++;
Alarm.delay(5);
}
}
else if (fromLevel > toLevel)
{
while (fromLevel > toLevel)
{
analogWrite(screenBrightPin, fromLevel);
fromLevel--;
Alarm.delay(5);
}
}
backLight = toLevel;
}
void readScreenSettings()
{
screenDimLevel = EEPROM.read(29); //Brightness during idle
screenBrightMem = EEPROM.read(31);//Brightness during operation
if (screenBrightMem > 10)
{
screenBrightMem = 10;
EEPROM.update(31, 10);
}
screenBrightness = screenBrightMem * 25;
}
Ο κώδικας με bold είναι σε περίπτωση που έχεις στο μενού επιλογή να ντιμάρει μετά από συγκεκριμένο χρόνο idle και να μην έχεις απενεργοποιήσει το ντιμάρισμα από το μενού.
Καλό θα ήταν να τα συμπεριλάβεις για να παίξει σωστά, αλλά μετά θα πρέπει να φτιάξεις και τις κατάλληλες επιλογές στο μενού ώστε να ορίσεις εσύ πότε θα είναι το idle.
Αλλιώς δεν ξέρω αν μπορεί να γίνει κατευθείαν από τον κώδικα. Πχ. να διαβάζει σαν default screen settings μια συγκεκριμένη τιμή:
screenDimSec = EEPROM.read(30); //How long to wait for idle
Και να βάλουμε στην EEPROM:
EEPROM.update(30, 30);
Και οι θέσεις που έχω εγώ στην EEPROM για την φωτεινότητα:
// default screen settings
EEPROM.update(29, 3);
EEPROM.update(31, 255);
Σου έχω βάλει συνημμένο το fritzing με την εγκατάσταση.
Ωραία οπότε παραγγέλνω φωτοαντιστασεις και ξεκινάω Ευχαριστώ. Το αρντουινο παίρνει λιγότερη τάση δεν φαίνεται στο βίντεο 12 βολτ παίρνει η αντλια της αναπλήρωσης.
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
Μπορείς αν θες για να το κάνεις πιο εύκολο, να ντιμάρει μετά από συγκεκριμένο χρόνο αδράνειας.
Πάντως να ξέρεις με την φωτοαντίσταση θα χρειαστεί να πειραματιστείς σε breadboard για να βρεις ποιά αντίσταση θα σου παίξει σωστά.
Βάζεις και ένα serial.print να διαβάζει την τιμή της φωτοαντίστασης και το βρίσκεις.
Σε φουλ φωτεινότητα θα πρέπει να σου εμφανίζει στην σειριακή οθόνη περίπου 1000 μονάδες.
Επίσης μπορώ αν θες να σου βάλω το link από τον πωλητή του ebay που πήρα τις δικές μου (με την προϋπόθεση ότι θα σου στείλει τις ίδιες και δεν θα έχει αλλάξει παρτίδα) και να βάλεις κατευθείαν 83k Ohm αντίσταση όπως παίζει εμένα.
Διαφορετικά μπορώ να σου στείλω με ΕΛ.ΤΑ μερικές δικές μου μιας και έχω αρκετές.
Μπορείς αν θες για να το κάνεις πιο εύκολο, να ντιμάρει μετά από συγκεκριμένο χρόνο αδράνειας.
Πάντως να ξέρεις με την φωτοαντίσταση θα χρειαστεί να πειραματιστείς σε breadboard για να βρεις ποιά αντίσταση θα σου παίξει σωστά.
Βάζεις και ένα serial.print να διαβάζει την τιμή της φωτοαντίστασης και το βρίσκεις.
Σε φουλ φωτεινότητα θα πρέπει να σου εμφανίζει στην σειριακή οθόνη περίπου 1000 μονάδες.
Επίσης μπορώ αν θες να σου βάλω το link από τον πωλητή του ebay που πήρα τις δικές μου (με την προϋπόθεση ότι θα σου στείλει τις ίδιες και δεν θα έχει αλλάξει παρτίδα) και να βάλεις κατευθείαν 83k Ohm αντίσταση όπως παίζει εμένα.
Διαφορετικά μπορώ να σου στείλω με ΕΛ.ΤΑ μερικές δικές μου μιας και έχω αρκετές.
Να'σαι καλά φιλαράκι. Βάλε τον πωλητή να παραγγείλω σημερα να σου μείνουν καβατζα και σένα στη άκρη. Έχω breadboard και καλωδια και πολλά πράγματα για αρντουινο.
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
-------------------------
Και ευχαριστώ για την επεξηγηματικη λεπτομερεστατη βοήθεια για την αυτόματη φωτεινότητα. 😉
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
Τι να μου μείνουν βρε, έχω άλλες 19 τι να τις κάνω;
https://www.ebay.com/itm/20PCS-Photo-Light-Sensitive-Resistor-Photoresistor-Optoresistor-5mm-GL5539-/261913220877?hash=item3cfb3e970d
Καλύτερα να έχεις στοκ για όποτε χρειαστεί. Για την οθόνη βρήκα αυτό https://www.thingiverse.com/thing:933132 και έλεγα να μπει σε ένα ξύλινο πλαίσιο-κουτι στο χρώμα του επίπλου για να είναι πιο όμορφο. https://uploads.tapatalk-cdn.com/20171104/4f83dc776c6724624ded00ff1ce52674.jpg
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
Ωραία αλλά αν είναι μπλε θα είναι σαν τη μύγα μες στο γάλα. Πόσο έχει;
Όχι βρε σχέδιο είναι αυτο σου δίνει το αρχείο να το εκτυπώσεις σε 3d εκτυπωτή. Άρα διαλέγεις και χρώμα.
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
Και το πας εσύ σε 3d εκτυπωτή; Πόσο παίζουν αυτά;
Ανάλογα πυκνότητα υλικού κλπ δοκίμασε να κατεβάσεις το αρχείο και δες εδώ π.χ. ενδεικτικά https://www.enoworx.gr να το ανεβάσεις να σου δώσει τιμές
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
mpampis varytimos
05-11-17, 19:09
να συμπληρώσω ότι για απλή ρύθμιση φωτεινότητας στην οθόνη με φωτοαντίσταση (χωρίς κώδικα) βάζουμε ένα ldr παραλληλα στην τροφοδοσία φωτισμού οθόνης
Για πες κάτι παραπάνω να μαθαίνουμε και εμείς τα νεούδια.
Και που ξέρει σε πόσα lumen να αφήσει πόση τάση να περάσει;
Χάθηκαν σχόλια ή μου φαίνεται; :rolleyes:
Χάθηκαν σχόλια ή μου φαίνεται; :rolleyes:
www.aquatek.gr/vb/showthread.php?goto=newpost&t=98794 (http://www.aquatek.gr/vb/showthread.php?goto=newpost&t=98794)
Έτοιμη η εγκατάσταση της αναπλήρωσης. Έλεγχος θερμοκρασίας, στάθμης νερού και διαχείριση των συσκευών της (αντλία 12v, θερμοστάτης και κυκλοφορητής).
Μπήκε μισό μέτρο σωλήνα από υδραυλικά και εκεί πάνω στηρίχτηκαν φλοτέρ και αισθητήριο θερμοκρασίας.
https://s18.postimg.cc/85r1mfuex/20171112_180454.jpg https://s18.postimg.cc/v5t3ldie1/20171112_180442.jpg
Και εδώ ένα DIY πορτάκι με επίσης DIY χερούλι ( βεντούζα :D ) γιατί το νερό είναι 100% από Α/Ο και πρέπει να ρίχνω μέσα τα απαραίτητα άλατα πριν την αλλαγή για να φτάσω τις επιθυμητές τιμές (ασβέστιο, μαγνήσιο και σόδα):
https://s18.postimg.cc/5ofaf6py1/20171112_180716.jpg
Πλέον ο controller έχει πάρει τη θέση του δίπλα απ' το ενυδρείο και έχει αναλάβει τον έλεγχο.
Είμαι βέβαια συνέχεια από πάνω του να δω μήπως κάτι πάει στραβά, αλλά ευτυχώς μέχρι τώρα όλα οκ.
Το mosfet που οδηγεί την αντλία αναπλήρωσης βραχυκύκλωσε, δεν ξέρω πως και πρέπει με την πρώτη ευκαιρία να αντικατασταθεί γιατί όπως είναι τώρα, αν την συνδέσω παίρνει κατευθείαν 12v και δουλεύει ασταμάτητα.
Κάτι μικρές τροποποιήσεις του κώδικα που βγαίνουν στην πορεία (όπως πχ. σε περίπτωση που δεν έχω συνδέσει φλοτέρ στο βαρέλι προετοιμασίας, να διαβάζει ότι το βαρέλι έχει χαμηλή στάθμη νερού, διαφορετικά δουλεύουν κυκλοφορητής και θερμοστάτης αν είναι ψηλή).
Αυτά βέβαια είναι πράγματα που τα βλέπεις στην χρήση, στον πάγκο δεν μπορείς να τα σκεφτείς όλα.
Μόλις τελειώσω με τον κώδικα και την αλλαγή του mosfet, θα ανεβάσω βίντεο κατά τη λειτουργία του.
Προς το παρόν είμαι αρκετά ικανοποιημένος με το αποτέλεσμα :smt041
Έτοιμη και η εγκατάσταση:
https://s33.postimg.cc/i3y16hsun/20171203_211156.jpg
https://s33.postimg.cc/f9uvt3o4f/20171203_211222.jpg
Πίσω απ' το ενυδρείο έχω βιδώσει 3 πλαστικές 60άρες σύριγγες σίτισης όπου από εκεί θα τραβάνε οι αντλίες τα λιπάσματα και θα τα ρίχνουν στο ενυδρείο:
https://s33.postimg.cc/m1lavj59r/20171203_211258.jpg
Και εδώ το κουτί με τα ρελέ έτοιμο με όλα τα περιφερειακά συνδεδεμένα:
https://s33.postimg.cc/s2izsnpbz/20171203_211343.jpg
Καλιμπράρισμα οι αντλίες και έτοιμο :)
Μεγειες φιλαρακι πολύ ωραία κατασκευή! Καλοδουλευτα!
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
Ευχαριστώ. Ελπίζω να μου λύσει τα χέρια και να μην χρειαστεί να είμαι συνέχεια από πάνω του.
Σήμερα το χρησιμοποίησα στην αλλαγή νερού που έκανα και έπαιξε σωστά.
Έκλεισε μόνος του ο κυκλοφορητής όταν έπεσε η στάθμη του ενυδρείου, γέμισα το ενυδρείο με τη λειτουργία της αναπλήρωσης και έκλεισαν μόνα τους κυκλοφορητής και θερμοστάτης βαρελιού όταν έπεσε η στάθμη στο βαρέλι.
Όλα αυτά που έκανα χειροκίνητα δηλαδή.
Στον αυτόματο πλέον. Μπράβο σου για τον κόπο σου χρόνο και χρήμα που αφιέρωσες!κάποια στιγμή άμα μπορείς Κάνε μια σούμα με κώδικα υλικα (τα τελικά που χρησιμοποιησες) και τίποτα φωτο πλακέτας κλπ για κανέναν που θα θέλει να τον κατασκευάσει.
Στάλθηκε από το SM-G920F μου χρησιμοποιώντας Tapatalk
Οκ θα τα μαζέψω.
Φώτο της πλακέτας έχω βάλει πιο πριν, στον οδηγό που δείχνω την σύνδεση mosfet.
stanisalus18
10-01-18, 07:43
Εξαιρετικός :smt041:smt041:smt041:smt041:smt041
Ευχαριστώ. Οι αντλίες είναι καλιμπραρισμένες και πλέον τρέχει στο 100% περίπου μια εβδομάδα άψογα.
Εδώ και η βάση που πήρα από ebay (https://www.ebay.com/itm/Soft-Tube-Fixture-Holder-For-Dosing-Pump-4-Tubes-Version-HOT/152726130700?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649) για τα σωληνάκια που ρίχνουν τα λιπάσματα στο ενυδρείο:
https://s14.postimg.cc/d2xi1h335/20180111_185700.jpg
Το έβαλα κοντά στον κυκλοφορητή ώστε να διαχέονται γρήγορα σε όλο το ενυδρείο.
Επόμενο βήμα το άδειασμα του ενυδρείου. Δεν γίνεται να είναι όλα στον αυτόματο και να μπαίνω πίσω από το ενυδρείο να ανοίγω το βανάκι :D.
Παράγγειλα έναν αυτόματο διακόπτη (https://www.ebay.com/itm/Motorized-Ball-Valve-Brass-G1-2-DN15-DC12V-2-Way-CR02-3-Wire-Electrical-Valve/232046394241?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649) που δουλεύει όπως οι κοινές βρύσες που έχουμε στα μπαλκόνια μας (ball valve) αλλά με την διαφορά ότι αυτός ανοίγει μόλις πάρει τάση 12v.
Προσπαθώ να βρω χρόνο τώρα να φτιάξω μενού για αυτό.
Έχω 2 επιλογές στο μυαλό μου:
1) Να φτιάξω μια σκέτη επιλογή (drain ή water change) που μόλις την πατάω να ανοίγει αυτόματα την βάνα να αδειάζει, να κλείνει με ένα απλό φλοτέρ όταν πέσει η στάθμη στο επίπεδο που θέλω και μόλις το arduino διαβάσει το συγκεκριμένο φλοτέρ ότι είναι low, να παίρνει μπροστά η αντλία αναπλήρωσης (η οποία πάλι κλείνει είτε όταν ανέβει ένα εκ των δύο φλοτέρ είτε όταν περάσει ο χρόνος που του έχω ορίσει να τρέχει η αντλία σαν ασφάλεια).
Έχω μετρήσει και για να μου εισάγει 35 λίτρα νερό από το βαρέλι, χρειάζεται περίπου 620 δευτερόλεπτα, δηλαδή σχεδόν 10 λεπτά. Άρα εκτός το high που θα δείξει το φλοτέρ και θα κλείσει η αντλία, αν για κάποιο λόγο δεν κλείσει θα την κλείσει ο κώδικας 10 δευτερόλεπτα αργότερα.
2) Να φτιάξω κανονικό μενού στο οποίο θα ρυθμίζω αν θέλω αυτόματο άδειασμα το οποίο θα κλείνει με το φλοτέρ, ή να κλείνει μετά από κάποια ώρα αδειάσματος. Έτσι θα μπορώ να κάνω αν χρειαστεί μικρότερες αλλαγές.
Και για να το προχωρήσω λίγο παραπέρα, έχω πάρει ήδη ένα flowmeter (https://www.ebay.com/itm/Water-flow-sensor-flowmeter-Hall-flow-sensor-Water-control-1-30L-min-2-0MPa-NEW/261297782001?_trkparms=aid%3D222007%26algo%3DSIM.M BE%26ao%3D2%26asc%3D47301%26meid%3Da8037dc6e26b485 a907ad298b927c8cb%26pid%3D100005%26rk%3D5%26rkt%3D 6%26sd%3D221212238353&_trksid=p2047675.c100005.m1851) που θα συνδεθεί στην έξοδο του φίλτρου (αφού από εκεί αδειάζω) και ΘΑ ΠΡΟΣΠΑΘΗΣΩ να το φτιάξω να αδειάζει τα λίτρα που θα του ορίσω εγώ, αντί να επιλέγω πόσο χρόνο να αδειάζει, αφού πλέον θα τα μετράει το flowmeter.
Όλα αυτά βέβαια προϋποθέτουν αρχικά χρόνο ( που δεν έχω :p ) και χώρο για άλλη μια 8άδα ρελέ που έχω πάρει σαν εφεδρικά και θέλω να συνδέσω το άδειασμα και το moonlight (http://www.aquatek.gr/vb/showthread.php?t=94660) το οποίο έχω αφήσει στη μέση.
Οι άλλες 6 θέσεις που μένουν όλο και κάπου θα αξιοποιηθούν :D
Ήθελα δεν ήθελα έμαθα και από photoshop :D.
Ετοιμάζω αλλαγή του πρώτου εικονιδίου στην αρχική οθόνη, όπου ήταν η επιλογή home, η οποία το μόνο που έκανε στην ουσία ήταν να κάνει ανανέωση της αρχικής σελίδας που προσωπικά το θεωρώ άχρηστο:
https://s14.postimg.cc/oeg1xd4z5/dock_-_3.png
Με αντίστοιχη επιλογή για αλλαγή νερού με την ονομασία Service:
https://s14.postimg.cc/g8xzz9tlt/dock.png
Στις ρυθμίσεις του κεντρικού μενού θα υπάρχει και η ανάλογη κατηγορία ώστε να ρυθμίζω αν θέλω αυτόματη αλλαγή 50% ή χειροκίνητη με συγκεκριμένο ποσοστό αδειάσματος και γεμίσματος, αλλά αυτή η επιλογή στην αρχική σελίδα απλά θα ξεκινάει την διαδικασία αλλαγής μόλις το πατήσω.
Επειδή στις περισσότερες των περιπτώσεων θέλω την στάνταρ αλλαγή 50%, αυτό πιστεύω θα μου λύσει τα χέρια με το να βρίσκεται στην αρχική οθόνη.
Τι έγινε ρε παιδιά, που πήγαν οι φώτος;
stanisalus18
22-04-18, 20:00
Καλησπερα κατι εχει γινει στο συγκεκριμενο site, και οι δικες μου εχουν χαθει. Για να τις επαναφερουμε πρεπει να διορθωσουμε το .org με το .cc ας πουμε για παραδειγμα για να δουμε τωρα εδω τις φωτογραφιες απο το τελευταιο post σου
αντι για
https://s14.postimg.org/oeg1xd4z5/dock_-_3.png
πρεπει να βαλουμε αυτο εδω
https://s14.postimg.cc/oeg1xd4z5/dock_-_3.png
Ήθελα δεν ήθελα έμαθα και από photoshop :D.
Ετοιμάζω αλλαγή του πρώτου εικονιδίου στην αρχική οθόνη, όπου ήταν η επιλογή home, η οποία το μόνο που έκανε στην ουσία ήταν να κάνει ανανέωση της αρχικής σελίδας που προσωπικά το θεωρώ άχρηστο:
https://s14.postimg.cc/oeg1xd4z5/dock_-_3.png
Με αντίστοιχη επιλογή για αλλαγή νερού με την ονομασία Service:
https://s14.postimg.cc/g8xzz9tlt/dock.png
Στις ρυθμίσεις του κεντρικού μενού θα υπάρχει και η ανάλογη κατηγορία ώστε να ρυθμίζω αν θέλω αυτόματη αλλαγή 50% ή χειροκίνητη με συγκεκριμένο ποσοστό αδειάσματος και γεμίσματος, αλλά αυτή η επιλογή στην αρχική σελίδα απλά θα ξεκινάει την διαδικασία αλλαγής μόλις το πατήσω.
Επειδή στις περισσότερες των περιπτώσεων θέλω την στάνταρ αλλαγή 50%, αυτό πιστεύω θα μου λύσει τα χέρια με το να βρίσκεται στην αρχική οθόνη.
Τραγικη η κατασταση πλεον. Ειχαμε το Photobucket πριν τωρα εχουμε και το Postimg :(
Αν θελεις τα ανεβαζεις στο φορουμ για να βρεις την ησυχια σου οπως τα περιγραφει ο Τακης εδω στο συγκεκριμενο thread.
http://www.aquatek.gr/vb/showthread.php?t=99089
Καλη συνεχεια ;)
ΥΓ: Περιμενουμε ενα φωτο - update στο εξαιρετικο project σου.
Καλησπέρα και πάλι,
Μετά από 9 μήνες το ssr άρχισε να δυσλειτουργεί. Μια μέρα άκουσα φίλτρο και κυκλοφορητή να ανοιγοκλείνουν. Μετά από ψάξιμο κατέληξα στα ρελέ. Δεν ξέρω γιατί, αλλά τα ρελέ 3 και 4 με φορτίο έριχναν την τάση, σαν να ανοιγόκλειναν. Χωρίς φορτίο και με το πολύμετρο συνδεδεμένο δούλευε κανονικά. Θα έλεγα ότι ήταν επειδή ήταν low level trigger, δηλαδή όπλιζε σε χαμηλή τάση και αφόπλιζε σε υψηλή, αλλά φίλτρο και κυκλοφορητής ήταν πάντα ενεργά. Άρα δεν μπορεί να χάλασε λόγω συνεχής υψηλής τάσης αφού συνέχεια δούλευαν σε χαμηλή.
Ευτυχώς είχα στο συρτάρι εφεδρικό ένα κλασσικό (όχι solid state) και το αντικατέστησα. Ελπίζω να κρατήσει παραπάνω.
Επί της ευκαιρίας, αν μπορεί κάποιος mod να επαναφέρει τις φώτο στους οδηγούς που έχω φτιάξει (ή αν γίνεται να μου επιτραπεί με κάποιον τρόπο να κάνω edit τα σχόλιά μου ώστε να επαναφέρω τις φώτο). Είναι κρίμα, έφαγα χρόνο να τα μαζέψω...
Κλεόβουλος
14-09-18, 23:41
Οι φωτο χάθηκαν λόγω τεχνικού προβλήματος που είχε προκύψει με τα backup.
Επειδή πράγματι είναι κρίμα να πάει τζάμπα ο κόπος, θα πρότεινα αν θέλεις να κάνεις συνολική παρουσίαση σε ένα νέο θέμα και να το κάνουμε και υπόμνημα να υπάρχει ;)
stanisalus18
15-09-18, 13:00
Καλησπερα, θα κανω μια προσπαθεια εδω με τις φωτογραφιες τωρα που εχω λιγο ελευθερο χρονο. Ελπιζω να τα καταφερω :rolleyes:
stanisalus18
15-09-18, 13:54
Κατι εκανα τελικα. Φιλε AgMa τσεκαρε λιγο παλι ολα τα posts και δες αν εχω παραλειψει καμια φωτογραφια. Η επαναφορα των φωτογραφιων εγιναν με αυτο το τροπο (http://www.aquatek.gr/vb/showpost.php?p=1040101&postcount=352) και οχι με αυτο (http://www.aquatek.gr/vb/showthread.php?t=99089) οπου θα ηταν το ιδανικο αλλα θελει πολυ χρονο.
Αν θελεις να κανεις μια ομορφη και συμμαζεμενη παρουσιαση της κατασκευης σου σε ενα νεο θεμα οπως στα λεει ο Κλεο εδω, θα ηταν σουπερ.
Την καλησπερα μου στελνω σε ολους εδω ;)
Καλησπέρα και από 'μένα. Σε ευχαριστώ.
Θα προσπαθήσω να κάνω μια παρουσίαση, αν και με την κόρη τώρα μόλις κάτσω στο pc και ξεκινάω να γράψω, στην πορεία καταλήγει κάπως φξσξριψν κζ•■ :D
vBulletin® v3.8.8, Copyright ©2000-2025, vBulletin Solutions, Inc.