Πίνακας περιεχομένων:

Postino: Ο ταχυδρόμος παρέδωσε κάτι ;: 6 βήματα (με εικόνες)
Postino: Ο ταχυδρόμος παρέδωσε κάτι ;: 6 βήματα (με εικόνες)

Βίντεο: Postino: Ο ταχυδρόμος παρέδωσε κάτι ;: 6 βήματα (με εικόνες)

Βίντεο: Postino: Ο ταχυδρόμος παρέδωσε κάτι ;: 6 βήματα (με εικόνες)
Βίντεο: Κεντρικό Δελτίο Ειδήσεων 26/01/2024 | One Channel 2024, Ιούλιος
Anonim
Postino: Ο ταχυδρόμος παρέδωσε κάτι
Postino: Ο ταχυδρόμος παρέδωσε κάτι

Δεν είναι ιδέα μου: μια μέρα ένας φίλος μου ζήτησε έναν τρόπο για να ελέγξω εξ αποστάσεως αν υπήρχε κάποιο ταχυδρομείο στο γραμματοκιβώτιό του. Το γραμματοκιβώτιο δεν είναι στο μονοπάτι προς την πόρτα του, έτσι, καθώς είναι ένα τεμπέλης αγόρι, αναρωτήθηκε αν ένα 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.

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

Διαγωνισμός Υποβοηθητικής Τεχνολογίας
Διαγωνισμός Υποβοηθητικής Τεχνολογίας
Διαγωνισμός Υποβοηθητικής Τεχνολογίας
Διαγωνισμός Υποβοηθητικής Τεχνολογίας

Επόμενη στον Διαγωνισμό Υποβοηθητικής Τεχνολογίας

Συνιστάται: