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

Greek Aquarist's Boards - Φόρουμ συζητήσεων γιά το χόμπυ του Ενυδρείου (http://www.aquatek.gr/vb/index.php)
-   DIY . Φτιάχτο μόνος σου (http://www.aquatek.gr/vb/forumdisplay.php?f=28)
-   -   Κατασκευή-προγραμματισμός arduino από το 0 (http://www.aquatek.gr/vb/showthread.php?t=95257)

sxetikos 28-03-17 17:05

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1003596)
Καλή αρχή!
Ποιό arduino δουλεύεις;

Arduino Mega clone

AgMa 29-03-17 15:04

Ήρθε η νέα οθόνη, αλλά είναι με ili9341 controller.
Το άλλαξα στον κώδικα, αλλά πλέον δεν περνάει την επαλήθευση, ενώ υπάρχει ο αντίστοιχος φάκελος στα έγγραφα.
Τι κάνουμε;

sxetikos 29-03-17 15:51

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1003731)
Ήρθε η νέα οθόνη, αλλά είναι με ili9341 controller.
Το άλλαξα στον κώδικα, αλλά πλέον δεν περνάει την επαλήθευση, ενώ υπάρχει ο αντίστοιχος φάκελος στα έγγραφα.
Τι κάνουμε;

Εννοείς, κολάει στο verify; ποιόν driver χρησιμοποιείς για την οθόνη;

Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk

AgMa 29-03-17 15:55

Ναι μου βγάζει σφάλμα:
ili9341 was not declared in this scope
Απ' ότι είδα λίγο που έψαξα, είναι λίγο περίεργος αυτός ο controller. Τους drivers τους πήρα έτοιμους απ' το αρχικό projecr του iAqua.
Έχει 3 φακέλους μέσα με ονομασίες:
16
s4p
s5p
Τα s4p και s5p απ' ότι διάβασα, σημαίνει 4 και 5 pin (ποιά pin);
Όταν δηλώνεις στον κώδικα τον controller που έχει η οθόνη, στα libraries που υπάρχουν στα έγγραφα δεν πάει και ψάχνει;

sxetikos 29-03-17 16:10

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1003747)
Ναι μου βγάζει σφάλμα:
ili9341 was not declared in this scope
Απ' ότι είδα λίγο που έψαξα, είναι λίγο περίεργος αυτός ο controller. Τους drivers τους πήρα έτοιμους απ' το αρχικό projecr του iAqua.
Όταν δηλώνεις στον κώδικα τον controller που έχει η οθόνη, στα libraries που υπάρχουν στα έγγραφα δεν πάει και ψάχνει;

Ο driver είναι ο ILI9341_16. Κανονικά θα πρέπει μόλις το δηλώσεις να γίνει πράσινο. Αν όχι τότε η έκδοση του UTFT και του Utouch είναι παλιά. Τις νέες εκδόσεις τις κατεβάζεις από εδω http://www.rinkydinkelectronics.com/library.php. Στο φάκελο του UTFT υπάρχει ένα αρχείο που ονομάζεται keywords.xtx. Δες αν υπάρχει ο driver για την οθόνη.
Καλό είναι, οι βιβλιοθήκες του project να μπαίνουν στο φάκελο του sketchbook μαζί με το sketch. Π.χ. C:\arduino\sketchbook\iAqua. C:\arduino\sketchbook\libraries.

AgMa 29-03-17 19:38

Μάλλον ήταν παλιό το library.
Η οθόνη έπαιξε, αλλά δεν παίζει το touch. Ανανέωσα και εκεί το library με το νέο URtouch που έχει γίνει τώρα, διόρθωσα και τον κώδικα για να κάνω compile αλλά δεν δουλεύει η αφή ούτε τυπώνει στην σειριακή οθόνη.

sxetikos 29-03-17 19:44

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1003796)
Μάλλον ήταν παλιό το library.
Η οθόνη έπαιξε, αλλά δεν παίζει το touch. Ανανέωσα και εκεί το library με το νέο URtouch που έχει γίνει τώρα, διόρθωσα και τον κώδικα για να κάνω compile αλλά δεν δουλεύει η αφή ούτε τυπώνει στην σειριακή οθόνη.

Κάνε Calibration την οθόνη από το URtouch. Ίσως χρειαστεί να το κανείς δύο τρείς φορές μέχρι να το πετύχεις. Και εγώ είχα την ίδια οθόνη και με παίδεψε αρκετά. Μέχρι που κάηκε.....[emoji18]

Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk

AgMa 29-03-17 19:52

Μα το calibration δεν χάνεται μετά που θα περάσω νέο κώδικα; Ή αποθηκεύεται κάπου στην library και το χρησιμοποιεί μετά ο νέος κώδικας;

sxetikos 29-03-17 20:01

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1003802)
Μα το calibration δεν χάνεται μετά που θα περάσω νέο κώδικα; Ή αποθηκεύεται κάπου στην library και το χρησιμοποιεί μετά ο νέος κώδικας;

Μόλις τελειώσει το calibration θα σου δώσει οδηγίες που θα αποθηκεύσεις κάποιες συντεταγμένες που θα σου βγάλει. Κλείνεις και ξανανοίγεις το πρόγραμμα του arduino, κάνεις clear eeprom. Πριν ξαναπεράσεις τo iAqua καλό είναι τρέξεις το URtouch button test από τα examples για να βεβαιωθείς ότι όλα είναι εντάξει. Αν όχι , clear eeprom και ξανά από την αρχή.

Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk

AgMa 29-03-17 20:20

Έτοιμος ο παίχτης!
Ευχαριστώ ;)

sxetikos 29-03-17 20:23

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1003807)
Έτοιμος ο παίχτης!
Ευχαριστώ ;)

Τέλεια! Προχωράμε δυνατά!

Στάλθηκε από το F3111 μου χρησιμοποιώντας Tapatalk

AgMa 29-03-17 20:37

Να αναφέρω μία παρατήρησή μου σχετικά με τον ds1307 rtc.
Όλες αυτές τις μέρες που πειραματίζομαι και ενώ είχα απ' την αρχή ρυθμισμένη την ώρα, παρατήρησα μετά από μερικές μέρες και έδειχνε 1 λεπτό μπροστά σε σχέση με τον υπολογιστή με τον οποίο το είχα ρυθμίσει.
Και μόνο σε μια 'βδομάδα μέσα! Βέβαια το καλό είναι ότι ρυθμίζει μέσα απ' το μενού του συγκεκριμένου κώδικα, αλλά σε άλλους που δεν θα υπάρχει αυτή η επιλογή θα είναι ταλαιπωρία να ξαναπερνάνε τον κώδικα.
Μου ήρθε ο ds3231 μαζί με κάποια άλλα πραγματάκια, θα τα δείξω με την πρώτη ευκαιρία.

AgMa 31-03-17 23:21

Κόλλημα τρανζίστορ και αντίστασης για το ντιμάρισμα πάνω στο tft shield:

https://s3.postimg.cc/fuclfmd1v/20170401_000525.jpg

https://s3.postimg.cc/qv7qkn5ar/20170401_000705.jpg

Στράβωσα το pin19 της οθόνης που την τροφοδοτεί με ρεύμα ώστε να μην κάνει επαφή με το ρεύμα που της δίνει το tft shield και έκανα λούκι ώστε να μπει εντελώς μέσα το pin γιατί αλλιώς δεν κουμπώνει εντελώς:

https://s3.postimg.cc/sbj92s87n/20170401_000827.jpg

https://s3.postimg.cc/gnp788j2r/20170401_000928.jpg

Και στο στραβωμένο pin πλέον πάει το συστηματάκι για το ντιμάρισμα με ένα θηλυκό dupont wire (απ' αυτά που κάνουμε τις δοκιμές στο breadboard) ώστε να μπορώ να αποσυνδέσω εύκολα την οθόνη αν χρειαστεί:

https://s3.postimg.cc/dtr3rwn83/20170401_000959.jpg

Επίσης πήγα στο praktiker και πήρα απ' τα ρετάλια που έχει και πουλάει σε χώμα τιμές (~4 ευρώ), μελαμίνη λεπτή και έφτιαξα το κουτί που θα μπουν οι πρίζες με το ρελέ. Δεν έδωσα ιδιαίτερη σημασία στην κατασκευή του γιατί θα μπει πίσω από το έπιπλο του ενυδρείου:

https://s3.postimg.cc/x5307n4pf/20170401_000329.jpg

https://s3.postimg.cc/jcolc0dxv/20170401_000358.jpg

sxetikos 02-04-17 12:51

Μια λύση που βρήκα, αν θέλουμε να οδηγήσουμε πολλά καλώδια σε κάποια απόσταση, π.χ. στο φωτιστικό του ενυδρείου και τους ανεμιστήρες του, είναι να πάρουμε ένα τέτοιο http://www.ebay.com/itm/222063057445...%3AMEBIDX%3AIT και να χρησιμοποιήσουμε σειριακό καλώδιο. Υπάρχει και 25pin έκδοση http://www.ebay.com/itm/DB25-25pin-F...wAAOSwEzxYW6Fs αλλά είναι αρκετά πιο ακριβή.

AgMa 02-04-17 14:06

Και τι γλιτώνουμε; Απλά είναι ένα καλώδιο χοντρό αντί πολλά λεπτά;
Βέβαια τώρα που το ξανασκέφτομαι, έχουμε και πιο γρήγορη σύνδεση-αποσύνδεση.

tolisn 02-04-17 18:16

Αρκεί οι αγωγοί που περιέχονται μέσα στο χοντρό καλώδιο να μπορούν να σηκώσουν τα ρεύματα που καταναλώνουν οι συσκευές στις οποίες θα συνδεθούν.

AgMa 03-04-17 13:01

Σωστός, γιατί είναι αρκετά λεπτά τα καλώδια.
-------------------------
Κόλλησα πάλι, αυτή τη φορά με την αντλία λίπανσης.
Σύμφωνα με το σχεδιάγραμμα:

https://s15.postimg.cc/skpicuj5n/bitmap.jpg

H αντλία θέλει η μια επαφή της 12v και η άλλη πάει στο μεσαίο ποδαράκι του τρανζίστορ, όπου εκεί έχει μπει μία δίοδος (ώστε να μην κάνει το τρανζίστορ επιστροφή) και η άλλη άκρη της διόδου τελειώνει στο δεξί ποδαράκι του τρανζίστορ, όπου από εκεί φεύγει άλλο καλώδιο και πάει στο ground του breadboard.
Ε δεν παίζει με τίποτα!
Αν δώσω κατευθείαν 12v στην αντλία, παίζει κανονικά.

Το άλλο περίεργο, είναι ότι αν δώσω στην κάτω μεριά του breadboard 12v και ουδέτερο απ' το τροφοδοτικό και συνδέσω σκέτη την αντλία πάνω στο breadboard ώστε να πάρει φάση και ουδέτερο, τότε κάνει reset ο arduino (επαναλαμβάνω, τα 12v είναι στις κάτω ράγες του breadboard, ενώ οι πάνω ράγες παίζουν με τα 5v και ground του tft shield).
:smt120

AgMa 05-04-17 12:43

@dkatsariotis
Μήπως μπορείς να βοηθήσεις μιας και το έχεις ήδη κάνει;

dkatsariotis 05-04-17 12:52

Ο τρόπος που το έχω κάνει εγώ είναι μέσω ρελέ. Δίνω μόνιμα το (-) και το (+) το δίνω με την όπλισης του ρελέ. Το θεωρώ πιο ασφαλές και πιο σωστό από το να χρησιμοποιήσω το τρανζίστορ

Sent from my Lenovo P1ma40 using Tapatalk
-------------------------
Όσο αφορά το τρανζίστορ θα πρέπει αφού έχει κανονικά την γείωση μέσω της διόδου, να πάρει ως είσοδο (+) αν δεν κάνω λάθος στο τρίτο ποδαράκι ώστε να λειτουργήσει σαν διακόπτης και δίνοντας πλέον (-) να δουλέψει η αντλία. Το pin λοιπόν από το Arduino προς το τρανζίστορ μέσω της αντίστασης θα πρέπει να έχει λογικά digitalwrite high

Sent from my Lenovo P1ma40 using Tapatalk

AgMa 05-04-17 13:01

Τα τρανζίστορ, από αριστερά προς τα δεξιά είναι:
Gate (άρα εντολή arduino)
Drain (είσοδος)
Source (έξοδος)

Έτσι δουλεύουν. Στο σχεδιάγραμμα όμως, ο τύπος στο drain έχει βάλει το (-) της αντλίας, δεν ξέρω κατά πόσο είναι σωστό αφού και τα τρανζίστορ για να ερεθιστούν, θέλουν τάση όπως τα ρελέ. Δεν μπορώ να το καταλάβω πως δουλεύει.
Αλλά για ποιό λόγο μέσω ρελέ το θεωρείς πιο σωστό και πιο ασφαλές;

dkatsariotis 05-04-17 13:14

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1004606)
Τα τρανζίστορ, από αριστερά προς τα δεξιά είναι:
Gate (άρα εντολή arduino)
Drain (είσοδος)
Source (έξοδος)

Έτσι δουλεύουν. Στο σχεδιάγραμμα όμως, ο τύπος στο drain έχει βάλει το (-) της αντλίας, δεν ξέρω κατά πόσο είναι σωστό αφού και τα τρανζίστορ για να ερεθιστούν, θέλουν τάση όπως τα ρελέ. Δεν μπορώ να το καταλάβω πως δουλεύει.
Αλλά για ποιό λόγο μέσω ρελέ το θεωρείς πιο σωστό και πιο ασφαλές;

Το gate σωστά πάει στο Arduino μέσω της αντίστασης. Το drain πάει στην επαφή της αντλίας και το source πάει στο (-) του τροφοδοτικού. Προσοχή όμως, αν το τροφοδοτικό που δίνεις (-) στο pin του τρανζίστορ είναι διαφορετικό από το τροφοδοτικό του Arduino, τότε θα πρέπει να ενώσει τα (-) των τροφοδοτικών μεταξύ τους. Ανάμεσα από drane και source βάζεις την αντίσταση με την σωστή φορά.

Sent from my Lenovo P1ma40 using Tapatalk
-------------------------
Όσο αφορά το ρελέ απλά είναι πιο απομονωμένο σε σχέση με ένα τρανζίστορ που πάει απευθείας στο Arduino πάνω. Αν πάει κάτι στραβά με το τρανζίστορ μπορεί να πάρεις το Arduino στο χέρι

Sent from my Lenovo P1ma40 using Tapatalk
-------------------------
Αν δεν ενώσεις τα (-) μεταξύ τους τότε το (+) που στέλνεις από το Arduino στο τρανζίστορ δεν έχει κανένα αποτέλεσμα αν έχεις ξεχωριστά τροφοδοτικά

Sent from my Lenovo P1ma40 using Tapatalk

AgMa 05-04-17 14:31

Παράθεση:

Αρχική Δημοσίευση από dkatsariotis (Μήνυμα 1004607)
Το gate σωστά πάει στο Arduino μέσω της αντίστασης. Το drain πάει στην επαφή της αντλίας και το source πάει στο (-) του τροφοδοτικού. Προσοχή όμως, αν το τροφοδοτικό που δίνεις (-) στο pin του τρανζίστορ είναι διαφορετικό από το τροφοδοτικό του Arduino, τότε θα πρέπει να ενώσει τα (-) των τροφοδοτικών μεταξύ τους. Ανάμεσα από drane και source βάζεις την αντίσταση με την σωστή φορά.

Sent from my Lenovo P1ma40 using Tapatalk
-------------------------
Όσο αφορά το ρελέ απλά είναι πιο απομονωμένο σε σχέση με ένα τρανζίστορ που πάει απευθείας στο Arduino πάνω. Αν πάει κάτι στραβά με το τρανζίστορ μπορεί να πάρεις το Arduino στο χέρι

