# Συζήτηση Κυκλωμάτων > Παρουσίαση Ολοκληρωμένων Κατασκευών >  >  Μέτρηση όγκου (κυβισμένης) δεξαμενής πετρελαίου

## manolena

Αφορμή για αυτή την κατασκευή υπήρξε η αδυναμία ακριβούς μέτρησης της ποσότητας του πετρελαίου στη δεξαμενή του σπιτιού μου από ανθρώπους που δεν έχουν και πολλή σχέση με πράξεις, μετατροπές σε λίτρα, βέργες μέτρησης στάθμης σε εκατοστά και άλλα τέτοια προσκώμματα που δεν δίνουν μια ξεκάθαρη ένδειξη σε λίτρα της ποσότητας του πετρελαίου. Προσπάθησα να την κάνω όσο πιο απλή γίνεται με οπτική ένδειξη σε λίτρα της ακριβούς ποσότητας σε μια οθόνη LCD 2x16 χαρακτήρων με οπίσθιο φωτισμό για ευκολότερη ανάγνωση. Τo όλο σύστημα στηρίζεται σε μια πλατφόρμα Arduino MEGA 1280, μια LCD Keypad shield απο την Nuelectronics και έναν Ultrasonic Range Detection Sensor που προμηθεύτηκα απο το e-Bay. Όπως καταλαβαίνετε απο το τελευταίο, η μέτρηση του όγκου της (κυβισμένης) δεξαμενής στηρίζεται στην μέτρηση με υπέρηχους της απόστασης της ελεύθερης επιφάνειας του πετρελαίου απο την οροφή της. Με τους σχετικούς υπολογισμούς και εισαγωγή των διαστάσεων της δεξαμενής, εμφανίζεται η υπάρχουσα ποσότητα πετρελαίου. Ο τρόπος αυτός, είναι ο ασφαλέστερος γιατί δεν φέρνει σε επαφή το καύσιμo με τα κυκλώματα της κατασκευής και τις τάσεις τροφοδοσίας. Επειδή σε αρκετές περιπτώσεις οι δεξαμενές ευρίσκονται σε εξωτερικούς χώρους, υπήρξε η ανάγκη μέτρησης θερμοκρασίας περιβάλλοντος για αυτόματη διόρθωση του συντελεστή που επιρρεάζει την ταχύτητα του ήχου ανάλογα με τη θερμοκρασία. Χρησιμοποιήθηκε το LM75 της National σε σύνδεση με το I2C bus του Arduino. Και με την ευκαιρία, τοποθετήθηκε και ένα ρολόϊ πραγματικού χρόνου M41T80 της ST για ένδειξη ώρας/ ημερομηνίας. Υπάρχει πολλή θεωρία που μελετήθηκε για την κατασκευή αυτή και θα αναλυθεί αργότερα.

Πρώτες φωτογραφίες ακολουθούν...

----------

Chris Vlachakis (10-05-11), 

GeorgeVita (24-01-16), 

kentar (29-04-12), 

makatas (09-12-12), 

minusplus (18-05-11), 

navar (29-12-15), 

nestoras (21-03-20), 

σεατ 2 (08-12-12), 

xl_31 (09-09-11)

----------


## Τρελός Επιστήμονας

Καλως ήλθες στο forum. Πολύ ωραίο και έξυπνο! Μετράς την απόσταση του καυσίμου από την κορυφή, αφαιρείς το μήκος που μέτρησες από το ύψος της δεξαμενής και  πολλαπλασιάζεις τη διαφορά με το εμβαδόν της βάσης. Πολύ μου άρεσε η ιδέα της θερμοκρασιακής διόρθωσης. Το αποτέλεσμα είναι ο όγκος του καυσίμου. Μου θυμίζει πτυχιακή εργασία. Αν είναι έτσι, πρέπει να βαθμολογηθεί με άριστα.

Εγώ είχα ένα παρόμοιο πρόβλημα αλλά με πλαστική δεξαμενή σε σχήμα οριζόντιου κυλίνδρου. Βυθίζοντας το μέτρο κατακόρυφα μέσα στο πετρέλαιο από το καπάκι της δεξαμενής και μετρώντας το ύψος έπρεπε να υπολογίζω τον όγκο. Οφείλω να ομολογήσω ότι με κούρασε αρκετά αλλά το EXCEL με βοήθησε πάρα πολύ. 

Περιμένω να δω σχέδια και φωτογραφίες...

----------

manolena (30-03-11)

----------


## manolena

Ακριβώς έτσι αγαπητέ Δημήτρη. Εργάζομαι πάνω σε αυτό πολύ καιρό τώρα. Η αρχική κατασκευή ήταν σε breadboard με έναν PIC 16F876 και 4 LED diaplays των 7 τμημάτων και με 2 υπέρηχα transdusers. Εκεί υπολογιζόταν ο χρόνος της ηχούς και με κατάλληλες πράξεις και αρκετή πολυπλεξία (!) εμφανιζόταν το αποτέλεσμα στα displays. Ωστόσο, όλο το πρόγραμμα ήταν γραμμένο σε assembly (!!) και με κούρασε ιδιαίτερα. Φαντάσου οτι δεν έχω καμμία εκπαίδευση σε προγραμματισμό και όλα αυτά τα κάνω μόνος μου. Το Arduino βοηθάει πολύ γιατί γράφω σε C και είναι πολύ πιο κατανοητά όλα τα states. Θα ανεβάσω φωτογραφίες, σχέδια και πλακέτες προσθέτων (RTC, Temp sensor) καθώς και τα sketches του Arduino. Βέβαια θέλουν πολύ ρετουσάρισμα, αλλά υπάρχει χρόνος για αυτό. Σε αυτή τη σελίδα http://www.piclist.com/images/www/ho...c/e_pic6_6.htm θα βρείτε αρκετά ενδιαφέροντα για έναν μετρητή απόστασης με υπέρηχους, μια κατασκευή που με ενέπνευσε να φτιάξω όλο αυτό. Ο Γιαπωνέζος που το σχεδίασε έχει αναλυτική τεκμηρίωση καθώς και το πρόγραμμα σε assembly  για PIC. Πολύ ενδιαφέρον έχει η θεωρία.

----------


## manolena

http://www.nuelectronics.com/estore/...5f5c5f564285a0

Η σελίδα αυτή αφορά στο LCD display της Nuelectronics. Είναι μια οθόνη 2x16 χαρακτήρων με λευκό οπίσθιο φωτισμό πάνω σε shield για Arduino, το οποίο διαθέτει και μπουτόν ποήγησης. Αυτό είναι πολύ βολικό για την εκτέλεση λειτουργιών που απαιτούνται για την όλη κατασκευή, όπως προγραμματισμός των διαστάσεων και ρύθμιση ώρας καθώς και πλοήγηση σε χρήσιμες πληροφορίες όπως θερμοκρασία περιβάλλοντος και πραγματική ταχύτητα ήχου εξαρτώμενη απο τη θερμοκρασία.

http://arduino.cc/en/Main/ArduinoBoardMega

Η σελίδα αυτή αφορά στο Arduino platform, ένα εξαιρετικό σύστημα ελέγχου με πολλά digital I/O's, αναλογικές εισόδους και εξαιρετικό java περιβάλλον ανάπτυξης. Ο Arduino MEGA 1280 δεν κυκλοφορεί πλέον και τη θέση του έχει πάρει ο 2560. Βασικά δεν αλλάζει τίποτα στο χειρισμό, εκτός απο τη μνήμη προγράμματος που είναι μεγαλύτερη. Εδώ υπάρχουν πάρα πολλά παραδείγματα για κάθε σχεδόν χρήση που μπορούν να συρραφούν και να προσαρμοστούν στη δική σας εφαρμογή.

http://cgi.ebay.com/ws/eBayISAPI.dll...m=280531124225

Η σελίδα αυτή αφορά στο Ultrasonic Range Sensor που βρήκα στο e-Bay. Διαχειρίζεται trigger και ping (echo) σήματα με 2 pin και 2 pin τροφοδοσίας. Πολύ εξυπηρετικό. Υπάρχει και sketch για τον Arduino που με λίγο ράψιμο ταίριαξε ακριβώς στην εφαρμογή. Είναι αντίστοιχο του SRF04 της Devantech http://www.robot-electronics.co.uk/a...c_Rangers.html και διαθέτει πλήρες τεχνικό documentation.

----------


## p.gabr

Τετοιες δουλειες αξιζουν μονο ΣΥΧΑΡΗΤΗΡΙΑ..............

----------

manolena (30-03-11)

----------


## manolena

Οι παραπάνω φωτογραφίες σε συνέχεια των προηγουμένων με δείγμα απο τα μενού της κατασκευής. Παρατηρήστε οτι στο πρόγραμμα έχει γίνει πρόβλεψη και για ελληνικούς χαρακτήρες. Αυτό μπορεί να επιλεχθεί στή φόρτωση του προγράμματος με μια #ifdef / #endif εντολή και ένα #define ή να μπεί στο μενού (πράγμα που δεν έχω κάνει ακόμη). Η μικρή πλακέτα είναι το ρολόϊ πραγματικού χρόνου και το θερμόμετρο. Μπορείτε να συμπεράνετε απο το battery holder οτι δεν είναι απαραίτητο να ξαναρυθμίζετε την ώρα σε κάθε διακοπή τροφοδοσίας. Πλήρη τεχνικά χαρακτηριστικά http://www.st.com/stonline/books/pdf/docs/9074.pdf για το RTC και http://www.datasheetcatalog.org/data...r/DS012658.PDF για το θερμόμετρο. Η σχεδίαση του μικρού αυτού PCB έγινε με Altium DXP CAD, ένα εξαιρετικό πρόγραμμα σχεδίασης ηλεκτρονικού κυκλώματος και τυπωμένου.

----------

GeorgeVita (24-01-16)

----------


## aris285

Πολυ καλο ενα μεγαλο μπραβο και απο εμενα.
Ανετα γινεται και εμπορικη η κατασκευη.

----------

manolena (30-03-11)

----------


## herctrap

ωραια ιδεα 

αλλα αν η δεξαμενη δεν ειναι ορθογωνιο παραλληλογραμμο?

και γιατι με τον MEGA και οχι ενα μικροτερο?

----------

manolena (30-03-11)

----------


## cloud_constructor

πω ρε ρισπεκτιλα!Κατι τετοιο ελεγα κ εγω να φτιαξω αλλα τελικα μου τα πριξανε και δεν ξανα ασχολουμαι με τα πετρελαια τους. Τους ελληνικους χαρακτηρες πως τους εβαλες?

----------

manolena (30-03-11)

----------


## rep

μπραβο μανο και απο μενα.θα σου πω μια ιδεα που προσαρμοσα σε κατι αντιστιχο δικο μου που εκανα με διαφορετικο τροπο και  με οχι τοσο ακριβεια.μπορεις να προγραμματισεις τον επεξεργαστη οταν βαζεις πετρελαιο και ανεβενει η σταθμη να σου αναφερει ποτε εβαλες και ποσα λιτρα.

----------

manolena (30-03-11)

----------


## manolena

Αν η δεξαμενή είναι κυλινδρικού (συμμετρικού) σχήματος, απλά στις διαστάσεις πρέπει να υπολογίσεις το γινόμενο του τετραγώνου της ακτίνας της βάσης του επι το "π" (3,14......) και να το πολλαπλασιάσεις κατά τα γνωστά με το ύψος. Η διαδικασία απο εκεί και πέρα είναι η ίδια στον προγραμματισμό. Ο Arduino υπήρχε έτσι και αλλιώς αλλά θα μπορούσε να χρησιμοποιηθεί και ένας μικρότερος, όπως ένα Lilypad ίσως. Εδώ μπορείς να δείς πως γίνεται:
http://www.science.co.il/formula.asp (To site είναι τυχαίο).

----------


## manolena

> πω ρε ρισπεκτιλα!Κατι τετοιο ελεγα κ εγω να φτιαξω αλλα τελικα μου τα πριξανε και δεν ξανα ασχολουμαι με τα πετρελαια τους. Τους ελληνικους χαρακτηρες πως τους εβαλες?



 Οι ελληνικοί χαρακτήρες προγραμματίζονται σε 8 θέσεις της CGRAM του controller του LCD πάρα πολύ εύκολα. Θα ανεβάσω αργότερα παραδείγματα για καλύτερη κατανόηση. Με τον ίδιο τρόπο μπορείς να φτιάξεις όποιο σχήμα 5x8 pixels θέλεις και να το καλείς όποτε θέλεις στην οθόνη. Σε αυτή τη σελίδα http://arduino.cc/en/Reference/LiquidCrystalCreateChar θα δείς ακριβώς πως αυτό γίνεται. Με λίγες μετατροπές στα bytes του smile[8], μπορείς να φτιάξεις βελάκια, emoticons και ό,τι άλλο θέλεις για την κατασκευή σου. Εύκολα μπορείς να τα καλέσεις παντού στο πρόγραμμα με την ρουτίνα lcd.write(x), όπου x ο αριθμός  0-7 που θα κάνεις assignment το κάθε ένα απο τα 8 user bytes. Μια πολύ καλή σελίδα για χρήσιμες πληροφορίες: http://home.iae.nl/users/pouweha/lcd/lcd0.shtml. Μπορείς να δείς και το character map ενός κλασικού LCD με HD44780 controller.

----------


## manolena

> μπραβο μανο και απο μενα.θα σου πω μια ιδεα που προσαρμοσα σε κατι αντιστιχο δικο μου που εκανα με διαφορετικο τροπο και  με οχι τοσο ακριβεια.μπορεις να προγραμματισεις τον επεξεργαστη οταν βαζεις πετρελαιο και ανεβενει η σταθμη να σου αναφερει ποτε εβαλες και ποσα λιτρα.



 Πάρα πολύ καλή ιδέα και πολύ εύκολα πραγματοποιήσιμη με τη συγκεκριμένη εφαρμογή. Σε αυτό μπορείς να προσθέσεις πολύ εύκολα ένα SD shield και να καταγράφεις αυτές τις πληροφορίες στην κάρτα. Αργότερα μπορείς να τις χρησιμοποιήσεις για τον οικογενειακό σου προϋπολογισμό και για στατιστικά. Συνημμένο το σχέδιο και η πλακέτα για ένα microSD holder με σειριακή διασύνδεση.

----------


## manolena

> Πολυ καλο ενα μεγαλο μπραβο και απο εμενα.
> Ανετα γινεται και εμπορικη η κατασκευη.



 Υπάρχει ένα τέτοιο ενδεχόμενο, αρκεί να τυποποιηθεί σε κάποιο case και να εμπλουτιστεί με κάποια άλλα εξαρτήματα, όπως στηριχτικά, καλωδίωση και άλλα τέτοια. Μόνο και μόνο που δεν θα με σκοτίζουνε οι πετρελαιάδες με το πόσα είχε, τόσα σου έβαλα, οχι δεν είναι τόσα και τέτοια.... ίσως αξίζει τον κόπο!

----------


## manolena

Εδώ υπάρχουν τα αρχεία του σχηματικού και της πλακέτας του RTC  και του θερμόμετρου. Έχω φτιάξει και μια δεύτερη πλακέτα με ενσωματωμένη σειριακή EEPROM 24C01 (http://www.st.com/internet/com/TECHN...CD00001163.pdf) στην οποία μπορεί να αποθηκευτεί κάποια χρήσιμη πληροφορία. Και φωτογραφίες κυκλώματος και πλακέτας.

----------


## manolena

Η σημασία της θερμοκρασίας περιβάλλοντος είναι μεγάλη για τη διάδοση του ήχου στον αέρα (στην περίπτωσή μας). Υπάρχει ένας τύπος ο οποίος υπολογίζει την ταχύτητα αυτή: U= 331.4+0.606*T (m/s). http://hyperphysics.phy-astr.gsu.edu...d/souspe3.html. T είναι η θερμοκρασία σε βαθμούς Κελσίου και λαμβάνεται απο το LM75 σε ειδικό float buffer. Στους 20 βαθμούς, η ταχύτητα είναι 343,52 m/s. Στον κώδικα του Arduino, ο χρόνος που χρειάζεται ο ήχος για να πάει και να έρθει είναι 29μs ανά εκατοστό με βάση την ταχύτητα των 340m/s. Αν διαιρεθεί το προηγούμενο εξαγόμενο αποτέλεσμα με τη βασική ταχύτητα, έχουμε το λόγο που φαίνεται στην εικόνα. Αυτός χρησιμοποιείται για να διορθώσει και το υπολογισμό της ταχύτητας σε σχέση με τη θερμοκρασία. Παράδειγμα:
http://arduino.cc/en/Tutorial/Ping?f...trasoundSensor

----------


## Τρελός Επιστήμονας

> Αν η δεξαμενή είναι κυλινδρικού (συμμετρικού) σχήματος, απλά στις διαστάσεις πρέπει να υπολογίσεις το γινόμενο του τετραγώνου της ακτίνας της βάσης του επι το "π" (3,14......) και να το πολλαπλασιάσεις κατά τα γνωστά με το ύψος. Η διαδικασία απο εκεί και πέρα είναι η ίδια στον προγραμματισμό. Ο Arduino υπήρχε έτσι και αλλιώς αλλά θα μπορούσε να χρησιμοποιηθεί και ένας μικρότερος, όπως ένα Lilypad ίσως. Εδώ μπορείς να δείς πως γίνεται:
> http://www.science.co.il/formula.asp (To site είναι τυχαίο).



Και πάλι συγχαρητήρια, άψογη υλοποίηση!!! Φίλε μου ο υπολογισμός αυτός ισχύει όταν ο κύλινδρος είναι τοποθετημένος με την κυκλική βάση του στο δάπεδο (κατακόρυφα). Όταν όμως είναι τοποθετημένος οριζόντια, τα πράγματα δυσκολεύουν διότι χρειάζεται να υπολογίσεις εμβαδόν κυκλικού τόξου σαν συνάρτηση της απόστασης του κέντρου του από τη χορδή του (το ύψος της επιφάνειας του καυσίμου). Έλυσα το πρόβλημα χρησιμοποιώντας υπερβολικούς τριγωνομετρικούς αριθμούς (hypcos, hypsin) και το EXCEL ως μαθηματικό εργαλείο για να κάνω τους υπολογισμούς και πέτυχε μια χαρά.

----------


## MacGyver

Έξυπνη σκέψη, με 'καθαρή' υλοποίηση, μπράβο σου.
Εντυπωσιάστηκα από την ακρίβεια των 3mm που δίνουν στα sensor.
+ Με λίγα € παραπάνω υπάρχουν και κάποια με ενσωματωμένη θερμική αντιστάθμιση.

----------

manolena (30-03-11)

----------


## manolena

Ωραία προσέγγιση, έχεις δίκιο Δημήτρη... Δεν υπολογίζεται όγκος σε οριζόντια κυλινδρική δεξαμενή με την απλή φόρμουλα γιατί η ελεύθερη επιφάνεια που στην κατακόρυφη περίπτωση είναι συνεχώς ο πάτος αλλά σε διαφορετικό ύψος, εδώ αλλάζει σε σχέση με το τόξο και τη χορδή του σε κάθε διαφορετικό ύψος. Σε αυτή τη σελίδα υπάρχει και ο τύπος υπολογισμού: http://www.london-electronics.com/formula.htm. Παρατηρώντας τον, μου φαίνεται λίγο δύσκολο να γράψω κάποιες γραμμές κώδικα με τους υπολογισμούς αυτούς! Ο δικός σου τρόπος είναι αρκετά πιο ανεκτός!

----------


## KOKAR

ΣΥΓΧΑΡΗΤΗΡΙΑ και από εμένα
πραγματικά σκέψου να το βγάλεις σε εμπορική εκμετάλλευση και να τρελαθείς στο "τάλιρο"

respect και ξανά respect

----------

manolena (30-03-11)

----------


## ultra

Μανο, καλως ηρθες, και ΕΥΓΕ κι απο μενα για την κατασκευη σου!
Ξερεις, με τετοια παρουσιαση, αυτοματως.....καταζητεισαι.... απο τα πρατηρια διανομης....

----------

manolena (30-03-11)

----------


## manolena

Η ανάπτυξη όλης της εφαρμογής έγινε με την πλατφόρμα του Arduino http://arduino.cc/en/Main/Software. Το λογισμικό αυτό είναι ανοιχτού κώδικα java και διανέμεται δωρεάν. Ο ιστότοπος διαθέτει πάμπολες βιβλιοθήκες για σχεδόν κάθε εφαρμογή με έλεγχο επεξεργαστή http://arduino.cc/en/Reference/Libraries και εξαιρετικό σχολιασμό και τεκμηρίωση. Με λίγο διάβασμα, μπορεί κάποιος να προσαρμόσει τον κώδικα στα μέτρα του πάρα πολύ εύκολα. Για να αγοράσει κάποιος αυτές τις πλατφόρμες, μπορεί να το κάνει απο εδώ http://www.internetnow.gr/agora/sear...Arduino+boards, με πάρα πολλές παραλλαγές για τα μέτρα του καθενός. Επίσης, μπορεί κάποιος ψάχνοντας, να βρεί πάρα πολλές custom βιβλιοθήκες που προσαρμόζονται και αυτές εύκολα στην κατασκευή σας. Πολύ ωραίο επίσης το tutorial http://arduino.cc/en/Tutorial/HomePage, για step by step εκμάθηση του συστήματος.

----------


## navar

πολλά πολλά μπράβο !
τρομερή υλοποίηση !!!!
αναλαμβάνω αντιπροσωπεία στην θεσσαλία :P :P άν το κάνεις εμπορικό κομμάτι !

----------

manolena (31-03-11)

----------


## angel_grig

Συγχαρητηρια!Τελεια κατασκευη!Αντε βεβαια τωρα να πεισεις τους απατεωνες που βαζουν το πετρελαιο οτι οι ενδειξεις ειναι σωστες....

----------

manolena (31-03-11)

----------


## klik

Για πτυχιακή εργασία μια χαρά είναι. Για παραγωγή δεν μπορεί να δουλέψει:
α) σε όλες τις πλαστικές δεξαμενές (που μετά τα πρώτα χρόνια, κάνουν κοιλιές)
β) σε όλες τις παρακάτω:

http://www.argohellas.net/images/OilTank.jpg
http://www.plumbingservice.gr/images/deigmata/31b.jpg

Ίσως με πεταλούδα (εντός της σωλήνωσης) και reed αισθητήρα εξωτερικά θα μπορούσε να γίνει ικανοποιητική μέτρηση ροής/ποσότητας (αντίστοιχη με τους μετρητές στα βυτιοφόρα).

----------


## edgar

Ενα μεγαλο μπραβο και απο εμενα. Να σημειωσω οτι μιας και ασχολουμαι με υπερηχους (ultrasonic sensors)στο πανεπιστημιο , η συγκεκριμενη ιδεα εχει πεσει εδω και καιρο και μαλιστα σε εποχες που δεν ξερεις αν σου βαζουν πετρελαιο  η νερο στην δεξαμενη  η αν σου λυγιζουν την βεργα μεσα και λενε "οκ γεμισε, σταξε το ζεστο" , εχει φοβερη πρακτικη εφαρμογη.

Δεν προλαβα να τα διαβασω ολα και συγχωρεσε με , αλλα για τους χαρακτηρες τους ελληνικους με την createchar function νομιζω οτι εχεις περιορισμενο αριθμο μνημης για να αποθηκευσεις τα γραμματα και σιγουρα δεν εχεις χωρο για ολο το ελληνικο αλφαβητο. η μηπως δημιουργησες μονο τους ελληνικους  διαφορετικους χαρακτηρες και τους συνδυασες με τους λαντινικους? 

Καλή συνέχεια.

----------

manolena (31-03-11)

----------


## manolena

Αγαπητέ Δημήτρη, σε ευχαριστώ. Νομίζω οτι είναι αρκετά πρακτικό και το σημαντικότερο δεν δημιουργεί προβλήματα του τύπου "άντε τώρα μέτρα, κάνε πράξεις, με έκλεψες, δεν σε έκλεψα" και άλλα τέτοια. Σε ό,τι αφορά τη CGRAM του LCD, υπάρχουν μόνο 8 θέσεις για user charachters. Αυτό σημαίνει οτι μπορείς να φτιάξεις τα γράμματα "Γ,Δ,Λ,Ξ,Π,Φ,Ψ,Ω". Το Σ και το Θ υπάρχει ήδη στην μνήμη του controller του LCD, οπότε κερδίζεις και 2 θέσεις. Εγώ έκανα μίξη χαρακτήρων που έφτιαξα με λατινικούς, ήδη υπάρχοντες. Βέβαια, για να γράψεις ελληνικά, πρέπει μόνο να είναι κεφαλαία γράμματα. Αν δείς τα tech spec ενός κατασκευαστή με τον κλασσικό HD44780 controller, θα δείς τους χαρακτήρες που διαθέτει. http://www.futurlec.com/LED/LCD16X2BLa.shtml. Επίσης, υπάρχουν και LCD's με ήδη περασμένους τους ελληνικούς χαρακτήρες (πεζά και κεφαλαία) στη μνήμη τους. Πάντως, είναι αρκετά εύκολο να κάνεις ό,τι θέλεις με αυτά τα πραγματάκια!

----------


## wankel

Εξαιρετική κατασκευή , υλοποίηση και επεξήγηση... πραγματικα εξαιρετική 
κατι εκτος θέματος... ιπτάμενος μηχανικός αποτι είδα... δουλεύεις στην Π.Α?

----------

manolena (31-03-11)

----------


## manolena

> Εξαιρετική κατασκευή , υλοποίηση και επεξήγηση... πραγματικα εξαιρετική 
> κατι εκτος θέματος... ιπτάμενος μηχανικός αποτι είδα... δουλεύεις στην Π.Α?



 Όχι αγαπητέ, στο ΠΝ είμαι, ελικόπτερα... Σε ευχαριστώ πολύ για τα καλά σου λόγια!

----------


## itta-vitta

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

----------

manolena (01-04-11)

----------


## kostasde

Αν και απο προγραματισμο  ειμαι σκραπας το ολο εργο ειναι φοβερο .Οι επιμερους παραμετροι του προτζεκτ ειναι νομιζω οτι καλυτερο για να γινει σωστα μια μετρηση με υπερηχους
Το μπραβο για τοσο λεπτομερεστατη ερασιτεχνικη κατασκευη πιστευω ειναι λιγο


itta-vitta δυστυχως στο δημοσιο αν δεν εισαι απο τους (μαζι τα φαγαμε ) η καμμια μεγαλη made in usa εταιρεια για να υπαρχουν και τα (αντισταθμιστικα ωφελη) δεν δεν δεν.............

----------

manolena (01-04-11)

----------


## manolena

> πολλά πολλά μπράβο !
> τρομερή υλοποίηση !!!!
> αναλαμβάνω αντιπροσωπεία στην θεσσαλία :P :P άν το κάνεις εμπορικό κομμάτι !



Χμ, Τρίκαλα, έ; Κι εγώ γαμπρός εκεί είμαι!!!

----------


## manolena

Το σχέδιο είναι η καλωδίωση της κατασκευής, φτιαγμένο με το προγραμματάκι Fritzing http://fritzing.org/, που είναι εξαιρετικό για σχηματικές παραστάσεις. Βέβαια, είναι σε πλήρη ανάπτυξη οι πλακέτες (κανονικά ευρίσκονται η μια πάνω στην άλλη με τα αισθητήρια στην απαιτούμενη απόσταση).

----------

sv4lqcnik (13-04-11)

----------


## navar

> Χμ, Τρίκαλα, έ; Κι εγώ γαμπρός εκεί είμαι!!!



 ε όταν είναι να έρθεις , στείλε ενα μύνημα να πιούμε κανένα καφεδάκι !!!

----------


## manolena

Έγινε, αν και δεν το βλέπω να γίνεται σύντομα... Ζούμε για να δουλεύουμε, εκεί έχουμε καταντήσει...  :Sad:

----------


## sv4lqcnik

καλο το ολο θεμα ειναι ακομα στο αναπτυξιακο του ARDUINO η το μετεφερες κανονικα σε τυπωμενο με ανεξαρτητο μ/ε ; οπως και ναχει ειναι πολυ πρωτο project . και μια ερωτηση η αποσταση του ultrasonic απο την μητρηκη ασ πουμε ειναι κρισιμη;;; μπορεις να το διεραισεις και με ποιο μεγιστο μηκος καλωδιων;;
σε αναμονη φιλικα Νικος

----------


## manolena

Η κατασκευή Νίκο, έχει μείνει στο στάδιο του αναπτυξιακού. Ο λόγος είναι οτι  αυτά που προσφέρονται έτοιμα, με γλιτώνουν απο πολλές φασαρίες, όπως κόψιμο πλακέτας, σχεδιασμό και κόψιμο περιφερειακών (οθόνη, κουμπιά, υπέρηχα) και επίσης, προσφέρεται πολύ εύκολος προγραμματισμός με στημένες βιβλιοθήκες. Δεν χρειάζεται να κάνω και πολλά πολλά, πέραν των επιπροσθέτων που χρειάζεται η κατασκευή για να δουλέψει (ένα ρολογάκι κι ένα θερμόμετρο, που και για αυτά υπάρχουν βιβλιοθήκες). Σε ό,τι αφορά το υπέρηχο μοντουλάκι, είναι και αυτό έτοιμο και με δική του βιβλιοθήκη. Δεν έχει και μεγάλη σημασία η απόσταση, αν τηρηθούν οι γενικοί κανόνες (ένα καλώδιο 2 ζευγών με θωράκιση, είναι αρκετό για να καλύψει αρκετή απόσταση, αφού αυτό πρέπει να στηριχθεί στο καπάκι της δεξαμενής). Η επόμενη προσπάθειά μου μάλλον θα είναι να φτιάξω μια ενιαία πλακέτα με τα απαραίτητα και να την προσαρμόσω σε ένα κουτί (μάλλον αδιάβροχο), στο οποίο θα συνδέεται μόνο το υπέρηχο και η τροφοδοσία.

----------


## sv4lqcnik

