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

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

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

Απάντηση στο θέμα
 
Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 23-03-17, 07:30
Το avatar του χρήστη dkatsariotis
dkatsariotis Ο χρήστης dkatsariotis δεν είναι συνδεδεμένος
Member
 
Εγγραφή: 02-11-2013
Περιοχή: Πάτρα
Μηνύματα: 90
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από AgMa Εμφάνιση μηνυμάτων
Οκ έτοιμο. Όταν το βγάλω από το ρεύμα και το ξανασυνδέσω, βλέπω βέβαια ένα αστραπιαίο άναμμα όλων των ρελέ και μετά σβήνουν.
Το περίεργο όμως είναι ότι όταν το ξανασυνδέσω, δεν παραμένουν αναμμένα τα ρελέ που ήταν και όταν το έβγαλα, αλλά συνέχεια ενεργοποιούνται κάποια συγκεκριμένα.
Μήπως είναι η ώρα που εκτελείται κάποιο alarm? Επίσης ψάξε στον κώδικα σου να δεις μήπως στην αρχή τρέχει κάτι που θέτει όλα τα ρελέ κλειστά οπότε και θα χρειαστεί τροποποίηση.

Επίσης υπάρχει ένα θέμα. Εάν για κάποιο λόγο κολλήσει το Arduino κατά την εκκίνηση και αφού έχουν δηλωθεί τα pin ως output άλλα δεν έχουν προλάβει να γίνουν high με το digitalwrite, τα ρελέ θα είναι μόνιμα οπλισμένα και θα δουλεύει η οποία συσκευή έχεις βάλει πάνω τους.

Για να μην υπάρχει ο φόβος αυτός καλό θα ήταν να χρησιμοποιηθεί η άλλη επαφή των ρελέ και τα pin να είναι σε digitalwrite low όπως ήταν αρχικά στον κώδικα.

Αυτό βέβαια θα αναγκάσει τα ρελέ να δουλεύουν μόνιμα όπως γινόταν πρώτα με ότι και να σημαίνει αυτό για τη διάρκεια ζωής τους. Αυτό συμβαίνει με όλα τα opto isolated board.

Δίλημμα το ξέρω, και εγώ μετά από 3 χρόνια σχεδόν ακόμα το σκέφτομαι.

Σκέψου να κολλήσει το Arduino, να μείνουν τα ρελέ χωρίς digitalwrite high και να δουλεύουν μόνιμα πχ οι αντλίες για τα λιπάσματα.....

Από την άλλη όμως σκέψου ότι αν μείνουν όλα όπως ήταν αρχικά και δεν αλλάξουμε σε high, γλιτώνουμε την αστοχία σε περίπτωση που κολλήσει το Arduino άλλα αν το board των ρελέ μείνει χωρίς ρεύμα, πάλι αυτά θα είναι οπλισμένα από τη normally close επαφή τους.

Και τι κάνεις; Εγώ με την πρώτη ευκαιρία θα άλλαζα το board σε no-opto-isolated και θα έβαζα ενα κλασσικό η θα έφτιαχνα ένα μόνος μου ώστε να παίζει όπως πρέπει.
Sent from my Lenovo P1ma40 using Tapatalk
Απάντηση με παράθεση
  #2  
Παλιά 23-03-17, 11:29
Το avatar του χρήστη AgMa
AgMa Ο χρήστης AgMa δεν είναι συνδεδεμένος
Senior Member
 
Εγγραφή: 10-11-2014
Περιοχή: Κρήτη, Ηράκλειο
Μηνύματα: 423
Προεπιλογή

Να ψάξω τον κώδικα;;; Ωχ τι με βάζεις να κάνω τώρα, εκεί μέσα είναι το άδυτο .
Υπάρχει εύκολος τρόπος να τσεκάρω τα αλάρμ που λες; Μέσω σειριακής οθόνης πχ.;
Σχετικά με το ρελέ και να μην φορτωθεί το high στο digitalwrite, τι θα πάθω; Στα ρελέ θα συνδεθούν φίλτρο, κυκλοφορητής, θερμοστάτης, ανεμιστήρες, φωτισμός (αν καταφέρω να φτιάξω κώδικα ανατολής-δύσης Τ5) και ίσως η ηλεκτρομαγνητική βάνα normally closed που έχω να αδειάζω. Σε αυτή ίσως να υπάρξει θέμα, αλλά το βλέπω στην πορεία αυτό, προαιρετικό είναι.
Οι αντλίες λίπανσης δεν θα συνδεθούν με τα ρελέ.

Τα optocoupler δουλεύουν μόνιμα δηλαδή; Δεν έχω καταλάβει τον τρόπο λειτουργίας τους.

Edit: Ααα ξέχασα το σημαντικότερο!
Η λειτουργία watchdog μέχρι τώρα μου έχει δουλέψει άψογα. Όταν κάτι για κάποιο λόγο δεν έχει δουλέψει σωστά (πχ. το έχω τσεκάρει να μην φορτώνουν σωστά οι εικόνες απ' την sd και επίσης να μου δείξει περίεργα σχέδια στο μενού led graph λόγω λάθος του κώδικα) τότε κάνει επανεκκίνηση στο arduino.
Άρα υποθέτω σε λάθος φόρτωμα του κώδικα θα γίνει το ίδιο.
Ο κώδικάς του, αν μπορέσεις να καταλάβεις πως δουλεύει:

void watchdogSetup()
{
cli(); // disable all interrupts
wdt_reset(); // reset the WDT timer
MCUSR &= ~(1<<WDRF); // because the data sheet said to
/*
WDTCSR configuration:
WDIE = 1 :Interrupt Enable
WDE = 1 :Reset Enable - I won't be using this on the 2560
WDP3 = 1 :For 2000ms Time-out
WDP2 = 0 :bit pattern is
WDP1 = 0 :0111 change this for a different
WDP0 = 1 :timeout period.
*/
// Enter Watchdog Configuration mode:
WDTCSR = (1<<WDCE) | (1<<WDE);
// Set Watchdog settings: interrupte enable, 1001 for timer
WDTCSR = (1<<WDIE) | (0<<WDP3) | (1<<WDP2) | (1<<WDP1) | (1<<WDP0);
sei();
Serial.println(F("\nFinished watchdog setup")); // just here for testing
}

ISR(WDT_vect) // Watchdog timer interrupt.
{
if(millis() - resetTime > TIMEOUTPERIOD){
resetFunc(); // This will call location zero and cause a reboot.
Απάντηση με παράθεση
  #3  
Παλιά 23-03-17, 12:45
Το avatar του χρήστη dkatsariotis
dkatsariotis Ο χρήστης dkatsariotis δεν είναι συνδεδεμένος
Member
 
Εγγραφή: 02-11-2013
Περιοχή: Πάτρα
Μηνύματα: 90
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από AgMa Εμφάνιση μηνυμάτων
Να ψάξω τον κώδικα;;; Ωχ τι με βάζεις να κάνω τώρα, εκεί μέσα είναι το άδυτο .
Υπάρχει εύκολος τρόπος να τσεκάρω τα αλάρμ που λες; Μέσω σειριακής οθόνης πχ.;
Σχετικά με το ρελέ και να μην φορτωθεί το high στο digitalwrite, τι θα πάθω; Στα ρελέ θα συνδεθούν φίλτρο, κυκλοφορητής, θερμοστάτης, ανεμιστήρες, φωτισμός (αν καταφέρω να φτιάξω κώδικα ανατολής-δύσης Τ5) και ίσως η ηλεκτρομαγνητική βάνα normally closed που έχω να αδειάζω. Σε αυτή ίσως να υπάρξει θέμα, αλλά το βλέπω στην πορεία αυτό, προαιρετικό είναι.
Οι αντλίες λίπανσης δεν θα συνδεθούν με τα ρελέ.

Τα optocoupler δουλεύουν μόνιμα δηλαδή; Δεν έχω καταλάβει τον τρόπο λειτουργίας τους.

Edit: Ααα ξέχασα το σημαντικότερο!
Η λειτουργία watchdog μέχρι τώρα μου έχει δουλέψει άψογα. Όταν κάτι για κάποιο λόγο δεν έχει δουλέψει σωστά (πχ. το έχω τσεκάρει να μην φορτώνουν σωστά οι εικόνες απ' την sd και επίσης να μου δείξει περίεργα σχέδια στο μενού led graph λόγω λάθος του κώδικα) τότε κάνει επανεκκίνηση στο arduino.
Άρα υποθέτω σε λάθος φόρτωμα του κώδικα θα γίνει το ίδιο.
Ο κώδικάς του, αν μπορέσεις να καταλάβεις πως δουλεύει:

void watchdogSetup()
{
cli(); // disable all interrupts
wdt_reset(); // reset the WDT timer
MCUSR &= ~(1<<WDRF); // because the data sheet said to
/*
WDTCSR configuration:
WDIE = 1 :Interrupt Enable
WDE = 1 :Reset Enable - I won't be using this on the 2560
WDP3 = 1 :For 2000ms Time-out
WDP2 = 0 :bit pattern is
WDP1 = 0 :0111 change this for a different
WDP0 = 1 :timeout period.
*/
// Enter Watchdog Configuration mode:
WDTCSR = (1<<WDCE) | (1<<WDE);
// Set Watchdog settings: interrupte enable, 1001 for timer
WDTCSR = (1<<WDIE) | (0<<WDP3) | (1<<WDP2) | (1<<WDP1) | (1<<WDP0);
sei();
Serial.println(F("\nFinished watchdog setup")); // just here for testing
}

ISR(WDT_vect) // Watchdog timer interrupt.
{
if(millis() - resetTime > TIMEOUTPERIOD){
resetFunc(); // This will call location zero and cause a reboot.
Το watchdog καλή δουλειά κάνει απλά δεν μας προστατεύει σε περίπτωση που το Arduino χαλάσει τελείως και το μόνο που κάνει είναι να ανάβει.

Σχετικά με τα ρελέ:

Όλα τα ρελέ 2 επαφών όπως αυτά που έχει η πλακέτα έχουν 2 καταστάσεις των επαφών, NC και NO. Όταν το ρελέ δεν έχει ρεύμα στο πηνίο του τότε η επαφή που είναι ενεργή είναι η NC. Αντίστοιχα όταν δώσουμε ρεύμα τότε η NC είναι ανενεργή και ενεργοποιείται η NO.

Στα board που έχουν optocoupler (τα μαύρα ολοκληρωμένα με τα 4 ποδαράκια) στην είσοδο του ρελέ, απομονώνουν ουσιαστικά τα ρεύματα ώστε να μην έχουμε παρεμβολές από το πηνίο του ρελέ ή να μην γίνει ζημιά σε όλη την πλακέτα σε περίπτωση βλάβης, βραχυκυκλώματος κλπ.

Στην εν λόγω πλακέτα λοιπόν τα optocoupler έχουν μόνιμα (+) από την τροφοδοσία και ενεργοποιούνται όταν πάρουν και (-) (από τα pin του Arduino). Τότε οπλίζει το ρελέ.

Στην πράξη αυτό σημαίνει πως όταν στο Arduion ένα pin δηλωθεί ως OUTPUT και είναι σε low με το digitalwrite τότε δίνει το (-) στο optocoupler και οπλίζει το ρελέ. Γιαυτό το λόγο τα κάνουμε high αμέσως μετά τη δήλωσή του pin ως OUTPUT ώστε να μην δώσουν το (-) στο optocoupler και οπλίσει το ρελέ.

Σε περίπτωση βλάβης λοιπόν του Arduino υπάρχει πάντα η πιθανότητα τα pin αυτά να "γειώσουν" (να έχουν δηλαδή το (-)) και συνεπώς να ενεργοποιήσουν τα ρελέ. Σπάνιο άλλα όχι απίθανο.

Γιαυτό πιστεύω πως η καλύτερη λύση είναι με μη isolated relay board ώστε να μην έχουμε αυτό το θέμα.

Όσο για τα alarm που ρώτησες, στο serial monitor θα δεις κάτι μόνο αν έχει το alarm κάποιο serial.print ή serial.println

Σε αντίθετη περίπτωση πρέπει να βρεις τα alarm που αντιστοιχούν στα ρελέ και να επαληθεύσεις πως όλα τα digitalwrite είναι σωστά δηλωμένα και όχι ανάποδα για το relay board που έχεις.

Συνοψίζουμε λοιπόν:

1. Αμέσως μετά τη δήλωση του ΚΑΘΕ pin για τα ρελέ, πχ pinMode(pwrLight1Pin, OUTPUT); πρέπει να βάλεις το αντίστοιχο digitalWrite(pwrLight1Pin, HIGH); για κάθε pin με τα σωστά ονόματα που έχουν δηλωθεί. Πιθανό αυτό να σου λύσει τα προβλήματα που κάποια ρελέ είναι ανοιχτά στην εκκίνηση χωρίς λόγο.

2. Στο αρχείο alarms.ino θα κοιτάξεις κάθε alarm του ρελέ ώστε να δεις αν υπάρχει το σωστό digitalwrite, πχ

void AlarmPwrCO2_On()
{
if((feedingActive==true)&&(feedSetting.pwrCO2==tru e))
{
preFeedPower.pwrCO2 = 1;
}else
{
digitalWrite(pwrCO2Pin, HIGH);
globalPower.pwrCO2=1;
}
//if (dispScreen==1) myFiles.load(206, 177, 24, 24, pwrCO2IconS[globalPower.pwrCO2]);
if (dispScreen==1) myFiles.load(178, 177, 24, 24, pwrCO2IconS[globalPower.pwrCO2]);//co2/heat swapped
}

Αντίστοιχες εγγραφές υπάρχουν για όλα τα pin των ρελέ και για την κατάσταση off, πχ void AlarmPwrCO2_Off()

Θα πρέπει να ψάξεις όλο τον κώδικα και να τον μάθεις όλο και ειδικά με τις θέσεις στην EEPROM που αποθηκεύονται οι τιμές, ώρες κλπ
Αν δεν μάθεις τι κάνει και πως η κάθε γραμμή του κώδικα δεν θα μπορέσεις να λύσεις το οποιοδήποτε θέμα σου προκύψει. Και εγώ δεν είχα ιδέα από Arduino και αυτό το project με "έκανε" να μάθω.
Απάντηση με παράθεση
  #4  
Παλιά 23-03-17, 15:58
Το avatar του χρήστη AgMa
AgMa Ο χρήστης AgMa δεν είναι συνδεδεμένος
Senior Member
 
Εγγραφή: 10-11-2014
Περιοχή: Κρήτη, Ηράκλειο
Μηνύματα: 423
Προεπιλογή

Ξεκινάμε:
Ήδη είναι διορθωμένα το βασικό .ino και το alarms.ino με ανεστραμμένα τα high και low όπου χρειάζεται και έχει γίνει προσθήκη όλων των pins στο βασικό .ino με τη σωστή ονομασία και χαρακτηρισμό όλων ως high αμέσως μετά το void setup (γι' αυτό εξάλλου σου είπα ότι μόλις συνδέσω το arduino σε ρεύμα, ανάβουν και σβήνουν αστραπιαία όλα τα ρελέ). Εκτός και αν εννοείς κάτι άλλο και δεν έχω καταλάβει σωστά.
Σχετικά με τα ρελέ, τα δικά μου είναι ssr, που σημαίνει ότι δεν είναι opto-isolated. Αυτά υπάρχουν στα κλασσικά ηλεκτρομαγνητικά.

Με την EEPROM δεν έχω ασχοληθεί καθόλου να σου πω την αλήθεια, γιατί είχα την εντύπωση ότι είναι κάτι προσωρινό και προσπελάσιμο (κάτι σαν την ραμ του υπολογιστή να φανταστείς).
Δεν ξέρω αν τα έχω καταλάβει σωστά όλα αυτά που μου λες, προσπαθώ όπως βλέπεις να μάθω.
Αν κάτι απ' αυτά που σου απαντάω δεν βγάζει νόημα, πες μου γιατί ίσως δεν το έχω καταλάβει.
Απάντηση με παράθεση
  #5  
Παλιά 23-03-17, 21:26
Το avatar του χρήστη dkatsariotis
dkatsariotis Ο χρήστης dkatsariotis δεν είναι συνδεδεμένος
Member
 
Εγγραφή: 02-11-2013
Περιοχή: Πάτρα
Μηνύματα: 90
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από AgMa Εμφάνιση μηνυμάτων
Ξεκινάμε:
Ήδη είναι διορθωμένα το βασικό .ino και το alarms.ino με ανεστραμμένα τα high και low όπου χρειάζεται και έχει γίνει προσθήκη όλων των pins στο βασικό .ino με τη σωστή ονομασία και χαρακτηρισμό όλων ως high αμέσως μετά το void setup (γι' αυτό εξάλλου σου είπα ότι μόλις συνδέσω το arduino σε ρεύμα, ανάβουν και σβήνουν αστραπιαία όλα τα ρελέ). Εκτός και αν εννοείς κάτι άλλο και δεν έχω καταλάβει σωστά.
Σχετικά με τα ρελέ, τα δικά μου είναι ssr, που σημαίνει ότι δεν είναι opto-isolated. Αυτά υπάρχουν στα κλασσικά ηλεκτρομαγνητικά.

Με την EEPROM δεν έχω ασχοληθεί καθόλου να σου πω την αλήθεια, γιατί είχα την εντύπωση ότι είναι κάτι προσωρινό και προσπελάσιμο (κάτι σαν την ραμ του υπολογιστή να φανταστείς).
Δεν ξέρω αν τα έχω καταλάβει σωστά όλα αυτά που μου λες, προσπαθώ όπως βλέπεις να μάθω.
Αν κάτι απ' αυτά που σου απαντάω δεν βγάζει νόημα, πες μου γιατί ίσως δεν το έχω καταλάβει.
Καλησπέρα,

Σωστά τα έχεις κάνει απλά με παραξενεύει το γεγονός ότι είναι αντιληπτό το "φλασαρισμα" των ρελέ. Ίσως ο κώδικας να είναι πιο "βαρύς" δεδομένου ότι εγώ έχω αφαιρέσει πολλά κομμάτια όπως πχ τα κανάλια με τα χρώματα για led φωτισμό, κυκλοφορητες κλπ
Εφόσον μιλάμε για δευτερόλεπτο η και κλάσμα του δευτερολέπτου όλα οκ.

Στις διευθύνσεις της EEPROM από αποθηκεύονται μόνιμα δεδομένα όπως πχ η ώρα εκκίνησης ενός alarm, η θερμοκρασία για τον θερμοστάτη η τον ανεμιστήρα κλπ

Εάν ασχοληθείς και διαβάσεις τον κώδικα τότε θα δεις πως λειτουργούν. Για εμένα ήταν το πιο δύσκολο κομμάτι καθώς άλλαξα ακόμα και τον τύπο των δεδομένων που υπάρχουν εκεί όπως πχ τα ml για τα λιπάσματα από ακέραιες τιμές σε δεκαδικες κλπ.

Sent from my Lenovo P1ma40 using Tapatalk
-------------------------
Παράθεση:
Αρχική Δημοσίευση από stanisalus18 Εμφάνιση μηνυμάτων
Μπορώ να ρωτήσω, πόσο καιρό σου πήρε να το μάθεις γενικά το Arduino?
Γενικά μου πήρε κάνα μήνα λόγω και του φόρτου εργασίας. Ξεκίνησα με αυτό το project και μετά ασχολήθηκα και με άλλα πολλά και κάλυψα αρκετές ανάγκες σε αυτοματισμούς.

Ειδικά, ακόμα το ψάχνω...

Sent from my Lenovo P1ma40 using Tapatalk

Τελευταία επεξεργασία από το χρήστη dkatsariotis : 23-03-17 στις 21:26 Αιτία: Automerged Doublepost
Απάντηση με παράθεση
  #6  
Παλιά 23-03-17, 17:57
Το avatar του χρήστη stanisalus18
stanisalus18 Ο χρήστης stanisalus18 δεν είναι συνδεδεμένος
Το πολυεργαλείο
 
Εγγραφή: 13-09-2012
Περιοχή: Αθήνα
Μηνύματα: 2.186
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από dkatsariotis Εμφάνιση μηνυμάτων
Και εγώ δεν είχα ιδέα από Arduino και αυτό το project με "έκανε" να μάθω.
Μπορώ να ρωτήσω, πόσο καιρό σου πήρε να το μάθεις γενικά το Arduino?
Απάντηση με παράθεση
  #7  
Παλιά 25-03-17, 13:43
Το avatar του χρήστη AgMa
AgMa Ο χρήστης AgMa δεν είναι συνδεδεμένος
Senior Member
 
Εγγραφή: 10-11-2014
Περιοχή: Κρήτη, Ηράκλειο
Μηνύματα: 423
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από dkatsariotis Εμφάνιση μηνυμάτων
Το watchdog καλή δουλειά κάνει απλά δεν μας προστατεύει σε περίπτωση που το Arduino χαλάσει τελείως και το μόνο που κάνει είναι να ανάβει.

Σχετικά με τα ρελέ:

Όλα τα ρελέ 2 επαφών όπως αυτά που έχει η πλακέτα έχουν 2 καταστάσεις των επαφών, NC και NO. Όταν το ρελέ δεν έχει ρεύμα στο πηνίο του τότε η επαφή που είναι ενεργή είναι η NC. Αντίστοιχα όταν δώσουμε ρεύμα τότε η NC είναι ανενεργή και ενεργοποιείται η NO.

Στα board που έχουν optocoupler (τα μαύρα ολοκληρωμένα με τα 4 ποδαράκια) στην είσοδο του ρελέ, απομονώνουν ουσιαστικά τα ρεύματα ώστε να μην έχουμε παρεμβολές από το πηνίο του ρελέ ή να μην γίνει ζημιά σε όλη την πλακέτα σε περίπτωση βλάβης, βραχυκυκλώματος κλπ.

Στην εν λόγω πλακέτα λοιπόν τα optocoupler έχουν μόνιμα (+) από την τροφοδοσία και ενεργοποιούνται όταν πάρουν και (-) (από τα pin του Arduino). Τότε οπλίζει το ρελέ.

Στην πράξη αυτό σημαίνει πως όταν στο Arduion ένα pin δηλωθεί ως OUTPUT και είναι σε low με το digitalwrite τότε δίνει το (-) στο optocoupler και οπλίζει το ρελέ. Γιαυτό το λόγο τα κάνουμε high αμέσως μετά τη δήλωσή του pin ως OUTPUT ώστε να μην δώσουν το (-) στο optocoupler και οπλίσει το ρελέ.

Σε περίπτωση βλάβης λοιπόν του Arduino υπάρχει πάντα η πιθανότητα τα pin αυτά να "γειώσουν" (να έχουν δηλαδή το (-)) και συνεπώς να ενεργοποιήσουν τα ρελέ. Σπάνιο άλλα όχι απίθανο.

Γιαυτό πιστεύω πως η καλύτερη λύση είναι με μη isolated relay board ώστε να μην έχουμε αυτό το θέμα.

Όσο για τα alarm που ρώτησες, στο serial monitor θα δεις κάτι μόνο αν έχει το alarm κάποιο serial.print ή serial.println

Σε αντίθετη περίπτωση πρέπει να βρεις τα alarm που αντιστοιχούν στα ρελέ και να επαληθεύσεις πως όλα τα digitalwrite είναι σωστά δηλωμένα και όχι ανάποδα για το relay board που έχεις.

Συνοψίζουμε λοιπόν:

1. Αμέσως μετά τη δήλωση του ΚΑΘΕ pin για τα ρελέ, πχ pinMode(pwrLight1Pin, OUTPUT); πρέπει να βάλεις το αντίστοιχο digitalWrite(pwrLight1Pin, HIGH); για κάθε pin με τα σωστά ονόματα που έχουν δηλωθεί. Πιθανό αυτό να σου λύσει τα προβλήματα που κάποια ρελέ είναι ανοιχτά στην εκκίνηση χωρίς λόγο.

2. Στο αρχείο alarms.ino θα κοιτάξεις κάθε alarm του ρελέ ώστε να δεις αν υπάρχει το σωστό digitalwrite, πχ

void AlarmPwrCO2_On()
{
if((feedingActive==true)&&(feedSetting.pwrCO2==tru e))
{
preFeedPower.pwrCO2 = 1;
}else
{
digitalWrite(pwrCO2Pin, HIGH);
globalPower.pwrCO2=1;
}
//if (dispScreen==1) myFiles.load(206, 177, 24, 24, pwrCO2IconS[globalPower.pwrCO2]);
if (dispScreen==1) myFiles.load(178, 177, 24, 24, pwrCO2IconS[globalPower.pwrCO2]);//co2/heat swapped
}

Αντίστοιχες εγγραφές υπάρχουν για όλα τα pin των ρελέ και για την κατάσταση off, πχ void AlarmPwrCO2_Off()

Θα πρέπει να ψάξεις όλο τον κώδικα και να τον μάθεις όλο και ειδικά με τις θέσεις στην EEPROM που αποθηκεύονται οι τιμές, ώρες κλπ
Αν δεν μάθεις τι κάνει και πως η κάθε γραμμή του κώδικα δεν θα μπορέσεις να λύσεις το οποιοδήποτε θέμα σου προκύψει. Και εγώ δεν είχα ιδέα από Arduino και αυτό το project με "έκανε" να μάθω.
Το δικό μου ρελέ, σε ποιό Pin είναι normally open και σε ποιό normally closed;

Τελευταία επεξεργασία από το χρήστη stanisalus18 : 15-09-18 στις 13:25 Αιτία: Επαναφορά φωτογραφιών
Απάντηση με παράθεση
  #8  
Παλιά 25-03-17, 16:33
Το avatar του χρήστη dkatsariotis
dkatsariotis Ο χρήστης dkatsariotis δεν είναι συνδεδεμένος
Member
 
Εγγραφή: 02-11-2013
Περιοχή: Πάτρα
Μηνύματα: 90
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από AgMa Εμφάνιση μηνυμάτων
Το δικό μου ρελέ, σε ποιό Pin είναι normally open και σε ποιό normally closed;
Είναι μιας επαφής από ότι βλέπω. Δεν έχεις NC όλες οι επαφές σου είναι NO. Με λίγα λόγια λειτουργούν​ απλά σαν διακόπτες.

Sent from my Lenovo P1ma40 using Tapatalk
-------------------------
Παράθεση:
Αρχική Δημοσίευση από AgMa Εμφάνιση μηνυμάτων
Για κοίτα λίγο καλύτερα.
Αυτό που σου έστειλα, λέει ότι στο low level τα ρελέ είναι off. Ενώ αυτό που μου έστειλες, στο low level τα ρελέ είναι on.
Το συγκεκριμένο board είναι σωστό με το Off στο low trigger. Δεν θα χρειαστεί τις αλλαγές στον κώδικα που έχουμε αναφέρει

Sent from my Lenovo P1ma40 using Tapatalk

Τελευταία επεξεργασία από το χρήστη dkatsariotis : 25-03-17 στις 16:33 Αιτία: Automerged Doublepost
Απάντηση με παράθεση
  #9  
Παλιά 25-03-17, 17:09
Το avatar του χρήστη AgMa
AgMa Ο χρήστης AgMa δεν είναι συνδεδεμένος
Senior Member
 
Εγγραφή: 10-11-2014
Περιοχή: Κρήτη, Ηράκλειο
Μηνύματα: 423
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από dkatsariotis Εμφάνιση μηνυμάτων
Είναι μιας επαφής από ότι βλέπω. Δεν έχεις NC όλες οι επαφές σου είναι NO. Με λίγα λόγια λειτουργούν​ απλά σαν διακόπτες.

Sent from my Lenovo P1ma40 using Tapatalk
-------------------------

Το συγκεκριμένο board είναι σωστό με το Off στο low trigger. Δεν θα χρειαστεί τις αλλαγές στον κώδικα που έχουμε αναφέρει

Sent from my Lenovo P1ma40 using Tapatalk
Συγκεκριμένο εννοείς αυτό που του έδειξα!
Άρα στο ρελέ μου δεν μπορώ να κάνω αυτό που λες, να χρησιμοποιηθεί η άλλη επαφή των ρελέ και τα pin να είναι σε digitalwrite low όπως ήταν αρχικά στον κώδικα.
Απάντηση με παράθεση
  #10  
Παλιά 25-03-17, 19:09
Το avatar του χρήστη dkatsariotis
dkatsariotis Ο χρήστης dkatsariotis δεν είναι συνδεδεμένος
Member
 
Εγγραφή: 02-11-2013
Περιοχή: Πάτρα
Μηνύματα: 90
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από AgMa Εμφάνιση μηνυμάτων
Συγκεκριμένο εννοείς αυτό που του έδειξα!
Άρα στο ρελέ μου δεν μπορώ να κάνω αυτό που λες, να χρησιμοποιηθεί η άλλη επαφή των ρελέ και τα pin να είναι σε digitalwrite low όπως ήταν αρχικά στον κώδικα.
Ναι ακριβώς. Δεν υπάρχει άλλη επαφή να χρησιμοποιηθεί. Το board του sxetikos είναι το αντίθετο από το δικό σου. Με τα σωστά high και low όπως στον αρχικό κώδικα

Sent from my Lenovo P1ma40 using Tapatalk
Απάντηση με παράθεση
Απάντηση στο θέμα

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. Η ώρα τώρα είναι 17:52.


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