Πίνακας περιεχομένων:
- Βήμα 1: Μέρη και εξαρτήματα
- Βήμα 2: Ο αισθητήρας
- Βήμα 3: Προσαρμογή ρολογιού σε πραγματικό χρόνο
- Βήμα 4: Άλλα Διάφορα επί του σκάφους
- Βήμα 5: Σχηματικό
- Βήμα 6: Λογισμικό και λογική
Βίντεο: Postino: Ο ταχυδρόμος παρέδωσε κάτι ;: 6 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Δεν είναι ιδέα μου: μια μέρα ένας φίλος μου ζήτησε έναν τρόπο για να ελέγξω εξ αποστάσεως αν υπήρχε κάποιο ταχυδρομείο στο γραμματοκιβώτιό του. Το γραμματοκιβώτιο δεν είναι στο μονοπάτι προς την πόρτα του, έτσι, καθώς είναι ένα τεμπέλης αγόρι, αναρωτήθηκε αν ένα gadget τεχνολογίας θα μπορούσε να τον προειδοποιήσει για τυχόν γράμματα στο γραμματοκιβώτιο. Έριξα μια ματιά στην αγορά και δεν βρήκα καμία έτοιμη συσκευή κατάλληλη για τις ανάγκες του, οπότε έθεσα μια πρόκληση στον εαυτό μου: γιατί να μην την σχεδιάσω και την κατασκευάσω;
Οι περιορισμοί ήταν:
- τροφοδοτείται από μπαταρία με λογική διάρκεια ζωής μεταξύ αλλαγών μπαταρίας.
- Επικοινωνία WiFi?
- ελέγξτε μόνο μία φορά την ημέρα εάν υπήρχε ταχυδρομείο ή όχι.
Το κύριο ερώτημα ήταν: ποιο είδος αισθητήρα θα μπορούσε να ταιριάζει στις απαιτήσεις μου; Ένας αισθητήρας εγγύτητας δεν μπορούσε να λειτουργήσει, καθώς ο έλεγχος έπρεπε να γίνεται μόνο μία φορά την ημέρα και όχι σε πραγματικό χρόνο. ούτε ένας αισθητήρας βάρους, καθώς αυτό θα είχε προσθέσει προβλήματα πολυπλοκότητας και ευαισθησίας (ένα φύλλο χαρτιού θα μπορούσε να είναι πολύ ελαφρύ). Η επιλογή μου προσγειώθηκε σε έναν αισθητήρα Time-of-Flight (ένα μικρό λέιζερ). Μόλις το βαθμονομήσετε για το μέγεθος του γραμματοκιβωτίου, οτιδήποτε τοποθετηθεί στη μέση θα είχε ενεργοποιήσει τον αισθητήρα! Λαμβάνοντας υπόψη τους 3 περιορισμούς, αποφάσισα να χρησιμοποιήσω ένα ESP8266 (εκτέλεση του λογισμικού και σύνδεση με WiFi), έναν αισθητήρα VL6180 Time-of-Flight για τη μέτρηση και ένα ρολόι πραγματικού χρόνου DS3231 για να ενεργοποιήσω όλα τα κυκλώματα μία φορά την ημέρα: έτσι ήταν Ο Postino γεννήθηκε!
Βήμα 1: Μέρη και εξαρτήματα
- ESP8266-01 (ή ESP-12E NodeMCU)
- VL6108 Αισθητήρας Time-of-Flight
- Ρολόι πραγματικού χρόνου DS3231
- IRLZ44 N-channel MosFET
- BC547 Τρανζίστορ
- Αντιστάσεις
- CR123 Μπαταρία
Βήμα 2: Ο αισθητήρας
Η καρδιά του συστήματος είναι ο αισθητήρας VL6180. Πρόκειται για μια πρωτοποριακή τεχνολογία που επιτρέπει την απόλυτη απόσταση να μετρηθεί ανεξάρτητα από την ανάκλαση του στόχου. Αντί να εκτιμήσει την απόσταση μετρώντας την ποσότητα φωτός που αντανακλάται πίσω από το αντικείμενο (το οποίο επηρεάζεται σημαντικά από το χρώμα και την επιφάνεια), το VL6180X μετράει ακριβώς το χρόνο που χρειάζεται το φως για να ταξιδέψει στο πλησιέστερο αντικείμενο και να αντανακλάται πίσω στον αισθητήρα (Χρόνος -πτήσης). Συνδυάζοντας έναν πομπό IR, έναν αισθητήρα εμβέλειας και έναν αισθητήρα φωτός περιβάλλοντος σε ένα έτοιμο προς χρήση πακέτο τριών σε ένα, το VL6180X είναι εύκολο να ενσωματωθεί και εξοικονομεί μακροχρόνιες και δαπανηρές βελτιστοποιήσεις οπτικού και μηχανικού σχεδιασμού στον κατασκευαστή τελικού προϊόντος.
Η μονάδα έχει σχεδιαστεί για λειτουργία χαμηλής ισχύος. Χρησιμοποίησα τον πίνακα διαρροής Pololu ο οποίος διαθέτει ρυθμιστές τάσης στο σκάφος που του επιτρέπουν να λειτουργεί σε εύρος τάσης εισόδου 2,7 V έως 5,5 V.
Ο αισθητήρας επιτρέπει 3 έγκυρους συντελεστές κλιμάκωσης που θέτουν το μέγιστο εύρος της μέτρησης από 20 έως 60 cm, με διαφορετικές ευαισθησίες. Με τη διαμόρφωση ενός συντελεστή κλίμακας εύρους, το πιθανό μέγιστο εύρος του αισθητήρα μπορεί να αυξηθεί με κόστος χαμηλότερης ανάλυσης. Η ρύθμιση του συντελεστή κλιμάκωσης σε 2 παρέχει εύρος έως 40 cm με ανάλυση 2 mm, ενώ ο συντελεστής κλιμάκωσης 3 παρέχει εύρος έως 60 cm με ανάλυση 3 mm. Πρέπει να δοκιμάσετε τις 3 κλίμακες με τις διαστάσεις του γραμματοκιβωτίου σας. Καθώς το δικό μου ήταν 25 cm (H) χρησιμοποίησα συντελεστή κλίμακας = 1.
Βήμα 3: Προσαρμογή ρολογιού σε πραγματικό χρόνο
Για το RTC χρησιμοποίησα έναν πίνακα ανάρτησης DS3231 ο οποίος περιλαμβάνει EEPROM (άχρηστο για τον σκοπό μου) και μπαταρία μεγέθους νομισμάτων. Καθώς αποφάσισα να τροφοδοτήσω το RTC μέσω της μπαταρίας της κύριας συσκευής (ένα 3v CR123), αφαίρεσα την μπαταρία νομισμάτων. για εξοικονόμηση ενέργειας αφαίρεσα επίσης το EEPROM (κόβοντας προσεκτικά τους πείρους του) και το ενσωματωμένο led.
Η μπαταρία νομισμάτων δεν ήταν χρήσιμη για μένα επειδή δεν χρειαζόταν να κρατήσω ημερομηνία/ώρα/λεπτό/δευτερόλεπτο σε πραγματικό χρόνο, αλλά το RTC έπρεπε να μετρήσει μόνο για 24 ώρες και στη συνέχεια να ενεργοποιήσει τον συναγερμό για να ενεργοποιήσει τη συσκευή.
Βήμα 4: Άλλα Διάφορα επί του σκάφους
Η ενεργοποίηση της συσκευής πραγματοποιείται από ένα τρανζίστορ και ένα κύκλωμα MosFET, που ενεργοποιείται από τον συναγερμό RTC. Μόλις επανέλθει ο συναγερμός, το κύκλωμα διακόπτει την τροφοδοσία της συσκευής για έναν ακόμη κύκλο 24 ωρών. Όταν φτάσει ο συναγερμός, ο DS3231 αλλάζει έναν πείρο από ψηλά σε χαμηλά: σε κανονικές συνθήκες το τρανζίστορ είναι κορεσμένο και βραχυκύκλωμα στη γείωση της πύλης του MosFET. Μόλις ο συναγερμός φέρει τη βάση του τρανζίστορ στη γείωση, ανοίγει και επιτρέπει στο MosFET να κλείσει το κύκλωμα και να δώσει ισχύ στα υπόλοιπα εξαρτήματα.
Επιπλέον, πρόσθεσα έναν άλτη "test-1M". Ο σκοπός αυτού του διακόπτη είναι - εάν είναι ενεργοποιημένος - να αλλάξει τον κύκλο από μία φορά την ημέρα σε μία φορά το λεπτό, προκειμένου να εκτελούνται δοκιμές ανάπτυξης. Για να αλλάξετε το διάστημα από μία ημέρα σε ένα λεπτό, πρέπει πρώτα να κλείσετε το βραχυκυκλωτήρα "Test-C" για περίπου 15 δευτερόλεπτα, για να παρακάμψετε την περίοδο ενεργοποίησης του ξυπνητηριού ρολογιού και να ενεργοποιήσετε τη συσκευή. Όταν ολοκληρωθούν οι δοκιμές, ανοίξτε τους βραχυκυκλωτήρες και επαναφέρετε τη συσκευή (κύκλος ισχύος).
Βήμα 5: Σχηματικό
Βήμα 6: Λογισμικό και λογική
Κατά τη διάρκεια των δοκιμών χρησιμοποίησα (για πρακτικούς λόγους) ελεγκτή NodeMCU, οπότε το λογισμικό φροντίζει για αυτό ρυθμίζοντας το CHIP variale σε "NodeMCU" ή "esp8266".
Το σκίτσο υλοποιεί τη βιβλιοθήκη WiFiManager για να επιτρέψει στη συσκευή να συνδεθεί με ένα έγκυρο WiFi WiFi κατά την πρώτη κιόλας εκτέλεση. Σε μια τέτοια περίπτωση, η συσκευή μεταβαίνει σε λειτουργία AP, επιτρέποντάς σας να συνδεθείτε σε αυτήν και να επιλέξετε το σωστό δίκτυο WiFi για συμμετοχή. Μετά από αυτό, η διαμόρφωση δικτύου αποθηκεύεται στο EPROM για επόμενους κύκλους.
Η μεταβλητή REST_MSG περιέχει το μήνυμα http για αποστολή όταν ο αισθητήρας εντοπίσει ένα αντικείμενο στο γραμματοκιβώτιο. Στην περίπτωσή μου, στέλνει ένα μήνυμα σε έναν domotic διακομιστή REST, αλλά μπορείτε να το αλλάξετε όπως προτιμάτε: ένα μήνυμα Telegram BOT, ένα συμβάν IFTTT WebHook κ.λπ.
Το υπόλοιπο σκίτσο βρίσκεται στη λειτουργία setup (), καθώς ο βρόχος δεν φτάνει ποτέ. Μετά τις διαμορφώσεις που απαιτούνται για τις διάφορες βιβλιοθήκες, το λογισμικό ορίζει την ώρα του ρολογιού σε 00:00:01 και το ξυπνητήρι σε μία φορά την ημέρα (ή μία φορά το λεπτό εάν είναι ενεργοποιημένος ο βραχυκυκλωτήρας "test-1M"). Στη συνέχεια, κάνει το μέτρο, στέλνει την ειδοποίηση (εάν εντοπιστεί κάποιο αντικείμενο στο γραμματοκιβώτιο) και επαναφέρει τον πείρο συναγερμού, κλείνοντας τη συσκευή. Στο τέλος του κύκλου, ενεργοποιείται μόνο το RTC, μετρώντας για 24 ώρες. Ο βραχυκυκλωτήρας Test-1M συνδέεται με τον πείρο RX του ESP8266, που χρησιμοποιείται ως GPIO-3 μέσω της ρύθμισης: setMode (PIN, FUNCTION_3). Εξαιτίας αυτού, δεν μπορείτε να χρησιμοποιήσετε τη Σειριακή οθόνη ενώ εκτελείτε το ESP8266: η γραμμή "#define DEBUG" (η οποία επιτρέπει όλες τις σειριακές εκτυπώσεις στο σκίτσο) χρησιμοποιείται μόνο όταν ένα NodeMCU είναι εγκατεστημένο στη θέση ενός ESP8266.
Το ESP8266 χειρίζεται την επικοινωνία I2C με το RTC και τον αισθητήρα μέσω των ακίδων GPIO-0 και GPIO-2, που έχουν αρχικοποιηθεί στη βιβλιοθήκη Wire.
Μπορείτε να κατεβάσετε τον πλήρη κώδικα από αυτόν τον σύνδεσμο.
Επόμενη στον Διαγωνισμό Υποβοηθητικής Τεχνολογίας
Συνιστάται:
ESP Κάτι: 6 βήματα
ESP Κάτι: Ο σκοπός μου εδώ είναι να μοιραστώ την εμπειρία μου με το ESP8266 μέσω των μονάδων ESP-01, ESP-12 και NodeMCU. Θα εξηγήσω: 1. Πώς να συνδέσετε το ESP-01 στον υπολογιστή σας2. Φορτώστε ξανά το υλικολογισμικό AT Χρησιμοποιήστε το Arduino IDE για να προγραμματίσετε το chip4. Εμπειρία Node MCU5
Πώς να αποσυναρμολογήσετε έναν υπολογιστή με εύκολα βήματα και εικόνες: 13 βήματα (με εικόνες)
Πώς να αποσυναρμολογήσετε έναν υπολογιστή με εύκολα βήματα και εικόνες: Αυτή είναι μια οδηγία σχετικά με τον τρόπο αποσυναρμολόγησης ενός υπολογιστή. Τα περισσότερα από τα βασικά στοιχεία είναι αρθρωτά και αφαιρούνται εύκολα. Ωστόσο, είναι σημαντικό να είστε οργανωμένοι σε αυτό. Αυτό θα σας βοηθήσει να αποφύγετε την απώλεια εξαρτημάτων και επίσης να κάνετε την επανασυναρμολόγηση να
Κάντε κάτι ωραίο με μια σπασμένη κονσόλα παιχνιδιών: 6 βήματα
Make Something Nice With a Broken Game Console: Πριν από λίγο ο φίλος μου μου έδωσε το παλιό του PS2 που δεν λειτουργεί πια. Δυστυχώς, επειδή δεν είμαι ηλεκτρολόγος μηχανικός, δεν μπορώ να διορθώσω την κονσόλα, αλλά μπορώ να χρησιμοποιήσω τις γνώσεις μου για το RetroPie για να δημιουργήσω ένα ολοκαίνουργιο σύστημα παιχνιδιών. (Για αυτό το διδακτικό αυτό
Πώς να τροποποιήσετε το μοτέρ DC σε κάτι εκπληκτικό: 5 βήματα
Πώς να τροποποιήσετε το μοτέρ DC σε κάτι εκπληκτικό: Γεια σας φίλοι σε αυτό το διδακτικό, έκανα μια καταπληκτική τροποποίηση από τον παλιό μου κινητήρα dc, στον οποίο το σώμα του κινητήρα έχει ληφθεί και η περιστροφή του ρότορα είναι σαφώς ορατή … Συνέχεια ανάγνωσης
Μετατρέψτε ένα γενικό πλαστικό gadget σε κάτι λίγο πιο όμορφο: 14 βήματα (με εικόνες)
Μετατρέψτε ένα Generic Plastic Gadget σε κάτι λίγο πιο όμορφο: Κίνητρο: Κατά τη διάρκεια του καλοκαιριού είτε κάνω σέρφινγκ είτε εργάζομαι σε έργα γύρω από τον μικρό κήπο/φάρμα μας. Ο χειμώνας πλησιάζει εδώ στη Βοστώνη και είμαι έτοιμος να αρχίσω να επιτίθεμαι στη μακρά λίστα των έργων που έχω αναβάλει για τους «εσωτερικούς μήνες». Ωστόσο, έχω