ΕΥΧΑΡΙΣΤΩ ΠΟΥ ΜΟΥ ΑΠΑΝΤΗΣΕΣ αλλα αν σου ειναι ευκολο να μου δωσεις τα φωτα για το αρχειο του κωδικα δηλ το κεντρικο εκτος απο ρουτινες εποικινωνιας με sonar και θερμομετρο τον υποιλοιπο κωδικα με τη ραχοκοκαλια και τους υπολογισμους μπορει κανενας να βρει σε c - c ++ ;; πριν το compilation καταλαβες;; σε αναμονη αν μπορεις να βοηθησεις γιατι δεν ειμαι και καμια γατα , τωρα κανω βηματα προγραμματισμου (θα μουπεις και θες να πιαστεις με τοσο δυσκολο προγραμμα δεν πας να αναψεις κανενα led; :Wink:  αλλα αντε και το αναψα το led το εσβησα και εβαλα κιαλλα που ειναι το ενδιφερων;;;; Ενω αν εχω εναν κωδικα με ενδιαφερων θα μου γινει βιωμα και δεν ξεχνιεται επισης θα πιασει και τοπο ενω το αναμα των led ειναι μονο για τα Χριστουγεννα ετσι;; . ευχαριστω

----------


## manolena

Μην αγχώνεσαι Νίκο, είναι λογικό για κάποιον που τώρα ξεκινά να θέλει να ρουφήξει ό,τι μπορεί απο γνώση. Το συναίσθημα του να ζωντανεύεις ένα μάτσο υλικά άψυχα απο πυρίτιο και να τα δείς να σου κάνουν αυτό που σκέφτηκες, δεν αγοράζεται με τίποτα. Ο κώδικας που έγραψα, είναι σε C. Για τον Arduino, έχει προσαρμοστεί με βιβλιοθήκες οι οποίες σου προσφέρουν έτοιμες ρουτίνες για να κάνεις πολλά πράγματα, όπως π.χ. να ρυθμίσεις έναν timer για να σου σκάει διακοπές σε διαστήματα που θέλεις. Ένα παράδειγμα: 

/*
 *  Timer1 library example
 *  June 2008 | jesse dot tane at gmail dot com
 */
//**************************************************  **************** 
#include "TimerOne.h"
//**************************************************  **************** 
void setup()
{
  pinMode(10, OUTPUT);
  Timer1.initialize(500000);         // initialize timer1, and set a 1/2 second period
  Timer1.pwm(9, 512);                // setup pwm on pin 9, 50% duty cycle
  Timer1.attachInterrupt(callback);  // attaches callback() as a timer overflow interrupt
}
//**************************************************  **************** 
void callback()
{
  digitalWrite(10, digitalRead(10) ^ 1);
}
//**************************************************  **************** 
void loop()
{
  // your program here...
}

//**************************************************  **************** 

Παρατήρησε οτι η δομή του κώδικα είναι σε C. Η διαφορά όμως εδώ, είναι οτι υπάρχουν συγκεκριμένες ρουτίνες - πυλώνες του προγράμματος, όπως η setup() και η loop() που είναι στάνταρ για όλα τα σκετσάκια (έτσι λέγονται τα προγράμματα για κώδικα Arduino) για τις οποίες δεν χρειάζεται να ασχοληθείς καθόλου, πέραν αυτών των βασικών που πρέπει να γράψεις για να εκτελούνται. Για παράδειγμα, στη setup() βάζεις όλες τις απαιτήσεις που έχεις για αρχικές ρυθμίσεις των modules του μ/ε, όπως των timer, του PWM, του I2C, του σειριακού, του SPI και άλλων. Τα bits των ειδικών registers ρυθμίζονται αυτόματα με αυτόν τον τρόπο. Άν δεις πιο πάνω, στη ρουτίνα setup() υπάρχουν οι γραμμές: *1) pinMode(10, OUTPUT);* αυτή εδώ σου ρυθμίζει το πινάκι 10 του Arduino σαν έξοδο. Στον PIC, πρέπει να δεις αν το πινάκι που θα χρησιμοποιήσεις είναι στον A/D, να ρυθμίσεις ADCON0 και ADCON1 για να είναι ψηφιακή έξοδος, να γράψεις τον TRISxx σαν 0 για έξοδο, να μηδενίσεις το PORTxx για low output...* 2)  Timer1.initialize(500000);* αυτή η γραμμή σου ρυθμίζει αρχικά τον Timer 1 με περίοδο 0,5 δευτερόλεπτα, τον ενεργοποιεί και τον ξεκινά. Στον PIC, πρέπει να πάς στον T2CON, να υπολογίσεις τα μπιτάκια για ενεργοποίηση, ξεκίνημα, περίοδο κι ανα κάνεις λάθος ψάχνεσαι... *3) Timer1.pwm(9, 512);* εδώ, ρυθμίζεται αυτόματα ο PWM να βγαίνει στο πινάκι 9 με 50% duty cycle. Στον PIC πρέπει να βρείς πάλι τα μπιτάκια, μετά να πάς στον ανάλογο TRIS και PORT και να τους ρυθμίσεις ξεχωριστά. *4) Timer1.attachInterrupt(callback);* εδώ, ρυθμίζεις αυτόματα μια διακοπή που θα σκάει απο τον Timer 1 και θα σου κάνει κάθε 0,5 δευτερόλεπτα το πινάκι 10 να αναβοσβήνει (αν βάλεις ένα LED. Φαντάσου τώρα λοιπόν, ένα τέτοιο προγραμματάκι των 5 γραμμών, να το γράψεις για τον PIC: Θα είναι μεγαλύτερο και θα θές και περισσότερο ψάξιμο για τις ρυθμίσεις. Εσύ κάνεις compilation με τον CCS και θές και programmer, ενώ εδώ φορτώνεις το πρόγραμμα με ένα USB καλώδιο! Πήγαινε εδώ http://www.arduino.cc/en/Main/Software και κατέβασε την έκδοση για Windows. Μετά άνοιξε αυτό εδώ 


```
#include <Keypad.h>
#include <LiquidCrystal.h>
#include <WString.h>
#include <EEPROM.h>
//****************************************************************************************************
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
//****************************************************************************************************
#define RIGHT 0
#define UP    1
#define DN    2
#define LEFT  3
#define MENU  4
#define MAX_DIMENSION 350
//****************************************************************************************************
int pingPin = 12;
int inPin = 13;
float volume;
long free_volume;
long duration, inches, cm;
float length, height, width;
byte screen = 2;
byte lastScreen = 4;
const int DEBOUNCE_DELAY = 50;
byte screenRefresh = 120;
long dimension_buffer = 0;
int hundrends;
int tenths;
int units;
//****************************************************************************************************
//Key message
int adcKeyIn;
int NUM_KEYS = 5;
int key=-1;
int oldKey=-1;
int  adcKeyVal[5] ={30, 150, 360, 535, 760 };

//****************************************************************************************************
byte FI[8] = {
	B01110,
	B10101,
	B10101,
	B10101,
	B01110,
	B00100,
	B00100,
	B00000
};
byte PSI[8] = {
	B10101,
	B10101,
	B10101,
	B01110,
	B00100,
	B00100,
	B00100,
	B00000
};
byte OMEGA[8] = {
	B01110,
	B10001,
	B10001,
	B10001,
	B01110,
	B00000,
	B11111,
	B00000
};
byte GAMMA[8] = {
	B11111,
	B10000,
	B10000,
	B10000,
	B10000,
	B10000,
	B10000,
	B00000
};
byte DELTA[8] = {
	B00100,
	B01010,
	B10001,
	B10001,
	B10001,
	B10001,
	B11111,
	B00000
};
byte LAMDA[8] = {
	B00100,
	B01010,
	B10001,
	B10001,
	B10001,
	B10001,
	B10001,
	B00000
};
byte KSI[8] = {
	B11111,
	B00000,
	B00000,
	B01110,
	B00000,
	B00000,
	B11111,
	B00000
};
byte PEE[8] = {
	B11111,
	B10001,
	B10001,
	B10001,
	B10001,
	B10001,
	B10001,
	B00000
};
//****************************************************************************************************
void setup() 
{
  lcd.createChar(0, FI);
  lcd.createChar(1, PSI);
  lcd.createChar(2, OMEGA);
  lcd.createChar(3, GAMMA);
  lcd.createChar(4, DELTA);
  lcd.createChar(5, LAMDA);
  lcd.createChar(6, KSI);
  lcd.createChar(7, PEE);

  lcd.begin(16, 2);
  lcd.setCursor(0,0);
  lcd.print("  TANK VOLUME   ");
  lcd.setCursor(0,1);
  lcd.print("   METER v1.0   ");
  delay(2000);
  
  length = 250;
  width = 63;
  height = 150;
  cm = 40;
}
//****************************************************************************************************
void loop()
{  
  measure_volume();
  switch (getKeyDebounce())
  {
    case MENU:
    showMenu();
    break;
  }  
}
//****************************************************************************************************
long microsecondsToCentimeters(long microseconds)
{
  // The speed of sound is 340 m/s or 29 microseconds per centimeter.
  // The ping travels out and back, so to find the distance of the
  // object we take half of the distance travelled.
  return microseconds / 29 / 2;
}
//****************************************************************************************************
// Convert ADC value to key number
int getKey(unsigned int input)
{
  int k;
  for (k = 0; k < NUM_KEYS; k++)
  {
    if (input < adcKeyVal[k])
    {
      return k;
    }
  }
  if (k >= NUM_KEYS)
    k = -1;     // No valid key pressed
  return k;
}
//****************************************************************************************************
int getKeyDebounce() 
{
  // wait for no keypress, then return keypress held for debounce period
  adcKeyIn = analogRead(0);    // read the value from the sensor  
  key = getKey(adcKeyIn);		        // convert into key press
  do 
  {
    key = getKey(analogRead(0));
  } while (key != -1);
  oldKey = key;
  while (oldKey == -1 || key == -1 || key != oldKey) 
  {
    oldKey = key;
    delay(DEBOUNCE_DELAY);
    key = getKey(analogRead(0));
  }
  return key;
}

//****************************************************************************************************
void showMenu() 
{
  boolean inMenu = 0;
  
  lcd.clear();
  lcd.setCursor(0, 0); lcd.print("PROGRAMMING");
  lcd.setCursor(0, 1); lcd.print("TANK DIMENSIONS");
  
  lastScreen = 100;
  
  delay(2000);
  
  while (inMenu == 0)
  {
    if ((screen == 0)&&(lastScreen != 0))
    {
      lcd.clear();
      lcd.print("WIDTH");
      lastScreen = 0;
    }
    if ((screen == 1)&&(lastScreen != 1))
    {
      lcd.clear();
      lcd.print("LENGTH");
      lastScreen = 1;
    }
    if ((screen == 2)&&(lastScreen != 2))
    {
      lcd.clear();
      lcd.print("HEIGHT");
      lastScreen = 2;
    }
    switch (getKeyDebounce())
    {      
      case UP:
        if (screen != 0)
          screen++;
        break;
      case DN:
        if (screen != 3)
          screen--;
        break;
      case MENU:
        inMenu = 1;
        break;    
    }        
  }  
  if (screen == 0) setDimension();
  if (screen == 2) showOptionsMenu();
  lcd.clear();  
  screenRefresh = 120;
}
//****************************************************************************************************
void showOptionsMenu() 
{  
  boolean inMenu = 0;
  byte menuItem = 0;
  byte lastItem = 1;
  
  while (inMenu != 1) 
  {
    
    if ((menuItem == 0)&&(lastItem != 0))
    {
      lcd.clear();
      lcd.print("1.1");
      lastItem = 0;
    }
    if ((menuItem == 1)&&(lastItem != 1))
    {
      lcd.clear();
      lcd.print("1.2");
      lastItem = 1;
    }
    if ((menuItem == 2)&&(lastItem != 2))
    {
      lcd.clear();
      lcd.print("1.3");
      lastItem = 2;
    }
    switch (getKeyDebounce())
    {    
    case UP:
      if (menuItem != 0)
        menuItem++;
      break;
    case DN:
      if (menuItem != 3)
        menuItem--;
      break;
    case RIGHT:
      if (menuItem == 0) 
      {
         //EEPROM.write(3,(byte)timeZone);
      }
      if (menuItem == 1) 
      {
         //EEPROM.write(3,(byte)timeZone);
      }
      if (menuItem == 2) 
      {
         //EEPROM.write(3,(byte)timeZone);
      }
      if (menuItem == 3) 
      {        
        //EEPROM.write(3,(byte)timeZone);
      }
      lastItem = 100;
      break;
    case LEFT:
      if (menuItem == 0) 
      {        
        //EEPROM.write(0,(byte)useCurrentSpeed);
      }
      if (menuItem == 1) 
      {        
        //EEPROM.write(1,(byte)useDirections);
      }
      if (menuItem == 2) 
      {
        //EEPROM.write(2,(byte)useAbsoluteHeadings);
      }
      if (menuItem == 3) 
      {
        //EEPROM.write(3,(byte)timeZone);
      }
      lastItem = 100;
      break;
    case MENU:
      inMenu = 1;
      break;  
    }    
  }  
  //showMenu();  
}
//****************************************************************************************************
void measure_volume()
{
// The PING))) is triggered by a HIGH pulse of 2 or more microseconds.
  // Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
  pinMode(pingPin, OUTPUT);
  digitalWrite(pingPin, LOW);
  delayMicroseconds(2);
  digitalWrite(pingPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(pingPin, LOW);

  // The same pin is used to read the signal from the PING))): a HIGH
  // pulse whose duration is the time (in microseconds) from the sending
  // of the ping to the reception of its echo off of an object.
  pinMode(inPin, INPUT);
  duration = pulseIn(inPin, HIGH);

  // convert the time into volume
//  cm = microsecondsToCentimeters(duration);=============================================================================================>>>>>>>>>>>>>>>>>>>>>>
  volume = (((height-cm)*length * width)/1000);
  
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(volume);
  lcd.print(" LITERS"); 
  if(volume <=150.00)
  {
    lcd.setCursor(0, 1);
    lcd.print("FUEL LOW - ADD");   
  }  
  if((volume >150.00) && (volume <= 1800.00))
  {
    lcd.setCursor(0, 1);
    lcd.print("NORMAL     ");   
  }  
  if((volume >1800.00) && (volume<= 2100.00))
  {
    lcd.setCursor(0, 1);
    lcd.print("FULL       ");   
  }  
  if(volume >2100.00)
  {
    lcd.setCursor(0, 1);
    lcd.print("WARNING-OVERFLOW");   
  }  
  delay(100);  
}  
//****************************************************************************************************
void setDimension()
{
  lcd.print("SET DIMENSION");
}
```


 Είναι χωρίς σχόλια αλλά θα χρειαστείς οθόνη και κουμπιά. Η γνώμη μου είναι να κάνεις απλά πράγματα πρώτα για να μπείς στην ουσία. Για ό,τι θέλεις, εδώ είμαι!!!

----------

sv4lqcnik (19-04-11)

----------


## manolena

Έχω εδώ μια μετατροπή της μονάδας υπερήχων απο SMD σε συμβατικά εξαρτήματα through hole για κάποιον που θα ήθελε να φτιάξει το μοντουλάκι αυτό μόνος του και χωρίς πολύ κόπο. Το σχηματικό και η πλακέτα διπλής όψης είναι στα συνημμένα, όπως και ο κώδικας για τον μικρούλη 12C508 (σε aasembly). Δουλεύει ακριβώς όπως και το SMD μοντουλάκι με μια απλή τροφοδοσία απο 9-25VDC. Έχω προσθέσει ένα παλμοτροφοδοτικό με το MC34063 και είναι πιο ευέλικτο στην τροφοδοσία του. Επίσης, έχει ακόμη τα δυο ίδια σήματα TRIG και ECHO του πραγματικού SRF04. Η πλακέτα είναι 3,27 φορές μεγαλύτερη απο τις κανονικές διαστάσεις.


```
;////////////////////////////////////////////////////////////////////////////
;//
;//	Ultrasonic rangefinder Software 
;//
;//	Private and Educational use only is permitted
;//	Commercial use of this software is prohibited.
;//
;////////////////////////////////////////////////////////////////////////////


	processor	12c508
	__config	0feeh		; Internal Osc, WDT Enabled, not code protected
	include	"p12c508.inc"
#define	RAMSTART 07h

	radix	dec

#define trig	GPIO,0		; trigger input from host
#define	pulse	GPIO,1		; timing pulse output to host
#define	echo	GPIO,2		; echo signals from comparitor
#define  nc	GPIO,3		; Unused - do not connect.
#define	tx2	GPIO,4		; Tx phase 2
#define	tx1	GPIO,5		; Tx phase 1

#define _C	STATUS,C

;/////////////////////////////////////////////////////////////////////////////

	org	RAMSTART

loop		res	1	; loop counter
dlyctr		res	1	; delay counter
tone_cnt	res	1	; count echo cycles
period		res	1	; received burst cycle period from tmr0

;/////////////////////////////////////////////////////////////////////////////

	org     0       	;start address 0

	movwf	OSCCAL		; use microchip's calibration value

	movlw	89h
	option			;assign 1:2 prescaler to watchdog

	movlw	0dh
	tris	GPIO		;GPIO 1, 4 & 5 are outputs
	movwf	0

	bcf	pulse

;////////////////////////////////////////////////////////////////////////////
;
; The main loop controls the range finder. In response to a low going trigger
; input, its calls "burst" to send out 8 cycles of 40khz. It then raises the
; pulse line so the host can begin timing.
; There is a choice of two tone detect routines, the simplest is currently set.
; It then clears the output pulse so the host can complete timing, and loops
; around to wait for the next cycle.
; If an echo is not detected then the watchdog timer will reset the PIC after
; about 30mS, and the pulse line will be cleared. Therefore a very long pulse
; should be interpreted as "nothing detected"

main:	clrwdt
	btfss	trig		; wait for trigger signal from user to go high
	goto	main		; from previous measurement.

m2:	clrwdt
	btfsc	trig		; wait for trigger signal from user
	goto	m2

	call	burst		; send the ultra-sonic burst
	bsf	pulse		; start the output timing pulse
	
; OK, here's the cheap-n-easy way to detect the echo, just wait for a transition
; on the echo line. Though not really detecting a tone, it is very effective.
; The transducers provide the selectivity.
 
m1:	btfsc	echo
	goto	m1		; wait for low
	bcf	pulse		; end the output timing pulse

; And here is the "proper" tone detecter. It detects 3 cycles of 40khz to
; give a valid output. It works but is still experimental. It is not as effective
; as just detecting the first edge, particually in the first few cm.
;
;	call tone		; validate 3 cycles of 40khz
;	bcf	pulse		; end the output timing pulse
;

	goto	main

;////////////////////////////////////////////////////////////////////////////
;
; The burst routine generates an acurately times 40khz burst of 8 cycles.
; Since a 4Mhz PIC (1uS instruction rate) cannot gerenate timings of less
; than 1uS, the high half cycle is 12uS and the low half cycle 13uS.
; That's good enough.

burst:	clrf	loop
	movlw	8		; number of cycles in burst
	movwf	loop

burst1:	movlw	0x10		; 1st half cycle
	movwf	GPIO

	movlw	3		; (3 * 3inst * 1uS) -1uS = 8uS 
	movwf	dlyctr		; 8uS + (4*1uS) = 12uS
burst2:	decfsz	dlyctr,f
	goto	burst2

	movlw	0x20
	movwf	GPIO
	movlw	2		; (2 * 3inst * 1uS) -1uS = 5uS 
	movwf	dlyctr		; 5uS + (8*1uS) = 13uS
burst3:	decfsz	dlyctr,f
	goto	burst3
	nop
	decfsz	loop,f
	goto	burst1

	movlw	0x00		; set both drives low
	movwf	GPIO

	retlw	0

;////////////////////////////////////////////////////////////////////////////
;
; The timing for this routine is critical. Our little PIC is only chugging
; along at 4Mhz, or 1uS per instruction. The longest path though this code
; is 19uS, out of the 25uS available - thats tight and why I only wait for a
; low on the echo line and not a high as well.

tone:	clrf	TMR0

t1:	btfsc	echo
	goto	t1		; wait for low

	movfw	TMR0
	clrf	TMR0
	movwf	period		; store timer0 value

	movlw	21		; if(period>22 && period<30) 
	subwf	period,w
	btfss	_C
	goto	t2
	movlw	30
	subwf	period,f
	btfsc	_C
	goto	t2

	decfsz	tone_cnt,f	; 25uS period OK, so 
	goto	t1		; if not yet 3 of them, keep looking
	retlw	0		; else - success - return
	
t2:	movlw	3		; failed to detect 25uS period, so reset tone detect
	movwf	tone_cnt	; to 3 and keep looking
	goto	t1

;////////////////////////////////////////////////////////////////////////////

	end

;////////////////////////////////////////////////////////////////////////////
```

----------


## manolena

Μετά απο 1,5 περίπου χρόνο και με συνεχείς δοκιμές και βελτιώσεις πάνω σε αυτή την ιδέα, επανέρχομαι 
για να προσθέσω και να μοιραστώ με εσάς κάποια καινούρια πράγματα στο project αυτό.

Όλο τον προηγούμενο καιρό, η ανάπτυξη έγινε με τη βοήθεια ενός Arduino 1280, μιας shield με LCD και 
αναλογικό πληκτρολόγιο και κάποια περιφερειακά που προσέθεταν στο σύνολο κάποιες βοηθητικές
λειτουργίες. Έτσι λοιπόν, αποφάσισα όλα αυτά μαζί να τα τοποθετήσω σε ένα κουτί και να προσθέσω μερικά
λειτουργικά χαρακτηριστικά, ώστε το σύνολο να γίνει ευκολότερο στη χρήση και -γιατί όχι;- εως και 
εμπορεύσιμο.

Η κατασκευή σχεδιάστηκε απο την αρχή σε δική της πλέον πλακέτα, με κεντρικό εξάρτημα έναν ATmega328
με bootloader για να μπορεί να συμπεριφέρεται ακριβώς όπως ένας Arduino UNO με 32Kb flash και με όλα τα 
εξωτερικά περιφερειακά (RTC, Temp sensor, εξωτερική EEPROM, σειριακή πόρτα) συμμαζεμένα στην ίδια 
πλακέτα. Σχεδιάστηκε επίσης και ένα αποσπώμενο πληκτρολόγιο με 6 κουμπιά σε μορφή πληκτρολογίου
πλοήγησης, ώστε να μπορεί ο χρήστης να "περιφέρεται" στα μενού άνετα και να επιλέγει λειτουργίες.

Κατ' αρχήν, μερικές φωτογραφίες απο το καινούριο hardware:



Η πλακέτα που φαίνεται, τυπώθηκε σε 2 πρωτότυπα. Περιλαμβάνει μόνο τα βασικά, χωρίς RTC, θερμόμετρο,
EEPROM. Το πληκτρολόγιο φαίνεται ξεχωριστά και όπως μπορεί κάποιος να παρατηρήσει, αποτελείται απο SMD 
και through hole εξαρτήματα. Τα κουμπιά που φαίνονται είναι της MEC και είναι καταπληκτικά για navigational
keyboard. Το κουτί είναι απο ABS της RETEX.

----------

GeorgeVita (09-12-12), 

spiroscfu (03-08-12)

----------


## manolena

Η επόμενη πλακέτα που έχει εξελιχθεί πλέον με όλα τα βοηθητικά που αναφέρονται πιο πάνω,
είναι αυτή:



Είναι φτιαγμένη σε ένα LPKF Protomat40 και μόλις συμπληρωθεί με τα εξαρτήματα, θα γίνει
πράσινη. 

Ταυτόχρονα με την ανάπτυξη του harware, έγινε και η εξέλιξη του λογισμικού. Προστέθηκαν
μενού με διάφορες λειτουργίες, όπως η μέτρηση του όγκου του πετρελαίου σε λίτρα αλλά
και σε εκατοστά του μέτρου απο τον πυθμένα της δεξαμενής, μέτρηση θερμοκρασίας, 
μέτρηση ταχύτητας ηχητικού κύματος σε σχέση με τη θερμοκρασία, ώρα/ημερομηνία, 
προγραμματισμός 3 διαστάσεων έως και 999 εκατοστά, στάμπα ημερομηνίας ανεφοδιασμού
και ποσότητας ανεφοδιασμού και άλλα. Μερικές φωτογραφίες ακολουθούν...

----------


## manolena

Τα 3 κύρια μενού περιλαμβάνουν την ανάγνωση των ενδείξεων (όγκου, θερμοκρασίας,
ώρας/ ημερομηνίας, ταχύτητας ήχου, προγραμματισμένων διαστάσεων), τον έλεγχο του
συστήματος (ηχητικό alarm για χαμηλή στάθμη καυσίμου, οπίσθιος φωτισμός LCD) και 
ρυθμίσεις συστήματος, όπως διαστάσεων, ώρας/ ημερομηνίας.

Όπως μπορείτε να δείτε, η ανάγνωση του όγκου του καυσίμου παρουσιάζεται σε εκατοστά
απο τον πυθμένα της δεξαμενής και σε λίτρα, με ταυτόχρονη ένδειξη στην πάνω γραμμή
της οθόνης σε μπάρα %. Υπάρχουν επίσης και ενδείξεις alarm και ήχου  (ON ή OFF), σε 
επόμενες φωτογραφίες...

----------


## manolena

Η οθόνη των ενδείξεων προσωρινά και για τις ανάγκες της ανάπτυξης, είναι μια 2x16 χαρακτήρων
με οπίσθιο φωτισμό που ανήκει στο shield της nuelectronics. Το κουτί που υποδέχεται εν τούτοις
τον τελικό σχεδιασμό, έχει προβλεφθεί για οθόνη 4x20 χαρακτήρων. Αργότερα, φωτογραφίες θα
ακολουθήσουν.

----------


## spiroscfu

> ώστε το σύνολο να γίνει ευκολότερο στη χρήση και -γιατί όχι;- εως και 
> εμπορεύσιμο.



Μάνο συγχαρητήρια και είμαι σίγουρος πως θα είναι αρκετά καλύτερο από πολλά της αγοράς,
για αυτό βουρ διαφήμιση !!

----------

manolena (03-08-12)

----------


## picdev

μπράβο πολύ καλή δουλειά και τη πλακέτα σου πολύ καλή, πως την έκοψες όμως τόσο ίσια ? με οδηγό τη κόβεις ?

----------


## manolena

> Μάνο συγχαρητήρια και είμαι σίγουρος πως θα είναι αρκετά καλύτερο από πολλά της αγοράς,
> για αυτό βουρ διαφήμιση !!



Χαχαχαα!!! Μπα, βρε Σπύρο δεν μπορώ να κάνω και πολλά πράγματα... Μακάρι να υπήρχαν τα μέσα (δηλαδή ΤΟ μέσον



και θα σου έλεγα τότε... Για αυτό και η καθυστέρηση...

----------

spiroscfu (03-08-12)

----------


## spiroscfu

Και αυτό πολύ σωστό Μάνο, τι να τα κάνεις τα μέσα αν δεν έχεις ΤΟ μέσον !!!!

----------


## manolena

> μπράβο πολύ καλή δουλειά και τη πλακέτα σου πολύ καλή, πως την έκοψες όμως τόσο ίσια ? με οδηγό τη κόβεις ?



Άκη, έχω την καλή τύχη να μπορώ να δουλεύω ένα CNC της LPKF (δες το link παραπάνω) και το σχέδιο που κάνω στο Altium το κόβω αμέσως
σε πλακέτα. Η κοπή γίνεται με router 2mm σε τέλειες ευθείες και γωνίες 90°. Η δε αποτύπωση του σχεδίου με χάραγμα είναι άψογη. Βέβαια,
το μηχάνημα δεν είναι για χομπίστες, κοστίζει 15.000€ αλλά είμαι τυχερός που καμμιά φορά μπορώ να το χρησιμοποιώ...

----------


## picdev

πάρε απο τη κίνα καμιά δεκαριά προτότυπα που είναι πολύ φτηνά και βάλτα για αρχή στο ebay και βλέπεις.
ρώτα και τον *moutoulos*  , εχω δει οτι έχει κάνει ανάλογο , περιμένω να μας πει αν έβγαλε λεφτά

----------


## picdev

> Άκη, έχω την καλή τύχη να μπορώ να δουλεύω ένα CNC της LPKF (δες το link παραπάνω) και το σχέδιο που κάνω στο Altium το κόβω αμέσως
> σε πλακέτα. Η κοπή γίνεται με router 2mm σε τέλειες ευθείες και γωνίες 90°. Η δε αποτύπωση του σχεδίου με χάραγμα είναι άψογη. Βέβαια,
> το μηχάνημα δεν είναι για χομπίστες, κοστίζει 15.000€ αλλά είμαι τυχερός που καμμιά φορά μπορώ να το χρησιμοποιώ...



α έτσι εξηγήται το τέλειο αποτέλεσμα, καλά εχεις τέτοιο μηχάνημα και πληρώνεις έξω τις πλακέτες? μάλιστα οταν σε ειχα ρωτήσει μου είχες πει 100ε μια πλακέτα μονής όψης.
εγώ βρήκα στη γειτονιά μου ένα μαγαζί που φτιάχνει διαφημιστικές πινακίδες και έχει 2 cnc ενα laser και ενα κανονικό. Μου έκοψε ενα plexiglass 5ε με laser και δωρεαν στο απλό.
Θα τα πηγαίνω εκεί τα κουτιά

----------


## manolena

> πάρε απο τη κίνα καμιά δεκαριά προτότυπα που είναι πολύ φτηνά και βάλτα για αρχή στο ebay και βλέπεις.
> ρώτα και τον *moutoulos*  , εχω δει οτι έχει κάνει ανάλογο , περιμένω να μας πει αν έβγαλε λεφτά



Τι εννοείς; Για πλακέτες πρωτότυπα λές;
Εμ, εδώ είναι το θέμα, δεν είναι δικό μου και το παρακαλάω με υποχρέωση.... Μακάρι να το είχα εγώ... Αλλά επειδή
μου αρέσει η λεπτομέρεια , τα πρωτότυπα τα πληρώνω ακριβά. Αυτά που βλέπεις πάνω είναι απο τον Δημήτρη τον
Καίσαρη, είναι πολύ καλός.

Εκείνες που με είχες ρωτήσει ήταν απο Ιρλανδία (PCB Pool), 2 τεμάχια και με κερατιάτικα σε πληρωμές!

----------


## spiroscfu

Σίγουρα θα έχει βγάλει τόσα που δεν θα ξέρει που να τα βάλει.

ebay και ελλάδα δεν κολλάνε, σε αφήνει η κίνα !!



Μάνο μπορείς να κάνεις μια ερεύνα αγοράς για το πόσο τα κοστολογούν στην ελλάδα,
μετά κτυπάς λίγο την τιμή και ψάχνεις να βρεις τους προμηθευτές.

----------


## picdev

τον ξέρω το κέσαρη, δηλαδή εχω ρωτήσει για τιμές , κανένα 20αρικο μου είχε πει,
εγραψες πιο πάνω οτι θα περάσεις και silk screen, πως θα το κάνεις ?

----------


## spiroscfu

Γίνεται απλά Άκη.

----------

manolena (03-08-12)

----------


## manolena

Οι πράσινες θα γίνουν εκεί, η πρωτότυπη είναι στο μηχάνημα. Δεν ξέρω αν είναι διαφήμηση αυτό που γράφω, αλλά
αν θές, στείλε ΠΜ να σου πώ τι κόστισαν 5+5 απο τις πράσινες που βλέπεις πάνω πάνω στο #41

----------


## picdev

ε τι διαφήμιση , έλληνας ειναι , ας βγάλει και κανένας έλληνας κανένα ευρώ οι περισσότεροι τα παίρνουν απο κινα

----------


## spiroscfu

Όπα τώρα το πρόσεξα, το video που έβαλα ποιο πάνω είναι για ποσότητες (manolena),

σε εμάς Άκη βολεύει ένα photosensitive film http://www.ebay.com/itm/photosensiti...item337879b810

----------


## vasilllis

συγχαρητηρια, ειναι πολυ καλη δουλεια.

αν παντως σκεφτεσαι για προωθηση, καλο ειναι να εχει και ψυχρη επαφη για low level.
ετσι απο περιεργεια ενα ενδεικτικο κοστος;

----------

manolena (03-08-12)

----------


## manolena

Το low level το προγραμματίζει ο χρήστης σε 2 στάθμες μέσω 2 μεταβλητών που υπάρχουν στο
μενού προγραμματισμού. Απο εκεί και πέρα, το υπέρηχο κομμάτι ειδοποιεί το πρόγραμμα και αυτό
δείχνει στην οθόνη το μήνυμα "FILL UP!" με ταυτόχρονη ηχητική ένδειξη, η οποία πάλι απο το 
μενού μπορεί να απενεργοποιηθεί ή να ενεργοποιηθεί κατά βούληση.

Όσο για το κόστος; Μεγάλο θέμα αυτό... Είναι τα πρωτότυπα ακόμα και είναι λίγο υψηλό.
Αλλά αν υποτεθεί οτι έχει γραμμή παραγωγής, μπορεί να φτάσει και κάτω απο 80€ (και
αυτό γιατί και πάλι λέω πως τα υλικά του είναι καλά, π.χ. MEC διακόπτες...)

----------


## vasilllis

χμμ.
απο τιμη παλευεται.ενδεικτικα να σου πω η αλουμινενια μπαρα με το αλφαδολαστιχο η 2μετρη εχει 120 αν θυμαμαι καλα.
ειναι δυσκολο για ψυχρη επαφη;το λεω γιατι σε οσες εφαρμογες σκεφτομαι χρειαζεται καποια ειδοποιηση οπτικη η ηχητικη ψωρις την αναγκη για καθημερινη μετρηση.

----------


## manolena

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

----------


## manolena

Η πλακέτα που σχεδιάστηκε για το ανανεωμένο "μετρητήρι" δεξαμενής πετρελαίου με υπέρηχους,
υποστηρίζει εκτός του ATmege328P που εκτελεί όλες τις ρουτίνες του προγράμματος και 2 ακόμα
σημαντικά εξαρτήματα της ST Microelectronics και 1 της National Semiconductor (νυν Texas
Instruments): ένα ρολόϊ πραγματικού χρόνου το Μ41Τ80, μια μνήμη M24C01  του 1 Kbit και ένα
θερμόμετρο, το LM75A, όλα πάνω στο bus του I²C σε σειριακή επικοινωνία. Έτσι, υπάρχει διαθέσιμη 
ώρα/ ημερομηνία, θερμοκρασία περιβάλλοντος που χρησιμοποιείται για να διορθώσει η συσκευή 
αυτόματα το offset της ταχύτητας του ήχου που εκπέμπει ο αισθητήρας ανάλογα με τη θερμοκρασία 
και χώρος για αποθήκευση κάποιων πληροφοριών, όπως χρονική στάμπα για τον τελευταίο ή τους 
τελευταίους ανεφοδιασμούς, ποσότητες καυσίμου και άλλα. Επίσης, έχει προβλεφθεί και ένας 
μετατροπέας TTL σε RS232, ο ADM202 της Analog Devices για επικοινωνία με έναν υπολογιστή.

 

Υπάρχει χώρος για μια μικρή μπαταρία που βοηθά το ρολόϊ να μην χάνει τις ρυθμίσεις
ώρας/ ημερομηνίας και ένας μικρός passive buzzer για τις ηχητικές ειδοποιήσεις και τα
"μπίπ" του πληκτρολογίου.

----------

patent61 (05-08-12)

----------


## limas

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

----------

manolena (06-08-12), 

patent61 (05-08-12)

----------


## manolena

Καλησπέρα σε όλους και καλό Φθινόπωρο.

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






Edit: Παιδιά, συγνώμη για το τρίξιμο, θα πετάξω την καρέκλα!!!

----------

aktis (09-12-12), 

edgar (29-08-12), 

GeorgeVita (29-08-12), 

rep (01-09-12), 

spiroscfu (02-09-12)

----------


## edgar

> Edit: Παιδιά, συγνώμη για το τρίξιμο, θα πετάξω την καρέκλα!!!



WD40, κανει θαυματα σε καρεκλες γραφειου που τριζουν!
επισης φανταστικη δουλεια.

----------

manolena (29-08-12)

----------


## limas

Συγχχαρητήρια!

----------

manolena (30-08-12)

----------


## manolena

Το video αυτό δείχνει την κύρια πλακέτα με τα εξαρτήματα SMD και Through hole, καθώς και 
τη θέση που παίρνουν η οθόνη και το πληκτρολόγιο. Για τη μεν οθόνη χρησιμοποιήθηκαν και
δικοί της χαρακτήρες αλλά και custom για μερικά απο τα σύμβολα. Το πληκτρολόγιο είναι 
αναλογικό για την οικονομία των pins του controller.

----------

GeorgeVita (01-09-12), 

p.gabr (01-09-12)

----------


## manolena

Το σχηματικό της κατασκευής είναι το παρακάτω:

----------

GeorgeVita (01-09-12), 

p.gabr (01-09-12), 

spiroscfu (02-09-12)

----------


## limas

> Το σχηματικό της κατασκευής είναι το παρακάτω:



Μπράβο που το δίνεις έτσι ανοικτά! Από την πρώτη στιγμή που είδα το project σου μου άρεσε πολύ. Εγώ σκεφτόμουν για κάτι παρόμοιο, που να χρησιμοποιεί υπερήχους, αλλά για να μην "σκίτσουμε" το θέμα σου, που είναι τόσο ενδιαφέρον αν θέλεις σου στέλνω ένα pm :Wink:

----------


## manolena

Συμπληρωματικά, θέλω να αναφέρω το εξής link:

http://www.flowline.com/technology.php

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

----------


## picdev

> Συμπληρωματικά, θέλω να αναφέρω το εξής link:
> 
> http://www.flowline.com/technology.php
> 
> Έχει πάρα πολλές αναφορές, πληροφορίες, μεθόδους, ακόμα και τιμές αγοράς συστημάτων
> που έχουν την ίδια αρχή λειτουργίας. Είμαι ευτυχισμένος που τούτο εδώ το πραγματάκι
> κάνει τα ίδια με πολύ μικρό κόστος!!!



το έχω ξαναπεί οτι υπάρχουν άνθρωποι και μυαλά στο forum που μπορούν να ανταγωνιστούν στα ίσα τέτοιες εταιρείες, σκέψου μόνο πόσες μεμονομένες κατασκευές κάνουμε ο καθένας μονος του, 
σκέψου τώρα 5-10 άτομα να καθόντουσαν σε ενα τραπέζι... κρίμα για την Ελλάδα μας τόσα μυαλά που έχουμε,
αυτές οι εταιρείες έχουν αρκετούς μηχανικούς στο τμήμα R&D και φυσικά λεφτά , είναι πραγματικά κρίμα , δεν ξέρω αν γίνεται να δημιουργηθείς κάποιου είδους συνεταιρισμός που να παρέχει διευκολύνσεις
πιστοποιήσεις CE , διαδηκαστικά κτλ, τώρα να πω οτι περιμένω να βοηθήσει κανένας κυβερνώντας :Lol:

----------

manolena (02-09-12)

----------


## manolena

Τα χαρακτηριστικά του project:


● Μικροελεγκτής ATmega328P στα 16ΜΗz
● Οθόνη 4 γραμμών, 20 χαρακτήρων LCD 
● Αναλογικό πληκτρολόγιο με διακόπτες MEC (NaviMEC) για πλήρη πλοήγηση στα μενού
● Μέτρηση όγκου δεξαμενής με υπέρηχους (ασφαλής και για καύσιμο)
● Μέτρηση θερμοκρασίας σε °C ή °F, χρησιμοποιείται για αυτόματη διόρθωση της υπερηχητικής
   δέσμης ανάλογα με τη θερμοκρασία
● Ώρα-Ημερομηνία πραγματικού χρόνου σε μνήμη EEPROM (δεν χάνει ρυθμίσεις με διακοπή τάσης)
● Ένδειξη στάθμης ρευστού σε εκατοστά και λίτρα ανάλογα με τις προγραμματισμένες διαστάσεις
● Ένδειξη στάθμης ρευστού σε γράφημα μπάρας για την παρούσα ποσότητα ρευστού
● Ένδειξη ταχύτητας υπερήχων ανάλογα με την επικρατούσα θερμοκρασία περιβάλλοντος, λόγω αυτής
   μπορεί να χρησιμοποιηθεί και σε εξωτερικούς χώρους, όλες τις εποχές χωρίς να αλλάζει η εμφανιζόμενη
   μετρημένη ποσότητα του ρευστού
● Ηχητική ειδοποίηση (προγραμματιζόμενη) για χαμηλή στάθμη ρευστού
● Τροφοδοσία με απλό pack 12VDC ή απο άλλη πηγή σταθερής συνεχούς τάσης
● Ακρίβεια μέχρι 0.1 εκατοστό και ανάλογη σε λίτρα
● Προγραμματισμός διαστάσεων δεξαμενής με μέγιστα μήκος, πλάτος, ύψος 3x499 εκατοστά
   ή 124.251 λίτρα
● Προγραμματισμός ορίου ειδοποίησης για χαμηλή στάθμη σε 20 βήματα
● Προγραμματισμός εισερχόμενης ποσότητας 
● Προγραμματισμός-ρύθμιση ώρας και ημερομηνίας
● Δυνατότητα προσαρμογής προγράμματος για μέτρηση όγκου ρευστού σε όρθια κυλινδρική δεξαμενή
● Προεραιτικά, δυνατότητα διασύνδεσης με PC για ανάκτηση δεδομένων απο τη μνήμη (ποσότητες, χρονική στάμπα ανεφοδιασμού)

----------


## p.gabr

ΜΑΝΟ θυμήθηκα την ωραία σου κατασκευή
  ΑΛΛΑ ΄΄ που είναι το πετρέλαιο να το μετρήσουμε; Ούτε για εντριβή δεν υπάρχει

  Παίρνει καμιά μετατροπή, για ογκομετρηση ξύλου  ;; :Rolleyes:  :Rolleyes:

----------

manolena (08-12-12)

----------


## manolena

Άστα να πάνε αγαπητέ Παναγιώτη... Και να γινόταν αυτό, δεν ξέρω πως θα μπορούσε να καταλάβει την κλεψιά
με τόσο νερό που τρώνε τα ξύλα πριν πουληθούν...

----------


## spiroscfu

Έβαλα χθες "μαύρο χρυσό" και ακόμη με τσούζει, Μάνο προχώρα το σε ανιχνευτή κλεψιάς και είμαι σίγουρος πως θα ξεπουλήσεις !!!!!

----------

manolena (09-12-12)

----------


## manolena

Έχω κάνει βενζινά να παραδέχεται πως αυτό εδώ μετράει ακριβώς ό, τι μπαίνει στη δεξαμενή. Έπαθε πλάκα ο τύπος!!! Ευτυχώς όμως, είναι στην "καλή πλευρά" και είμαστε και οι δύο ευχαριστημένοι...

----------


## makatas

Καλημέρα Μάνο, το θέμα μου είχε ξεφύγει.
Βασικά με έχει αφήσει άφωνο η υλοποίηση, η ποιοτική δουλειά και το τελικό αποτέλεσμα. Όπως είπαν και οι άλλοι, μάλλον θα έπρεπε να το δεις εμπορικά (αν δεν έχει αντιγραφεί ήδη και πωλείται από άλλους).
Θερμά συγχαρητήρια από εμένα!

----------

manolena (09-12-12)

----------


## Scotty

Να πω και εγω ενα ΜΕΓΑΛΟ *"Bravo zulu"* στον συναδελφο για την εφευρετικότητα του την ποιότητα της κατασκευης , καθως και την κατανοητή επεξήγηση του ολου project .

----------

manolena (09-12-12)

----------


## aktis

Μάνο πολύ καλό , συγχαρητήρια . Έχεις μετρήσει την ανάλυση  που έχει στην πράξη ( πχ  χ λίτρα σε δεξαμενή από ψ λίτρα  ) 
Δεν ξέρω από τέτοιες συσκευές αλλά σε ζυγαριές θυμάμαι υπήρχαν κλάσεις ακριβείας 1/3000 
και ( μπορεί να κάνω λάθος σε αυτό ) 5000 και 10000 υποδιαιρέσεις για εμπορική χρήση 

Δοκίμασες γραμμικότητα και επαναληψιμότητα ; πχ. προσθέτεις α λίτρα κάθε λίγο , ανεβαίνει γραμμικά ;  
Αν αφαιρείς πηγαίνει στα προηγούμενα επίπεδα ; 

Φαντάζομαι μπορεί να μπει και σε ρεζερβουάρ αυτοκινήτου ... ! ίσως ειναι πιο χρήσιμο απο δεξαμενή σπιτιού !!!
Κάποιος φιλος μου ειχε πει οτι το αυτοκινητο του μέτραγε λίτρα όταν έβαζες βενζινη , ενα megane ήταν νομίζω αλλα δεν το εχω ψαξει ....

----------


## manolena

Η συσκευή Χρήστο δουλεύει αξιόπιστα για σχεδόν 2 χρόνια σε δύο δεξαμενές πετρελαίου. Η ακρίβειά της εξαρτάται απο τις διαστάσεις της δεξαμενής (όσο πιο μεγάλη είναι, τόσο σφάλμα εισέρχεται). Παρά ταύτα όμως, φαντάσου πως σε μια δεξαμενή περίπου 2200 λίτρων έχει ακρίβεια +/- 20 λίτρα! Είναι αξιοθαύμαστη η ακρίβειά της για τέτοιο μέγεθος! Έχει δοκιμαστεί η γραμμικότητά της σε κάθε ανεφοδιασμό αλλά και σε περσινό καθαρισμό της δεξαμενής, κατά τον οποίο έπρεπε να αφαιρεθεί το υπολειπόμενο καύσιμο.
Δεν κάνει σίγουρα για ρεζερβουάρ αυτοκινήτου, κρίμα! Ο λόγος είναι γιατί το σχήμα ενός ρεζερβουάρ δεν είναι τέλεια κυβισμένο για να γίνουν οι πράξεις στο πρόγραμμα που εκτελεί η συσκευή. Θα μπορούσε να γίνει αυτό αλλά απαιτεί πολύπλοκες πράξεις ολοκλήρωσης (υπολογισμοί εμβαδού με ολοκληρώματα κ.τ.λ.), πράγμα που θέλει μεγάλη επεξεργαστική ισχύ.
Ο σκοπός εδώ ήταν να υπάρχει μια σαφής ένδειξη της ποσότητας καυσίμου σε μια κυβισμένη δεξαμενή, σαν κι αυτές που συνήθως κατασκευάζονταν απο λαμαρίνα. Επίσης, να δίνει μια ένδειξη τέτοια που να μπορεί να γίνει κατανοητή με αριθμούς απο τον καθένα, χωρίς να χρειάζεται να μπαίνουν βέργες μέτρησης, αλφαδολάστιχα, κομπιουτεράκια και άλλα τέτοια που φρικάρουν τους παππούδες που αντιμετωπίζουν μερικούς μάγκες πετρελαιάδες...

----------


## manolena

> ...Φαντάζομαι μπορεί να μπει και σε ρεζερβουάρ αυτοκινήτου ... ! ίσως ειναι πιο χρήσιμο απο δεξαμενή σπιτιού !!!
> Κάποιος φιλος μου ειχε πει οτι το αυτοκινητο του μέτραγε λίτρα όταν έβαζες βενζινη , ενα megane ήταν νομίζω αλλα δεν το εχω ψαξει ....



Χρήστο, για να είναι εφαρμόσιμο σε μια τέτοια περίπτωση, θα πρέπει να γίνουν κάποιες αλλαγές στο ρεζερβουάρ, καθώς και στο σύστημα με το οποίο γίνεται η μέτρηση. Η δική μου συσκευή, έχει τη φιλοσοφία της μη φυσικής εμπλοκής με το καύσιμο με κανέναν τρόπο οποιουδήποτε ηλεκτρικού τμήματος, τάσης, εξαρτήματος για προφανέστατους λόγους (κίνδυνος πυρκαγιάς απο ηλεκτρική αιτία). 
Μπορεί λοιπόν να εισαχθεί στο ρεζερβουάρ ένα μετρητικό στέλεχος με χωρητική μεταβολή, δηλαδή ένας "πυκνωτής", που θα χρησιμοποιεί το ίδιο το καύσιμο σαν διηλεκτρικό. Με αυτό τον τρόπο, η μεταβολή της στάθμης του καυσίμου θα μεταβάλλει και τη χωρητικότητα του "πυκνωτή", οπότε με μια εξωτερική διάταξη που θα επεξεργάζεται αυτή την είσοδο (signal conditioner) και με μια απλή καταγραφή ακριβείας για πολλές στάθμες καυσίμου που αντιστοιχούν σε διαφορετικές χωρητικότητες, θα δίνει μια ένδειξη καυσίμου που πρακτικά θα είναι ανεξάρτητη απο το σχήμα του ρεζερβουάρ. 
Όλο αυτό βέβαια, προϋποθέτει σοβαρή μελέτη και ενασχόληση γιατί όπως καταλαβαίνεις, μπλέκει πολλή επιστήμη!

----------


## p.gabr

Μάνο με όλο το θάρρος ,άλλη μια παρεμβολή


Επειδή οι καιροί είναι δύσκολοι, έχουμε και αυτήν την επιλογή






















Από το βιβλίο επιβίωσης της SAS
Εσύ θα φτιάχνεις τα ΜΙΧ  :Thumbup1:

----------

manolena (10-12-12)

----------


## aktis

Μάνο , επειδή είχα ασχοληθεί στο παρελθόν με διακρίβωση σε γεφυροπλάστιγγες , η ακρίβεια μετριέται σε πολλαπλάσια της υποδιαίρεσης που έχει το όργανο σου
Αν λες λοιπόν οτι έχεις ακρίβεια 0.1 cm  / 1 m μέτρησης ( κλαση ΙΙΙ , 1000 υποδιαιρεσεις ) σε μια δεξαμενη 1χ1χ2  σημαίνει οτι μετράς με μονάδα τα 2 λίτρα και το σφάλμα σε αυτη την περίπτωση 
για να παρει το οργανο διακρίβωση για εμπορικη χρήση αν δεν κανω λάθος θα έπρεπε να ειναι 3 ως 5 υποδιαιρεσεις , δηλαδη 3 - 5  χ 0.1 cm 
Αν αναφέρεις ως υποδιαίρεση μέτρησης το 1cm  , ξεπερνάς αυτο το πρόβλημα με τις υποδιαιρέσεις αλλα αλλάζεις κατηγορία ακριβείας  ...
Δεν ξέρω τι ειδους σφάλματα μπαίνουν από τις ανακλάσεις υπερήχων αλλά πιστεύω επειδή εχθρός του καλού ειναι το καλύτερο !!!  θα μπορούσες να δοκιμάσεις πιθανόν και με 
microcontroller μεγαλύτερης ταχύτητας ( πχ 100 Μhz ) και με αισθητήρα θερμοκρασίας +/- 0.5 C.

Οσο για το είδος της δεξαμενής , άσχετα με το σχήμα της , αν ειναι γραμμική η μεταβολή  ανάμεσα στα  σημεία α, β , c   κλπ  , μπορείς να κάνεις "linearisation"
λες πχ στα χ cm    a   , στα y    β  , στα z cm    c lt  κλπ    και για μετρήσεις ανάμεσα στα  b kai c πχ κάνεις αναγωγή στην κλίμακα  y - z .
Εμπορικής χρήσης γεφυροπλάστιγγες  έχουν linearisation  σε 10 τουλάχιστον σημεία ( βοηθάει και την διόρθωση του μη γραμμικού σφάλματος του αισθητηρίου  σε αυτές )
Οι υπερηχοι πιθανόν  να μην εχουν μη γραμμικο σφαλμα  αλλά μπορεις να μετρησεις μη standard δεξαμενες με αυτο το τροπο .




edit: σχετικα με τη χρήση σε αυτοκινητα επειδη δεν μπορώ να διασταυρώσω τι στο καλό είχε το megane .... ψάχνοντας βρήκα αυτό
που περιέργως φαινεται να μετράει απο κάτω προς τα πάνω ...
http://www.alibaba.com/product-gs/58...ank_gauge.html

----------


## manolena

Χρήστο, καλημέρα.

Η κατασκευή αυτή δεν είχε απο την αρχή εμπορικό χαρακτήρα για αυτό και δεν σχεδιάστηκε για ανάλογη χρήση. Αν υποτεθεί οτι θα προχωρήσει για αυτό το σκοπό,
είναι σίγουρο οτι θα πρέπει να γίνουν προσαρμογές πάνω στις απαιτήσεις του νόμου για conformity και στο hardware και στο software. Προς το παρόν, αν σκεφτείς
οτι μεγάλοι άνθρωποι κοντράρουν στα ίσια με ακρίβεια το πολύ 10 λίτρων στον τόνο τους πετρελαιάδες που πάνε τσαμπουκαλεμένοι για κλοπή, είναι μια χαρά και
έχεις και κέρδος.

----------


## manolena

Αυτό που γράφεις: http://www.alibaba.com/product-gs/58...ank_gauge.html δουλεύει με υπέρηχους αλλά με διαφορετικό μηχανισμό απο ένα απλό σύστημα με πομπό και δέκτη transduser σαν π.χ. το SRF04. Στην προκειμένη περίπτωση, ο tranduser εκπομπής/λήψης έρχεται σε επαφή με το ρεζερβουάρ απο την κάτω πλευρά και εκπέμπει συνεχώς υψίσυχνη παλμοσειρά. Λαμβάνει την ανακλούμενη απο την επιφάνεια του υγρού καυσίμου ηχώ αλλά μέσα απο τον όγκο του που βρίσκεται στο ρεζερβουάρ και όχι χρησιμοποιώντας σαν μέσο μετάδοσης τον αέρα πάνω απο την ελεύθερη επιφάνεια του καυσίμου μέσα στο ρεζερβουάρ. Με τον ίδιο τρόπο φαντάσου, δουλεύει ένα σύστημα Thickness Inspection με υπερήχους που έχουν οι νηογνώμονες για να μετρούν τα πάχη του κύτους πλοίων. Με κάποιο ανάλογο probe σαν και αυτό που δείχνεις, σε επαφή με το κύτος, εκπέμπεται ένα σήμα και η ανακλώμενη απο την εσωτερική επιφάνεια της λαμαρίνας ηχώ είναι ανάλογη σε καθυστέρηση χρόνου με το πάχος της λαμαρίνας.

----------

spiroscfu (10-12-12)

----------


## manolena

Επανέρχομαι:

Για να υπολογίσουμε τον όγκο μιας κυλινδρικής δεξαμενής χρειάζεται κατ' αρχήν να ξεκαθαρίσουμε απο την αρχή, 
το πως αυτή η δεξαμενή στηρίζεται, αν δηλαδή είναι κάθετα στερεωμένη ή οριζόντια στερεωμένη:



Για τον μεν πρώτο, τα πράγματα για τον υπολογισμό του όγκου είναι αρκετά εύκολα γιατί ανταποκρίνονται 
στις αρχές της Γεωμετρίας που μαθαίναμε στο γυμνάσιο με απλοϊκούς τύπους και σε εφαρμογή σε κύλινδρο, τον εξής:

*V = π*(D/2)²*L

*δηλαδή, (ακτίνα βάσης)² επί ύψος επι 3,14.

Στη δεύτερη περίπτωση, τα πράγματα δεν είναι και τόσο εύκολα. Και αυτό γιατί ο "ξαπλωμένος"
κύλινδρος μπορεί να μεταβάλει το ύψος του ρευστού που περιέχει, αλλά τα επίπεδα που σχηματίζονται
σε κάθε ύψος έχουν διαφορετικό εμβαδόν. Ο τύπος για τον υπολογισμό του όγκου ενός τέτοιου κυλίνδρου
είναι ο εξής:

*V = L * (D/2)^2 * (acos(s)-(s*sqrt(1-s^2)))* όπου *s = 1-(2*d/D)

*Μπορείτε να δείτε τον παραπάνω τύπο με αριθμούς:

 

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

Για καλή μας τύχη, στις include/header βιβλιοθήκες του Arduino ("math.h"), υπάρχουν οι ρουτίνες
*acos(x)* και  *sqrt(x)* που κάνουν τη ζωή μας με τους υπολογισμούς πολύ ευκολότερη...    

Οι εξελίξεις στον κώδικα θα αναφερθούν με νεότερο.-

----------


## manolena

Καλημέρα σε όλους.

Πάλι μετά απο καιρό και μετά απο απαιτήσεις καινούριες που προέκυψαν, έρχεται η δεύτερη, πιο ανανεωμένη έκδοση του μετρητή που περιλαμβάνει την αποστολή των δεδομένων που μετράει ασύρματα μέσω ενός RF module σε μια ίδια που διαθέτει δέκτη και την παρουσίαση των δεδομένων σε οθόνη. Επίσης, προστέθηκε και ένας rotary encoder για πιο απλό user interface χωρίς μπουτόν, καθώς και USB επικοινωνία για εύκολο προγραμματισμό και ανάκτηση πληροφορίας σε υπολογιστή. Τέλος, προστέθηκαν δύο ρελέ μιας επαφής 8Α για ενεργοποίηση εξωτερικών φορτίων όπως μια σειρήνα ή ένα κινητήρα αντλίας (αν το σύστημα χρησιμοποιηθεί σε μια δεξαμενή ομβρίων για παράδειγμα, να μπορεί να υπάρχει ειδοποίηση υπερχείλησης ή δυνατότητα εξάντλησης περιεχομένου). Ο λόγος που έγιναν αυτά, είναι γιατί οι δεξαμενές πετρελαίου συνήθως βρίσκονται σε ταράτσες ή υπόγεια και για να δεί κάποιος στάθμη πρέπει να φτάσει ώς εκεί. Με αυτή τη version και με το τερματικό τοποθετημένο κάπου εσωτερικά στο σπίτι, θα μπορεί κάποιος να δεί ανα πάσα στιγμή όλη την πληροφορία χωρίς να χρειάζεται να κατέβει σε υπόγεια ή να ανέβει σε ταράτσες, ασύρματα εννοείται. Απο το ebay έρχονται τα modules για να κάνω τα πρωτότυπα.

Το σχηματικό (V2.0):



Η επικοινωνία κατ' αρχήν θα είναι για μια απόσταση των 15 μέτρων (απο εξωτερικό χώρο σε 2ο όροφο). Για το τερματικό θα χρησιμοποιηθεί η ίδια πλακέτα αλλά χωρίς κουμπιά πλοήγησης και ultrasonic module.

----------


## limas

τι να πω. Μπράβο.

----------

manolena (31-01-14)

----------


## Scotty

Πολυ καλο....και χρησιμο..ΕΥΓΕ

----------

manolena (31-01-14)

----------


## manolena

Καλημέρα σας.

Συνεχίζοντας την αναβάθμιση του συστήματος με την προσθήκη RF μετάδοσης πληροφορίας σε εσωτερικό χώρο
με τη βοήθεια των modules 

 (σε αναμονή απο e-bay)...

κατασκευάστηκε το πρωτότυπο για τις δοκιμές με data link με το πρώτο πρωτότυπο.



Επειδή το μέγεθος του κώδικα άρχισε και ξέφευγε (περί τα 25kb), άλλαξα τον ATMega328 με έναν ATMega644
(64kb) για να μην αγχώνομαι...

*​Συνεχίζεται...*

----------


## manolena

Επειδή η πλακέτα είναι διάτρητη, προστέθηκε μια μονάδα με ρολόϊ πραγματικού χρόνου, θερμόμετρο και 
EEPROM σε SMD κατασκευή, που αργότερα στην ολοκληρωμένη έκδοση θα ενσωματωθούν στην 
πλακέτα με μάσκα.



Επίσης, η οθόνη μεγάλωσε σε διαστάσεις για καλύτερη ανάγνωση (και απο παππούδες...),



...ενώ ο κώδικας γράφεται με το περιβάλλον του Arduino αλλά με "πειραγμένα" αρχεία του συστήματος 
για να μπορέσει να δεχθεί τον καινούριο μ/ε, μιας και αυτός δεν υπάρχει στο IDE σαν πλακέτα.

*Συνεχίζεται...*

----------


## savas21

Γεια σου ρε Μάνο με τις κατασκευές σου...

----------

manolena (13-02-14)

----------


## manolena

> Γεια σου ρε Μάνο με τις κατασκευές σου...



Γειά σου Σάββα με τις μελλοντικές σου κατασκευές!!! Τελειώνω αυτό που σου είπα και θα τα πούμε σύντομα, ΟΚ?

----------


## savas21

εδώ είμαι και περιμένω!!!!!

----------


## alfadex

φίλε Μάνο η όλη κατασκεύη αλλά και η ιδέα να προσαρμοσεις μετάδοση πληροφορίας είναι τέλεια!! Το διάβασα όλο το threat και μπορώ να πω οτι ψήνομαι για αυτή τη μεγάλη  κατασκευη, σε περίπτωση που το φτιαξω θα μου έστελνες το κώδικα ,γιατι απο οτι διαβασα έχεις προσθέσει αρκετα κατα καιρούς, αν βέβαια δεν το έχεις προορίσει για εμπορική εκμετάλευση .

----------


## manolena

> φίλε Μάνο η όλη κατασκεύη αλλά και η ιδέα να προσαρμοσεις μετάδοση πληροφορίας είναι τέλεια!! Το διάβασα όλο το threat και μπορώ να πω οτι ψήνομαι για αυτή τη μεγάλη  κατασκευη, σε περίπτωση που το φτιαξω θα μου έστελνες το κώδικα ,γιατι απο οτι διαβασα έχεις προσθέσει αρκετα κατα καιρούς, αν βέβαια δεν το έχεις προορίσει για εμπορική εκμετάλευση .



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

----------


## manolena

Ήρθαν λοιπόν εχθές τα modulάκια που περίμενα για την ασύρματη διασύνδεση και μετάδοση δεδομένων.
Είναι πολύ χαριτωμένα ομολογουμένως, πολύ μικρά (και ο πομπός και ο δέκτης) και με ανέλπιστα καλή εμβέλεια!
Στις δοκιμές, έπιασα με κεραίες 16 εκατοστών μια απόσταση 25 μέτρων σε κτίριο με βιομηχανικό οπλισμένο
σκυρόδεμα και πολύ μέταλλο! Είναι ό,τι πρέπει λοιπόν για μετάδοση στον δεύτερο όροφο απο το ισόγειο, αν
σκεφτεί κανείς οτι τα 25 μέτρα σε ευθεία μεταφράζονται σε ένα κτίριο με 8 ορόφους! 


Ο δέκτης συνδεδεμένος στο ¨τερματικό" που δέχεται την πληροφορία.
...και ο πομπός (φαίνεται ελάχιστα δεξιά, κάτω απο την οθόνη.

Ένα μικρό video που ακολουθεί, δείχνει τις 2 πλακέτες να "μιλάνε" μεταξύ τους, στέλνοντας η μία στην άλλη
την τρέχουσα θερμοκρασία και ώρα. Τα σκετσάκια για τις πλακέτες γράφτηκαν πολύ γρήγορα με τη βοήθεια
παραδειγμάτων που τα προσάρμοσα ώστε να φτιάχνονται strings με περιεχόμενο τα δεδομένα απο το RTC και 
τον temperature sensor.

http://www.youtube.com/watch?v=ToalKHYX_gw






Και ένα στιγμιότυπο απο τα σκετσάκια του πομπού και του δέκτη:

----------

vasilllis (17-03-14)

----------


## manolena

Μετά απο πολλές ώρες δοκιμών, συμπαίρανα οτι η βιβλιοθήκη VirtualWire  (τεκμηρίωση στο http://www.airspayce.com/mikem/arduino/VirtualWire.pdf) για τον Arduino είναι 
πραγματικά εξαιρετική! Διαθέτει έλεγχο crc checksum και πραγματικά δεν της ξεφεύγει τίποτα! Εντυπωσιασμένος!

----------


## aktis

Ωραία Μάνο , αν και αφου ειδα οτι ειχες χρησιμοποιησει τέτοιο ακριβό πληκτρολογιο , ειπα ... τι κανει αυτος !  , τσιγκουνια στο RF ... δεν περιμενα να παιζουν αξιοπιστα τα modulakia . , ισως τα βοηθαει το crc . Εχεις υπολογίσει αν χάνονται μηνυματα σε κάποιο ποσοστο ;

----------


## manolena

Λοιπόν Χρήστο, δουλεύει απο εχθές το πρωί στέλνοντας το ένα συνέχεια τη θερμοκρασία, ώρα και ημερομηνία σε 3 buffer, 
και το άλλο τα εμφανίζει στην οθόνη με ρυθμό ανανέωσης στα 2.5 δευτερόλεπτα και με ταχύτητα 4000 baud/min. Η απόσταση 
του τερματικού απο τον πομπό είναι 20 μέτρα σε ευθεία μέσα σε κτίριο με αρκετό μέταλλο. Κεραίες στα 16 περίπου εκατοστά, 
αυτή του δέκτη ένα απλό καλώδιο 0.25 mm. Παρατήρησα για αρκετή ώρα πολλές φορές εχθές το τερματικό χωρίς εμφάνιση 
κανενός λάθους στην πληροφορία.

----------


## manolena

Καλησπέρα σας.

Μετά απο καιρό και βελτιώσεις στο firmware και την εμφάνιση, καταλήγω στην τελική (...) μορφή του μετρητή όγκου. Φωτογραφίες απο τα μενού και τις λειτουργίες ακολουθούν απο το βελτιωμένο μοντέλο, καθώς και μια μικρή αναφορά στις αλλαγές απο το πρωτότυπο:


Ο μ/Ε αντικαταστάθηκε με έναν ATMega644P με μεγαλύτερη μνήμη, μιας και όλες οι αλλαγές που έγιναν δεν μπορούσαν να αρκεστούν στα 32Kb κώδικα του ATMega328.Ενσωματώθηκε ένα μικρό RF module transmitter στην παρούσα μορφή της συσκευής που θα εργάζεται κοντά στη δεξαμενή που θα είναι ο master station και ένα RF module receiver στη συσκευή που θα είναι μακρυά της για τηλεμετρική ανάγνωση όλων των διαθεσίμων στοιχείων (μετρήσεις όγκου, ώρα, ημερομηνία, θερμοκρασία εξωτερικού περιβάλλοντος, διαστάσεις δεξαμενής). Ο κώδικας για το σημείο αυτό ακόμα δουλεύεται και είναι σε ικανοποιητικό σημείο.Το κουτί στο οποίο θα στεγάζεται η συσκευή μεγάλωσε και το πληκτρολόγιο έγινε γραμμικό και όχι navigational όπως στο πρωτότυπο για λόγους κόστους.Προστέθηκε μια κεραία 25cm για την εξυπηρέτηση της RF μετάδοσης στα 433MHz (ενεργό μήκος στα 16cm).H οθόνη μεγάλωσε επίσης και έχει οπίσθιο φωτισμό ο οποίος έχει ρυθμιστεί να ανάβει αυτόματα κάθε βράδυ στις 19:00 και να σβήνει στις 06:00. Οι γραμμές παραμένουν στις 4 με 20 χαρακτήρες η κάθε μιά.Το υπέρηχο module βυσματώνεται με ένα 4πλό καρφί (2 τροφοδοσίες και 2 σήματα) για λόγους φορητότητας. Ψάχνω ακόμα το ιδανικό case για να στεγαστεί, καθώς και έναν εύκολο τρόπο στήριξης στην οροφή ή την ανθρωποθυρίδα της δεξαμενής.Μειονέκτημα είναι η παροχή μόνιμης τροφοδοσίας απο το δίκτυο πόλης και απο pack τοίχου 12VDC κοντά στη συσκευή master. Η slave θα μπορεί να τοποθετηθεί εντός του σπιτιού όπως ο θερμοστάτης της κεντρικής θέρμανσης.Προστέθηκαν νέα μενού ενώ αφαιρέθηκαν άλλα, όπως για παράδειγμα η επιλογή απο 3 τύπους δεξαμενών: κυβική ή ορθογώνια παραλληλεπίπεδη, οριζόντια κυλινδρική και κάθετη κυλινδρική. Ο διαχωρισμός για τις δύο τελευταίες ήταν απαραίτητος γιατί ο υπολογισμός της οριζόντιας κυλινδρικής δεν είναι τόσο απλός όσο φαίνεται. Όλες οι διαστάσεις ρυθμίζονται ώς και 499cm και αποθηκεύονται στην EEPROM. Προστέθηκε επίσης μενού για τη ρύθμιση alarm σε 20 επίπεδα που αναλόγως των διαστάσεων ανεξαρτήτως τύπου υπολογίζονται αυτόματα.Αφαιρέθηκαν οι πληροφορίες για την ταχύτητα ήχου (αδιάφορη πληροφορία μιας και συνυπολογίζεται αυτόματα απο τον αισθητήρα θερμοκρασίας για αυτόματο compensation.Οι πληροφορίες τηλεμετρίας μεταδίδονται συνεχώς κάθε 10 δευτερόλεπτα προς την slave συσκευή χωρίς δυνατότητα απενεργοποίησης.Κάποιες βελτιώσεις στην εμφάνιση είναι ακόμα υπο σκέψη (μπουτόν ή πληκτρολόγιο μεμβράνης γραμμικό tactile).





Η αρχική οθόνη με το κυλιόμενο μήνυμα.


Το υπέρηχο module.





Η οθόνη ένδειξης μέτρησης όγκου που παρουσιάζει ύψος στάθμης σε εκατοστά, λίτρα και επι τοις % περιεχόμενο σε καύσιμο. Πληροφορία επίσης και για ενεργοποιημένο alarm χαμηλής στάθμης.

----------

cycler (29-10-14), 

p.gabr (29-10-14)

----------


## manolena

Μενού ένδειξης ώρας/ ημερομηνίας/ θερμοκρασίας σε βαθμούς Κελσίου και Farenheit


Οι ενδείξεις των παραπάνω.

----------

alfadex (28-10-14), 

angel_grig (28-10-14), 

p.gabr (29-10-14)

----------


## manolena



----------

alfadex (28-10-14), 

angel_grig (28-10-14)

----------


## alfadex

Μπράβο Μανο συνχαρητήρια ,έχω στη κατοχή μου όπως σου είχα πει ενα 3d printer ,σν πιστέυεις οτι θα μπορούσε να βοηθήσει για ατη στέγαση του κυκλώματος πες μου

----------

manolena (28-10-14)

----------


## 744

Εκπληκτική κατασκευή Μάνο, μπράβο.

Αλλά ακόμη πιο εκπληκτική η κατανάλωση μνήμης από το πρόγραμμα! Πέρασες τα 32ΚΒ?

Υποθέτω ότι σε arduino περιβάλλον το αναπτύσεις? Αν είναι έτσι τότε μάλλον δικαιολογείται.

----------

manolena (30-10-14)

----------


## manolena

Σε ευχαριστώ πολύ Γιάννη, αυτό είναι αλήθεια. Όσοι έχουν ασχοληθεί με arduino-κατασκευές ξέρουν οτι είναι πολύ μνημοβόρες. Αλλά προτίμησα την ευκολία της συρραφής έτοιμου κώδικα (υπολογίζω γύρω στο 60%) με τις εκτεταμένες του βιβλιοθήκες.

----------


## The_Control_Theory

> Σε ευχαριστώ πολύ Γιάννη, αυτό είναι αλήθεια. Όσοι έχουν ασχοληθεί με arduino-κατασκευές ξέρουν οτι είναι πολύ μνημοβόρες. Αλλά προτίμησα την ευκολία της συρραφής έτοιμου κώδικα (υπολογίζω γύρω στο 60%) με τις εκτεταμένες του βιβλιοθήκες.



Μάνο μήπως δεν βάζεις κείμενα στην flash και τα αποθηκεύεις μόνο στην ram?

----------


## manolena

Καλημέρα.

Όταν φτιάχνεται ένα project σε τέτοιο περιβάλλον, είναι εξ' ορισμού μνημοβόρο γιατί χρησιμοποιεί έτοιμες βιβλιοθήκες που συνήθως δεν έχουν υποστεί κανενός είδους optimization. Η χρήση των PROGMEM στα κομμάτια του κώδικα που διαχειριζονται strings και ταμπέλες διορθώνει λίγο την κατάσταση, αλλά δεν είναι η λύση. Νοσταλγώ βέβαια τα χρόνια που έσπαγα το κεφάλι μου μετρώντας χρόνους σε εντολές assembly, αλλά δεν είχα σκοπό επ' ουδενί να κάτσω να κάνω κάτι τέτοιο ή έστω καθαρή C σε Atmel Studio.

----------


## The_Control_Theory

Καλημέρα. Ναι αν ήταν σε Assembly θα χρειαζόταν περισσότερο χρόνο προγραμματισμού. Δίνεις flash για να κερδίσεις χρόνο προγραμματισμού στην ουσία κάτι που παλαιότερα δεν είχε νόημα.

----------


## SProg

Eμενα παρομοιο project με προσθηκες πλωτηρα,αισθητηριων κινησης,μαγνητικα και θερμοκρασιων (συνολο 8 αιθητηρια) ο κωδικας βγηκε κοντα στις 4600 γραμμες.Μαζι με προσθημες SMS-αναπαντητης για την ενεργοποιηση/απενεργοποιηση εκαστοτε ALARM απο το καθε αισθητηριο κτλ.

Το προβλημα με τη μνημη οντως ειναι μεγαλο σε τετοιος εφαρμογες.

Tedi, εαν ειναι να γραψεις σε ASM τοτε ειτε θα τα γραψεις ολα απο το 0 είτε θα χρησιμοποιησεις τις συναρτησεις σε ASM που εχεις γραψει παλαιοτερα.Ο χρονος μετα αυξανεται εκθετικα.

----------


## manolena

Λοιπόν, η δικιά σου εφαρμογή Σάββα πρέπει να είναι πολύ jet τελικά απ΄ό,τι μυρίζομαι...  :Wink:

----------


## SProg

Παρομοιο με το δικο σου ειναι Μανο, απλα μετα ολο και εβαζα πραγματα (οπως γινεται παντα και πολλα project και στο τελος τα παραταμε..).

Eπισης το σημαντικοτερο.Εβαλα να εισαγει ο χρηστης στο setup την καταναλωση σε Gal/h (ειναι ο ψεμασμος που αναγραφεται πανω στους καυστηρες) να το μετατρεπει σε λιτρα και εαν δει αποτομη καταναλωση (που δεν τη δικαιολογει ο ψεκασμος σε 1 λεπτο..τοτε εχουμε κλεφτη) στελνει SMS σε 4 αριθμους (ή και λιγοτερους.Το επιλεγει ο χρηστης)

Και μετα τα κλασικα..Alarm για εσωτερικη θερμοκρασια (min-max),παραβιαση χωρου κτλ.

+ η ογκομετρηση επειδη μπορει η δεξαμενη να μην ειναι κυβικη..μπορει ο χρηστης εισαγωντας 10-10 ή 20-20 λιτρα να κανει ογκομετρηση δεξαμενης.Εαν δε ειναι και συμμετρικη..τοτε 'μαρκαρει' μεχρι τη μεση.Οποτε αντι για αισθητηρα αποστασης παμε σε πλωτηρα  :Very Happy: 


Το κακο ειναι οτι βαριεμαι να το παρουσιασω  :Smile:

----------


## SeAfasia

*Το κακο ειναι οτι βαριεμαι να το παρουσιασω*   :Sad: 
γιατί φίλος;;

----------


## SProg

Γιατι ειμαι 'ψειρας' και θα αφιερωσω πολυ χρονο οταν το γραφω/βιντεοσκοπω.Θα γινει καποια στιγμη  :Very Happy:

----------


## sotron1

> Γιατι ειμαι 'ψειρας' και θα αφιερωσω πολυ χρονο οταν το γραφω/βιντεοσκοπω.Θα γινει καποια στιγμη



Άσχετο με το θέμα, αλλά οι πλακέτες που παρήγγειλες από Κίνα, ήρθαν;

----------


## SProg

Ναι κομπλε.Καλη ποιοτητα και σχετικα γρηγορα με Honk Kong post

----------


## sotron1

> Ναι κομπλε.Καλη ποιοτητα και σχετικα γρηγορα με Honk Kong post



Διαστάσεις, τιμή και χρόνος ;

----------


## SProg

5 x [150x180mm ,2ης οψης,πρασινο soldermask,παχος 1.6mm]

Τιμη 55euro (μαζι με μεταφορικα) και στη πορτα σου σε 12 μερες(εργασιμες).

Και σου δινει αλλα 20eu μειωση σε μελλοντικη αγορα.

----------

sotron1 (29-12-15)

----------


## dimitrioszed

Καλησπέρα,

Με το συγκεκριμένο εργαλείο θα μπορώ να βλέπω και την πληρότητα της δεξαμενής ώστε να ξέρω αν πρέπει να παραγγείλω και πάλι πετρέλαιο; 

Αναλαμβάνεις την εγκατάσταση σε σπίτια; Αν ναι, παρακαλώ ενημέρωσέ με για τελική τιμή.

Ευχαριστώ πολύ και μπράβο για τη σκέψη και την υλοποίηση.

----------


## tzem

Πολύ χρησιμο project.
Ποιά είναι τα υλικά που θα χρειαστούμε τελικά?
Και απο που μπορώ να προμηθευτώ τα υλικά αυτά?

----------


## manolena

Επειδή κάποιος μπαμπουίνος που φοράει τις κάλτσες του όρθιος με προκάλεσε πρίν λίγο καιρό απο το γελοίο blog του, προχωράω κι εγώ λοιπόν στην τρίτη κατά
σειρά αναβάθμιση της κατασκευής αυτής που διαθέτει πια UI με touchscreen, χωρίς κουμπιά και χειριστήρια. Ο χρήστης έχει δυνατότητα πλοήγησης με μενού για 
ανάγνωση δεδομένων (τρέχοντα όγκο καυσίμου, θερμοκρασία, ώρα, ημερομηνία, προγραμματισμένες διαστάσεις), έλεγχο ειδοποιήσεων για χαμηλή στάθμη, 
ρυθμίσεις συστήματος (εισαγωγή διαστάσεων, τύπου δεξαμενής,ορίου συναγερμού χαμηλής στάθμης, λίτρα που προστέθηκαν, ώρας).

Πάρτε μια γεύση απο το UI (κεντημένο με το χέρι, χαχαχα) και μόλις τελειώσει το στήσιμο όλου του μενού, θα ακολουθήσει και βιντεάκι.

Οθόνη υποδοχής

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

Γενική οθόνη με τις σημαντικότερες παραμέτρους

Κοντινή στο γραφικό της ποσότητας καυσίμου

----------

michalism (07-09-16), 

picdev (02-09-16)

----------


## betacord85

δεν θελω να χαλασω το ποστ του μανου αλλα παρατηρηστε πως πεσανε τα κορακια να ζητησουν ποσο κανει και να μπορουν να το φτιαξουν(φυσικα για μεταπωληση)ατομα με 2 -3 ποστ...οτι ναναι...πειτε ενα μπραβο που σας δινει απλοχερα την κατασκευη του και μετα μπειτε στο ψητο....

----------


## manolena

Μενού "Readings"

Μενού "Controls"

Μενού "Settings"

To καμπαναριό είναι OFF, έχει απενεργοποιηθεί η ηχητική ειδοποίηση χαμηλής στάθμης.

H οθόνη είναι μια 4.3" TFT με προσαρμογέα SainSmart για MEGA και τρέχει πάνω σε έναν DUE με πυρήνα SAM3X8E 32-bit ARM Cortex-M3
Μόλις ρυθμιστούν τα πάντα, όλη τη δουλειά θα την κάνει αυτός εδώ:

 http://www.ebay.com/itm/222150532609


...που θα καρφωθεί σε μια μικρή μαμά πλακέτα. ARM γιατί; Γιατί έχει μεγάλη μνήμη και ταχύτητα, ενώ δεν ήθελα να φορτώνω τα γραφικά απ κάρτα SD λόγω
αργοπορείας στη φόρτωση. Μόλις φτιαχτεί και η μαμά πλακέτα, θα ανέβει και αυτή εδώ.

Αυτά λοιπόν προς το παρόν, γιατί πρέπει να δώ πως κάποιοι μάγκες φτιάχνουν inverter πραγματικού ημιτόνου με Arduino Nano μπας και ξεστραβωθώ!

*ΧΑΧΑΧΑΧΑΧΑΑΑΑΑΑΑ!!!!!!! Άκου inverter με Nano!!!!
*

----------


## SProg

Μανο τα σπανε τα γραφικα.Συγχαρητηρια

*Θα προτεινα:*

- Να μπει και ελεγχος για κλεφτες,ποτε δηλαδη μειωνεται η ποσοτητα καυσιμου με ρυθμο μεγαλυτερο απο αυτη που μπορει να τραβηξει ο καυστηρας σε πληρη λειτουργια.

- Ογκομετρηση και με πλωτηρα.

- Ογκομετρηση με εισροη συγκεκριμενου βηματος λιτρων.

- Συμμετρικη ογκομετρηση ωστε να μειωνεται ο χρονος ογκομετρησης.

- Να συνδιαζει πληρη ελεγχο (κινηση,πορτες,παραθυρα,φως,θερμοκρασιες) του λεβητοστασιου.

- Να ειδοποιει με SMS.

- Να απανταει σε αναπαντητες μονο απο αριθμους που εμεις ορισαμε.

- Να ειδοποιει αναλογα με τον συναγερμο (ειτε πυρκαγιας,ειτε κλεφτη καυσιμου κτλ) συγκεκριμενα νουμερα με προτεραιοτητα.






Off:

Να πληρωσει ειπε ο αλλος Μπαμπη...που το βλεπεις το προβλημα;

Το θεμα ειναι η ιδεα, οχι η υλοποιηση της.Εφοσον καποιος διαβασει το Project μπορει αμεσα να το κανει και μονος..

----------

manolena (01-09-16)

----------


## SeAfasia

Μάλιστα......αυταααααά..!!!! :Lol: 
*"Πάρτε μια γεύση απο το UI (κεντημένο με το χέρι, χαχαχα) και μόλις τελειώσει το στήσιμο όλου του μενού, θα ακολουθήσει και βιντεάκι."*
Ωραίο *βίντεο* Μάνο...ευχαριστώ!!

----------


## manolena

> Μανο τα σπανε τα γραφικα..



Και χωρίς Nextion! Κλαπέ OFF...

----------


## manolena

> Μάλιστα......αυταααααά..!!!!
> *"Πάρτε μια γεύση απο το UI (κεντημένο με το χέρι, χαχαχα) και μόλις τελειώσει το στήσιμο όλου του μενού, θα ακολουθήσει και βιντεάκι."*
> Ωραίο *βίντεο* Μάνο...ευχαριστώ!!



E, θα αργήσουμε λιγάκι με την ταινία. Θέλει σκηνοθεσία πρώτα.  :Wink:

----------


## Fire Doger

Αν είναι κάθε φορά που ο Μάνος έχει νεύρα ή του "τι βαράει" να κάνει τέτοια πράγματα να κανονίσουμε όλοι μαζί να τον πειράζουμε κάθε τόσο :Rolleyes:

----------


## manolena

Ο κώδικας παραξεχείλωσε, φτάνει τα 500Κ(!) απο 524Κ διαθέσιμα, λόγω του ότι όλα τα γραφικά έχουν φορτωθεί στην flash. Το άσχημο είναι πως τα θέλει 24bit bmp. Ελπίζω να φτάσει για τα υπόλοιπα, αλλιώς
κάποια μικρά γραφικά όπως π.χ. η αλλαγή χρώματος στο βελάκι του navi θα μπορεί να φορτώνεται απο κάρτα.

----------


## SProg

10k γραμμες εγραψες ;;  :Lol: 


Και ενα προχειρο βημα παρεπερα..αλλα χωρις τα γαματα γραφικα σου..

http://pastebin.com/5rmLyfKg

----------


## SeAfasia

> Αν είναι κάθε φορά που ο Μάνος έχει νεύρα ή του "τι βαράει" να κάνει τέτοια πράγματα να κανονίσουμε όλοι μαζί να τον πειράζουμε κάθε τόσο



Στέφανε εσένα δε σε φοβάμαι.... :Biggrin:

----------


## manolena

> 10k γραμμες εγραψες ;;



 ........

----------


## manolena

> http://pastebin.com/5rmLyfKg



Άαααλλη Ομήρου Ιλιάδα... Αυτό μάλιστα, τώρα μιλάμε.

----------


## lepouras

Μάνο στο #123 σου έκανα τούμπα στις δύο πρώτες φωτογραφίες τις περιγραφές. τις είχες ανάποδα.

----------

manolena (01-09-16)

----------


## manolena

> Μάνο στο #123 σου έκανα τούμπα στις δύο πρώτες φωτογραφίες τις περιγραφές. τις είχες ανάποδα.



"..._δεινόν τό γήρας, ου γάρ έρχεται μόνον..." Merci_

----------


## finos

άσχετο άλλα πως χωριζετε τον κωδικά σε "καρτέλες"

----------


## manolena

> άσχετο άλλα πως χωριζετε τον κωδικά σε "καρτέλες"



Τά τα αρχεια που χρησιμοποιει το εργο σου θα βρισκονται σε εναν φακελο με το ιδιο ονομα. Π.χ. αν φτιαξεις κατι σαν finos.ino θα πρεπει να το βαλεις σε φακελο με το ιδιο ονομα (finos) καθως και με ολα τα αλλα αρχεια .h, .ino, .c. Αυτα ειναι και οι καρτελες που βλεπεις στη φωτογραφια. Θα ανοιγεις παντα το finos.ino

----------

finos (06-09-16)

----------


## finos

ευχαριστώ .Όμως αυτό που εξυπηρετει

----------


## MacGyver

Αφού κάνεις όπως λες arduino δεν έτυχε να στο ζητήσει ποτέ το πρόγραμμα;

-Πήγαινε σε ένα ino και άλλαξε του όνομα. Μετά άνοιξέ το από το πρόγραμμα !

----------


## finos

ναι ξερω οτι κάθε .ino πρέπει να είναι σε φάκελό με το ίδιο όνομα  άλλα δεν καταλαβαίνω τον λόγο να υπάρχουν "καρτέλες "στον κωδικά

----------


## lepouras

> ναι ξερω οτι κάθε .ino πρέπει να είναι σε φάκελό με το ίδιο όνομα  άλλα δεν καταλαβαίνω τον λόγο να υπάρχουν "καρτέλες "στον κωδικά



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

----------


## Fire Doger

Ρε Βαγγέλη, τα πάντα έχουν μια δομή, και σε μια γραμμή μπορείς να τα γράψεις όλα, γιατί δεν το κάνεις?
Όσο καλύτερη δομή έχει τόσο ποιο κατανοητό είναι ένα πρόγραμμα.
Και μπορείς να κάνεις και βιβλιοθήκες (.c .h) για το project σου και να τις διαχειρίζεσαι απ' τον ίδιο IDE απλώς αλλάζοντας καρτέλα.

----------


## MacGyver

Πρακτικά, αν κάνεις μία βιβλιοθήκη γενικής φύσης που μπορεί να την καλέσεις ανά πάσα στιγμή από οποιοδήποτε sketch, πρέπει να μπει στο φάκελο scetchbook  με τη γνωστή διαδρομή.
Όταν βάζεις κάτι μέσα στο φάκελο ενός project, αυτό είναι μέρος - τμήμα του κυρίου sketch, κάτι εξειδικευμένο.

----------


## SProg

Δες τη διαφορα με το Post #131.

Ακομα και με αναλυτικα σχολια , μετα απο λιγους μηνες με δυσκολια διαβαζα τον ιδιο μου τον κωδικα.Ποσο μαλλον καποιος αλλος.

Για αυτο πρεπει να οργανωνεις τον κωδικα σου σωστα και οχι παρτσαπουρτσα ( πως εκανα εγω σε εκεινο το Project ).

----------


## manolena

Πρακτικά:

Αν ένα έργο σου έχει βασικό αρχείο το finos.ino, καλό είναι τα defines, τα constants, variables, structures να τα έχεις σε ένα αρχείο header (επέκταση .h) και αυτό στον ίδιο φάκελο. Η μόνη λεπτομέρεια είναι ότι το κάνεις include στο finos.ino με ομοιωματικα γιατί βρίσκεται στο ίδιο directory (#include "defines.h"). Άλλα αρχεία επέκτασης .C, .ino μπορούν να βρίσκονται όλα μαζί αλλά θα ανοίγει πάντα το .ino που έχει κοινό όνομα με το φάκελο εγκατάστασης. Φαντάσου να γράφεις κώδικα με 10Κ γραμμές και να έχεις ένα αρχείο .ino. Για να πας από τη setup() που βρίσκεται πάντα στην αρχή σε κάποια συνάρτηση στο τέλος, θες χρόνο. Έτσι λοιπόν, φτιάχνει ένα βασικό .ino αρχείο με τη setup() και τη loop() και επί μέρους αρχεία γκρουπαροντας άλλες λειτουργίες. Π.χ. finosTFT.ino με συναρτήσεις για την οθόνη σου, finosISR.ino με συναρτήσεις για τις διακοπές σου, finosUTIL.ino με συναρτήσεις βοηθητικές κτλ. Τα βάζεις στον ίδιο φάκελο και βλέπεις καρτέλες.

Αυτά που λένε οι αγαπητοί κ. Συνάδελφοι πιο πάνω.  :Smile:

----------

finos (06-09-16)

----------


## SeAfasia

πχ:
#include<finos.h>
#include<stdio.h>
#include<stdlib.h>

fuction_1(x,y) 
{
int x=10;
int y=20;
{

int main(void) //main fuction
{
fuction_1();
}
 // end code

είναι τυχαίος κώδικας στην C...

----------


## manolena

Κάπως έτσι Κώστα, αλλά πρέπει να τηρείται το "γούστο" του IDE που έχει καθορισμένη μορφή σύνταξης:

void setup(){
...bla
...bla
...bla
}
//===================
void loop(){
...bla
...bla
...bla
}

----------


## SeAfasia

ναι σωστα,μιλάμε για arduino!!

----------


## Fire Doger

> πχ:
> #include<finos.h>
> #include<stdio.h>
> #include<stdlib.h>
> 
> fuction_1(x,y) 
> {
> int x=10;
> int y=20;
> ...



"void" στην function_1(x,y)
τύποι στα ορίσματα
η 2η αγκύλη είναι ανάποδα
 κατά την κλίση δεν στέλνεις x,y
Finos όνομα και πράμα  :Lol:

----------


## savas21

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

----------

manolena (07-09-16)

----------


## thanasis 1

Οι συγκεκριμενοι αισθητηρες κανουν για χρηση σε δεξαμενες πετρελαιου??

----------


## el greco 1

δεν λες με ποιο τροπο θα βλεπεις την σταθμη με ποιο module θα συνδεθει που θα εχει οθονη?

----------


## thanasis 1

Κατι τετοιο θελω να κανω,δεν θα χρησιμοποιηθει καποιο ετοιμο module.
Απλα ρωταω αν ενδεικνυται για πετρελαιο απο θεμα ασφαλειας??

----------


## vasilllis

Δεν βλεπω να αναφερουν κατι.κανε μια ερώτηση

----------


## 744

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

Γνώμη μου είναι να πάρεις έτοιμο τον αισθητήρα και με προδιαγραφές για το πετρέλαιο. Τα υπόλοιπα ηλεκτρονικά κάντα μόνος σου.

Τέλος, για το νερό ο γενικός κανόνας είναι 1 μέτρο για κάθε 100mb αλλά για το πετρέλαιο δεν ισχύει.

----------

thanasis 1 (25-02-21)

----------