Sent from my Lenovo P1ma40 using Tapatalk
-------------------------
Αν δεν ενώσεις τα (-) μεταξύ τους τότε το (+) που στέλνεις από το Arduino στο τρανζίστορ δεν έχει κανένα αποτέλεσμα αν έχεις ξεχωριστά τροφοδοτικά

Sent from my Lenovo P1ma40 using Tapatalk

Υποθέτω αναφέρεσαι στην δίοδο, όχι στην αντίσταση.
Ναι αυτή είναι με την σωστή φορά.
Το τροφοδοτικό που δίνω (-) στο τρανζίστορ, είναι το ίδιο που τροφοδοτώ τον arduino.
Συγκεκριμένα είναι το usb του pc.
Έχω συνδέσει δηλαδή τον arduino στο pc, μέσω του tft shield δίνω (+) και (-) στο breadboard και σε αυτό το (-) δίνω στο pin του τρανζίστορ.
Το μόνο διαφορετικό τροφοδοτικό είναι το 12v απ' το οποίο δίνω (+) στη μία επαφή της αντλίας.
Αλλά το (-) αυτού του τροφοδοτικού δεν πάει πουθενά! Εκεί υποθέτω ότι κάτι παίζει με τα (-).
Εκτός και αν είναι θέμα κώδικα.

dkatsariotis 05-04-17 14:38

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1004619)
Υποθέτω αναφέρεσαι στην δίοδο, όχι στην αντίσταση.
Ναι αυτή είναι με την σωστή φορά.
Το τροφοδοτικό που δίνω (-) στο τρανζίστορ, είναι το ίδιο που τροφοδοτώ τον arduino.
Συγκεκριμένα είναι το usb του pc.
Έχω συνδέσει δηλαδή τον arduino στο pc, μέσω του tft shield δίνω (+) και (-) στο breadboard και σε αυτό το (-) δίνω στο pin του τρανζίστορ.
Το μόνο διαφορετικό τροφοδοτικό είναι το 12v απ' το οποίο δίνω (+) στη μία επαφή της αντλίας.
Αλλά το (-) αυτού του τροφοδοτικού δεν πάει πουθενά! Εκεί υποθέτω ότι κάτι παίζει με τα (-).
Εκτός και αν είναι θέμα κώδικα.

Το (-) λοιπόν του τροφοδοτικού της αντλίας πρέπει να πάει μαζί με το (-) του Arduino pin GND). Ναι την δίοδο ήθελα να πω.

Επίσης το ρεύμα της USB από τον υπολογιστή δεν είναι αρκετά ισχυρό σε mA ώστε να τροφοδοτήσει όλα αυτά που έχεις επάνω.

Sent from my Lenovo P1ma40 using Tapatalk

AgMa 05-04-17 14:57

Παράθεση:

Αρχική Δημοσίευση από dkatsariotis (Μήνυμα 1004623)
Το (-) λοιπόν του τροφοδοτικού της αντλίας πρέπει να πάει μαζί με το (-) του Arduino pin GND). Ναι την δίοδο ήθελα να πω.

Επίσης το ρεύμα της USB από τον υπολογιστή δεν είναι αρκετά ισχυρό σε mA ώστε να τροφοδοτήσει όλα αυτά που έχεις επάνω.

Sent from my Lenovo P1ma40 using Tapatalk

Τα gnd pin του arduino, δίνουν γείωση ή παίρνουν;
Μα δεν έχω φορτώσει τίποτα ιδιαίτερο προς το παρόν στο arduino. Ρελέ 5v, οθόνη και τώρα την μία αντλία. Άνετο είναι.

dkatsariotis 05-04-17 15:07

Απλά στο λέω μην κάψεις καμία USB. Τι board με τα ρελέ από USB τροφοδοτείς; Το GND pin παίρνει και δίνει, γείωση είναι.

Sent from my Lenovo P1ma40 using Tapatalk

AgMa 05-04-17 15:18

Ναι από usb. 5v δίνει και το usb.
Απλά τα παίρνει μέσω tft shield.

dkatsariotis 05-04-17 18:36

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1004640)
Ναι από usb. 5v δίνει και το usb.
Απλά τα παίρνει μέσω tft shield.

Υπολόγισε τα ρεύματα σύμφωνα με τον κατασκευαστή του Arduino, TFT, relay board και τρανζίστορ και δες αν αρκούν τα mA που δίνει η USB σου. Αν τραβήξεις περισσότερο τότε θα έχεις και πτώση τάσης αν δεν κάνεις ζημιά στην μητρική του υπολογιστή σου. Βάλε ένα εξωτερικό τροφοδοτικό στο Arduino να έχεις το κεφάλι σου ήσυχο. Πολλές φορές τα περισσότερα προβλήματα είναι λόγω ανεπαρκούς ρεύματος και δεν αναφέρομαι στα 5v αλλά στα mA που χρειάζεται η κατασκευή.

Στο συγκεκριμένο πρόβλημα, αν η συνδεσμολογία γίνει όπως σου είπα και υποχρεωτικά αν ενώσεις το ground του Arduino με το (-) του τροφοδοτικού των 12v θα παίξει

Sent from my Lenovo P1ma40 using Tapatalk

AgMa 05-04-17 19:59

Το arduino θα το τροφοδοτήσω με εξωτερικό τροφοδοτικό πολλαπλής τάσης στα 2Α και θα το ρυθμίσω στα 7v. Πιστεύω τα 7v είναι το πιο σωστό ώστε και να υπάρχει τάση μεγαλύτερη των 5v για να παίξουν όλα σωστά αλλά το κυριότερο για να μην ζεσταίνεται υπερβολικά το ενσωματωμένο regulator του arduino (μειωτής τάσης για όσους δεν το ξέρουν, που ρίχνει την τάση στα 5v και την διαφορά τάσης την αποβάλει σε θερμοκρασία).
Σχετικά με το πρόβλημά μου, στις πάνω ράγες του breadboard έχω συνδέσει το 5v και gnd του arduino.
Στις κάτω ράγες, έχω συνδέσει το εξωτερικό τροφοδοτικό 12v 1A (και την φάση και τον ουδέτερο).
Με λίγα λόγια τραβάω γραμμή από το (-) της κάτω ράγας στο (-) της πάνω ράγας;

tolisn 05-04-17 20:14

Ναι, οι γειώσεις πρέπει να είναι κοινές.

dkatsariotis 05-04-17 20:41

Παράθεση:

Αρχική Δημοσίευση από AgMa (Μήνυμα 1004692)
Το arduino θα το τροφοδοτήσω με εξωτερικό τροφοδοτικό πολλαπλής τάσης στα 2Α και θα το ρυθμίσω στα 7v. Πιστεύω τα 7v είναι το πιο σωστό ώστε και να υπάρχει τάση μεγαλύτερη των 5v για να παίξουν όλα σωστά αλλά το κυριότερο για να μην ζεσταίνεται υπερβολικά το ενσωματωμένο regulator του arduino (μειωτής τάσης για όσους δεν το ξέρουν, που ρίχνει την τάση στα 5v και την διαφορά τάσης την αποβάλει σε θερμοκρασία).
Σχετικά με το πρόβλημά μου, στις πάνω ράγες του breadboard έχω συνδέσει το 5v και gnd του arduino.
Στις κάτω ράγες, έχω συνδέσει το εξωτερικό τροφοδοτικό 12v 1A (και την φάση και τον ουδέτερο).
Με λίγα λόγια τραβάω γραμμή από το (-) της κάτω ράγας στο (-) της πάνω ράγας;

Ακριβώς, ένωσε τα δύο (-)

Όσο για το τροφοδοτικό ναι στα 7 με 7,5 είναι ότι καλύτερο. Εκεί το έχω και εγώ και συμπεριφέρεται άψογα

Sent from my Lenovo P1ma40 using Tapatalk


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

Forum engine powered by : vBulletin Version 3.8.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright 2000-2016 Greek Aquarists Board

Page generated in 0,03174 seconds with 11 queries