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

Συνδεδεμένο κομοδίνο για παιδιά: 12 βήματα
Συνδεδεμένο κομοδίνο για παιδιά: 12 βήματα

Βίντεο: Συνδεδεμένο κομοδίνο για παιδιά: 12 βήματα

Βίντεο: Συνδεδεμένο κομοδίνο για παιδιά: 12 βήματα
Βίντεο: 12. Η εκπαίδευση στο Βυζάντιο. 2024, Ιούλιος
Anonim
Συνδεδεμένο ρολόι κομοδίνου για παιδιά
Συνδεδεμένο ρολόι κομοδίνου για παιδιά

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

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

Δεν είναι ξυπνητήρι (με είχαν ξυπνήσει οι γονείς μου ως παιδί και θα προσπαθήσω να κάνω το ίδιο για τα παιδιά μου, δείχνοντάς τους ότι κάποιος νοιάζεται για αυτά από το πρωί που ανοίγουν τα μάτια τους).

Η συσκευή θα συλλέγει πληροφορίες από το ημερολόγιο Google (ή οποιαδήποτε υπηρεσία που μπορεί να παρέχει ημερολόγια σε μορφή ICS) και θα συγχρονιστεί με το χρόνο διαδικτύου, καταργώντας την ανάγκη για μη αυτόματη ρύθμιση.

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

Η συσκευή βασίζεται σε μια μονάδα ESP-32, μπορεί εύκολα να προσαρμοστεί σε διαφορετικές πλατφόρμες που βασίζονται σε ESP-23 και πιθανώς επίσης σε ESP8266 και άλλες συμβατές με Arduino συσκευές που μπορούν να παρέχουν συνδεσιμότητα.

Βήμα 1: Στοιχεία

Συστατικά
Συστατικά
Συστατικά
Συστατικά
Συστατικά
Συστατικά

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

ΗΛΕΚΤΡΟΝΙΚΑ ΕΞΑΡΤΗΜΑΤΑ:

  • Ενότητα βασισμένη σε ESP-32. Μπορείτε να χρησιμοποιήσετε το Adafruit's Huzzah-32 ή οποιαδήποτε μονάδα ESP-32 που υποστηρίζει το περιβάλλον προγραμματισμού Arduino. Χρησιμοποίησα ένα module από το do-it που είναι διαθέσιμο από το Amazon.it σε πολύ λογική τιμή (δυστυχώς η διανομή του Adafruit στην Ιταλία δεν είναι πολύ καλή).
  • Ένας αισθητήρας PIR (εδώ είναι το on e που χρησιμοποίησα, αλλά μπορείτε να τα βρείτε εύκολα στο διαδίκτυο ή σε τοπικά καταστήματα για κατασκευαστές). Ο αισθητήρας μου απαιτεί ισχύ 5V και παράγει σήμα εξόδου 3.3V που είναι συμβατό και με συσκευές 5V. Ελέγξτε ότι οι δικοί σας αισθητήρες έχουν τις ίδιες προδιαγραφές ή προσαρμόστε το σχέδιο ανάλογα.
  • Λιπαντική οθόνη I2C. Χρησιμοποίησα μια μονόχρωμη οθόνη 128x64 pixel και είναι συμβατή με το μοντέλο του Adafruit που απαιτεί λιγότερες συνδέσεις για να λειτουργήσει (από προεπιλογή έχει ρυθμιστεί σε διεπαφή I2C). Εάν χρησιμοποιείτε διαφορετική οθόνη, μπορεί να χρειαστεί να αλλάξετε το λογισμικό, αλλά το γραφικό έχει εφαρμοστεί χρησιμοποιώντας την εξαιρετική βιβλιοθήκη GFX του Adafruit, οπότε η μεταφορά σε μια συμβατή οθόνη δεν θα πρέπει να είναι πολύ δύσκολη.
  • Καλώδια βραχυκυκλωτήρων (είμαι πολύ κακός στη συγκόλληση, οπότε προτιμώ να μην κολλήσω απευθείας σε καρφίτσες).
  • Τροφοδοτικό 5V. Ο τύπος του συνδετήρα δεν είναι σημαντικό αφού πρόκειται να τον κόψουμε και να χρησιμοποιήσουμε τα καλώδια απευθείας. Αν θέλετε απλώς να τροφοδοτήσετε τη μονάδα ESP-32, χωρίς τη βάση μαγνήτη, μπορείτε να χρησιμοποιήσετε έναν προσαρμογέα τροφοδοσίας USB-micro.

Στοιχεία τοποθέτησης:

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

Εργαλεία:

  • Συγκολλητικό σίδερο
  • Κατσαβίδι
  • Ένας υπολογιστής με εγκατεστημένο το Arduino IDE και το περιβάλλον ανάπτυξης του ESP-32 Arduino Core έχει διαμορφωθεί όπως περιγράφεται σε αυτήν τη σελίδα.

Βήμα 2: Ρύθμιση του Ημερολογίου Google

Ρύθμιση Ημερολογίου Google
Ρύθμιση Ημερολογίου Google
Ρύθμιση Ημερολογίου Google
Ρύθμιση Ημερολογίου Google
Ρύθμιση Ημερολογίου Google
Ρύθμιση Ημερολογίου Google

Εδώ θα δείξω πώς να χρησιμοποιήσετε το Ημερολόγιο Google για να δημιουργήσετε ένα ημερολόγιο που θα χρησιμοποιείται από τη συσκευή σας, μπορείτε να χρησιμοποιήσετε οποιαδήποτε υπηρεσία ημερολογίου που σας επιτρέπει να έχετε πρόσβαση στο ημερολόγιο σε μορφή iCal. Τα ονόματα και οι ρυθμίσεις των πεδίων θα είναι διαφορετικά, φυσικά, αλλά εφόσον θα μπορείτε να εξάγετε το ημερολόγιό σας σε μορφή iCal με σταθερή διεύθυνση https θα πρέπει να λειτουργεί με το ρολόι σας.

Για να αποκτήσετε πρόσβαση στο Ημερολόγιο Google χρειάζεστε έναν Λογαριασμό Google.

Στη συνέχεια, μπορείτε να επισκεφτείτε το calendar.google.com.

Οι οδηγίες πρέπει να ακολουθούνται χρησιμοποιώντας ένα πρόγραμμα περιήγησης στον υπολογιστή/Mac σας. Θα πρέπει να μπορείτε να εκτελείτε τις ίδιες λειτουργίες και από τη δική σας εφαρμογή για κινητά της Google.

Στο Ημερολόγιο Google θα πρέπει να δημιουργήσετε ένα νέο ημερολόγιο επιλέγοντας το εικονίδιο "+" δίπλα στο "Προσθήκη ημερολογίου φίλου" (όχι τόσο διαισθητικό) και στη συνέχεια επιλέξτε "Νέο ημερολόγιο" από το αναδυόμενο μενού (πιο διαισθητικό).

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

Για να διαμορφώσετε τις ώρες πρέπει να εισαγάγετε ένα γράμμα: "W" για τον προεπιλεγμένο χρόνο αφύπνισης, "H" για το τέλος της εβδομάδας και τις διακοπές και "B" για την ώρα του ύπνου, στη συνέχεια ένα ερωτηματικό και την ώρα σε μορφή 24HR (Λυπάμαι για τους Αμερικανούς φίλους μου). Πολλαπλές παράμετροι πρέπει να προστεθούν σε ξεχωριστές γραμμές.

Για παράδειγμα:

W: 08:00

Η: 08:30

Β: 22:00

Σημαίνει ότι ο χρόνος αφύπνισης είναι κανονικά 8 π.μ. και 8:30 π.μ. για ΕΜΕΙΣ/διακοπές και ο χρόνος ύπνου είναι 10 μ.μ.

Σε αυτό το σημείο μπορείτε να κάνετε κλικ στο "δημιουργία ημερολογίου" για να το προσθέσετε στη λίστα των ημερολογίων που διαχειρίζεται το Ημερολόγιο Google.

Θα χρειαστεί να λάβετε ένα URL που μπορεί να χρησιμοποιηθεί για να το κατεβάσετε σε μορφή iCal. Για να το κάνετε αυτό, πρέπει να κάνετε κλικ στις κάθετες κουκκίδες που εμφανίζονται στα δεξιά του ονόματος του ημερολογίου όταν το τοποθετείτε με το ποντίκι (όχι διαισθητικό) και, στη συνέχεια, κάντε κλικ στην επιλογή "Ρυθμίσεις και κοινή χρήση".

Θα πρέπει να μετακινηθείτε προς τα κάτω στη σελίδα ρυθμίσεων (τουλάχιστον εάν δεν έχετε οθόνη 4k) και να αναζητήσετε το πεδίο "Μυστική διεύθυνση σε μορφή iCal". Αντιγράψτε και αποθηκεύστε το κείμενο (έχει θολώσει στο στιγμιότυπο οθόνης μου) επειδή θα το χρειαστείτε για να διαμορφώσετε τη συσκευή σας.

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

Επιλέξτε ξανά το εικονίδιο "+" δίπλα στο "Προσθήκη ημερολογίου φίλου" και αυτή τη φορά επιλέξτε "περιήγηση ημερολογίων που σας ενδιαφέρουν".

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

Ανοίξτε τη σελίδα "ρυθμίσεις", χρησιμοποιώντας το κατακόρυφο μενού κουκκίδων όπως περιγράφεται παραπάνω για το κανονικό ημερολόγιο και αυτή τη φορά αντιγράψτε και αποθηκεύστε τη διεύθυνση URL στην ενότητα "Δημόσια διεύθυνση σε μορφή iCal".

Εάν δεν μπορείτε να βρείτε ένα κατάλληλο ημερολόγιο διακοπών, πιθανώς μόνο η αναζήτηση στο Google μπορεί να σας βοηθήσει να βρείτε έναν ιστότοπο που παρέχει ημερολόγιο iCal για τη συγκεκριμένη τοποθεσία σας.

Σε αυτό το σημείο θα έχετε τις πληροφορίες που χρειάζεστε για να επιτρέψετε στη συσκευή να κατεβάσει τα ημερολόγιά σας:

  • URL του κύριου ημερολογίου ρολογιού σας
  • URL του ημερολογίου διακοπών

Βήμα 3: Συλλέξτε πληροφορίες ζώνης ώρας

Συλλέξτε πληροφορίες ζώνης ώρας
Συλλέξτε πληροφορίες ζώνης ώρας
Συλλέξτε πληροφορίες ζώνης ώρας
Συλλέξτε πληροφορίες ζώνης ώρας

Το ρολόι είναι σε θέση να συγχρονιστεί με υπηρεσίες που βασίζονται στο Διαδίκτυο, αλλά θα πρέπει να γνωρίζει σε ποια ζώνη ώρας βρίσκεστε για να μπορείτε να προσαρμόσετε την τρέχουσα ώρα και τις ώρες συμβάντων σε αυτό.

Οι ζώνες ώρας μπορούν να εκφραστούν χρησιμοποιώντας μια συμβολοσειρά χαρακτήρων που περιγράφει την αντιστάθμισή της από το GMT (ώρα Γκρίνουιτς) και τους κανόνες που χρησιμοποιούνται για εναλλαγή μεταξύ θερινής ώρας και κανονικής ώρας. Η δημιουργία αυτής της χορδής δεν είναι πολύ εύκολη, αλλά ευτυχώς κύριε. Ο Pavel Gurenko εφάρμοσε ένα ωραίο εργαλείο που μας επιτρέπει να δημιουργήσουμε αυτήν τη συμβολοσειρά παρέχοντας απλώς το όνομα της ζώνης ώρας που μπορείτε να βρείτε στη διεύθυνση https://www.pavelgurenko.com/2017/05/getting-posix-tz-strings-from- olson.html

Τα ονόματα της ζώνης ώρας εξαρτώνται από την ήπειρο/χώρα/πόλη όπου βρίσκεστε. Στην Ευρώπη είναι συνήθως αρκετό να καθορίσετε την Ευρώπη/, για χώρες με πολλαπλές ζώνες ώρας τα πράγματα μπορεί να είναι λίγο πιο περίπλοκα, αλλά αυτή η σελίδα της wikipedia https://en.wikipedia.org/wiki/List_of_tz_database_time_zones θα σας βοηθήσει να βρείτε τη σωστή.

Αφού βρείτε το όνομα της ζώνης ώρας, μπορείτε να το πληκτρολογήσετε στη φόρμα στον κ. Το blog του Gurenko και πατήστε submit για να λάβετε τη σωστή συμβολοσειρά (όπως μπορείτε να δείτε στα στιγμιότυπα οθόνης).

Για παράδειγμα, η συμβολοσειρά για τη ζώνη ώρας μου (Ευρώπη/Ρώμη) είναι: Ευρώπη/Ρώμη (CET-1CEST, M3.5.0, M10.5.0/3)

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

Βήμα 4: Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας

Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας
Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας
Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας
Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας
Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας
Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας
Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας
Διαμορφώστε και προσθέστε προσαρμοσμένες εικόνες για τις εκδηλώσεις σας

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

Δυστυχώς, η οθόνη είναι αρκετά μικρή και μονόχρωμη, οπότε αυτό θα περιορίσει λίγο την πολυπλοκότητα των εικόνων σας.

Η συσκευή υποστηρίζει μονόχρωμες bitmap 48x48 pixel. Είναι σε θέση να τα κατεβάσει από το google drive, αλλά θα χρειαστεί να παράσχετε ένα αρχείο ευρετηρίου για να τα ταιριάξετε με λέξεις στην περιγραφή της εκδήλωσής σας.

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

Πρώτα απ 'όλα, πρέπει να δημιουργήσετε bitmaps, μπορείτε να χρησιμοποιήσετε οποιαδήποτε γραφική εφαρμογή θέλετε, αρκεί να την αποθηκεύσετε ως μη συμπιεσμένο αρχείο Windows Bitmap (BMP). Το μέγεθος του αρχείου πρέπει να είναι 446 byte.

Εάν χρησιμοποιείτε MS-Paint, μπορείτε να δημιουργήσετε μια νέα εικόνα και να την αλλάξετε σε 48x48 pixel (δείτε το πρώτο στιγμιότυπο οθόνης).

Στη συνέχεια, μπορείτε να σχεδιάσετε την εικόνα, μπορείτε να χρησιμοποιήσετε μόνο ασπρόμαυρο και το pixel θα αντιστραφεί στην οθόνη (τα λευκά pixel θα είναι λευκά και αντίστροφα).

Όταν είστε ικανοποιημένοι με τα αποτελέσματα (δεύτερο στιγμιότυπο οθόνης), μπορείτε να επιλέξετε "αποθήκευση ως …" και να επιλέξετε τη μορφή εικόνας ως μονόχρωμο αρχείο bitmap των Windows (τρίτο στιγμιότυπο οθόνης).

Ανεβάστε εικόνες στο Google Drive και συλλέξτε συνδέσμους

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

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

www.labnol.org/internet/direct-links-for-g…

ή αυτήν τη σελίδα για τη μετατροπή συνδέσμων κοινής χρήσης σε απευθείας λήψη:

sites.google.com/site/gdocs2direct/

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

:

θα πρέπει να τερματίσετε τη λίστα με τη λέξη -κλειδί "τέλος" σε μια νέα σειρά (δείτε το στιγμιότυπο οθόνης τέσσερα για παράδειγμα).

Μεταφόρτωση αρχείου ευρετηρίου

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

Δυστυχώς, το Google Drive δεν θα σας επιτρέψει να κατεβάσετε το αρχείο εάν το αλλάξατε χρησιμοποιώντας τον επεξεργαστή Εγγράφων Google, οπότε πρέπει να επεξεργαστείτε το αρχείο κειμένου στον υπολογιστή σας και να το ανεβάσετε στο google drive κάθε φορά που θέλετε να προσθέσετε νέες φωτογραφίες ή να αλλάξετε κάτι Το

Βήμα 5: Εγκατάσταση λογισμικού

Εγκατάσταση λογισμικού
Εγκατάσταση λογισμικού
Εγκατάσταση λογισμικού
Εγκατάσταση λογισμικού

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

Ρυθμίστε την υποστήριξη Arduino IDE και ESP-32

Πρέπει να εγκαταστήσετε το Arduino IDE που μπορείτε να κατεβάσετε από τον επίσημο ιστότοπο του Arduino.

Στη συνέχεια, πρέπει να εγκαταστήσετε την υποστήριξη ESP-32 ακολουθώντας τις οδηγίες στο github.

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

Λήψη βιβλιοθηκών και κώδικα

Πρέπει να προσθέσετε τις βιβλιοθήκες που απαιτούνται για το έργο χρησιμοποιώντας το Arduino Library manager.

Επιλέξτε "Sketch / Include Library / Manage Libraries …" από το κύριο μενού Arduino IDE (δείτε το πρώτο στιγμιότυπο οθόνης).

Για να δημιουργήσετε τον κώδικα πρέπει να αναζητήσετε και να εγκαταστήσετε:

  • Βιβλιοθήκη Adafruit GFX
  • Adafruit SSD1306
  • RootCertificates

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

Λήψη κώδικα

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

Μπορείτε απλά να το αποσυμπιέσετε ή να το κλωνοποιήσετε στο φάκελο όπου αποθηκεύονται τα σκίτσα σας στο Arduino.

Το λογισμικό είναι ακόμα σε εξέλιξη, οπότε μη διστάσετε να ανοίξετε θέματα στο github εάν αντιμετωπίζετε προβλήματα και το παρακολουθείτε για μελλοντικές ενημερώσεις.

Βήμα 6: Ρύθμιση λογισμικού

Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού
Ρύθμιση λογισμικού

Για να επιτρέψετε στο ρολόι σας να συνδεθεί με το δικό του ημερολόγιο και να συλλέξει τις πρόσθετες πληροφορίες (ημερολόγιο διακοπών, προσαρμοσμένα εικονίδια κ.λπ.), πρέπει πρώτα να εκτελέσετε το σκίτσο διαμόρφωσης.

Εκτέλεση σκίτσου διαμόρφωσης

Στο Arduino IDE μπορείτε να επιλέξετε "Αρχείο / Άνοιγμα …" και να μεταβείτε στο φάκελο όπου αποθηκεύετε τον κώδικα που κατεβάσατε από το github.

Στη συνέχεια, μπορείτε να μετακινήσετε το φάκελο "KidsClockConfig" και να ανοίξετε το σκίτσο "KidsClockConfig.ino" (δείτε το πρώτο στιγμιότυπο οθόνης).

Πρέπει να συνδέσετε την πλακέτα ESP-32 χρησιμοποιώντας ένα καλώδιο USB, αυτό θα την ενεργοποιήσει επίσης.

Ο υπολογιστής σας θα του εκχωρήσει μια σειριακή θύρα, πρέπει να την επιλέξετε στη σωστή θύρα στο υπομενού "εργαλεία / θύρες" του Arduino IDE.

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

Το τελευταίο μήνυμα στο παράθυρο εξόδου (κάτω από το Arduino IDE) πρέπει να είναι:

Σκληρή επαναφορά μέσω καρφίτσας RTS…

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

Για να ανοίξετε το τερματικό επιλέξτε "εργαλεία / σειριακή οθόνη …" στο κύριο μενού του Arduino IDE, αυτό θα ανοίξει ένα νέο παράθυρο που θα σας επιτρέψει να επικοινωνήσετε με τη συσκευή μέσω σειριακής χρήσης (χρησιμοποιώντας το ίδιο καλώδιο USB που χρησιμοποιήσατε για τη λήψη του κώδικα).

Διαμορφώστε την σειριακή ταχύτητα σε 115200 baud (δείτε το συνημμένο στιγμιότυπο οθόνης) και πατήστε το κουμπί "αποστολή".

Η συσκευή θα σας ζητήσει SSID (όνομα του δικτύου wi-fi). Οι ρυθμίσεις αποθηκεύονται στο εσωτερικό της συσκευής EEPROM (μόνιμος χώρος αποθήκευσης), αν κάτι έχει ήδη αποθηκευτεί, απλώς πρέπει να πατήσετε αποστολή για να διατηρηθεί ως έχει, διαφορετικά αντιγράψτε ή πληκτρολογήστε τις πληροφορίες στο πλαίσιο κειμένου και πατήστε αποστολή.

Θα σας ζητηθεί:

  • SSID (δείτε στιγμιότυπο οθόνης)
  • κλειδί wi-fi (κωδικός πρόσβασης)
  • δημόσιο URL του ημερολογίου που χρησιμοποιείται για συμβάντα (αυτό που δημιουργήσατε στο βήμα 2)
  • URL του ημερολογίου διακοπών (για τη χώρα/τοποθεσία σας, που συλλέχθηκε στο βήμα 2)
  • Ζώνη ώρας με τη μορφή που λαμβάνεται στο βήμα 3 (για παράδειγμα η ζώνη ώρας για την Ιταλία είναι "CET-1CEST, M3.5.0, M10.5.0/3" παρεμβάλλεται χωρίς εισαγωγικά)
  • URL του αρχείου ευρετηρίου (δημιουργήθηκε στο βήμα 4)

Αφού εισαγάγετε τις τελευταίες πληροφορίες, θα πρέπει να δείτε:

Οι ρυθμίσεις αποθηκεύτηκαν.

Εκτυπώνεται στη σειριακή κονσόλα.

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

Εκτέλεση τελικού σκίτσου

Σε αυτό το σημείο, μπορείτε να ανοίξετε το σκίτσο με το όνομα "KidsClock" και να το κατεβάσετε στη συσκευή.

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

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

Βήμα 7: Βασική πλάκα και τροφοδοτικό

Πλάκα βάσης και τροφοδοτικό
Πλάκα βάσης και τροφοδοτικό
Πλάκα βάσης και τροφοδοτικό
Πλάκα βάσης και τροφοδοτικό
Πλάκα βάσης και τροφοδοτικό
Πλάκα βάσης και τροφοδοτικό

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

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

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

Συγκόλλησα καλώδια από τροφοδοτικό 5V απευθείας στους μαγνήτες. Μπορείτε πρώτα να τοποθετήσετε τους μαγνήτες και μετά να κολλήσετε τα καλώδια από την πίσω πλευρά. Η θέρμανση των μαγνητών θα λιώσει επίσης λίγο το PLA γύρω τους, εξασφαλίζοντας ότι δεν θα αφαιρεθούν εύκολα από την πλάκα.

Η κατανάλωση ενέργειας της συσκευής είναι αρκετά χαμηλή, οπότε το τροφοδοτικό 500mA θα το έκανε. Προσέξτε τι μαγνήτη συνδέετε στο θετικό και αρνητικό καλώδιο του τροφοδοτικού (είναι καλή ιδέα να γράψετε "+" και "-" με δείκτη για να αποφύγετε την εναλλαγή τους).

Βήμα 8: Κύρια υπόθεση

Κύρια υπόθεση
Κύρια υπόθεση
Κύρια υπόθεση
Κύρια υπόθεση
Κύρια υπόθεση
Κύρια υπόθεση

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

Για να απλοποιήσω τα πράγματα έκοψα μερικά καλώδια βραχυκυκλωτήρων (ο πίνακας και τα άλλα εξαρτήματα έχουν ακίδες 2,54 χιλιοστών) και έφτιαξα δύο καλώδια με πολλαπλές εξόδους (δείτε την πρώτη εικόνα). Ένα με 3 εξόδους για τροφοδοσία 5V και ένα με 4 για γείωση.

Πρέπει να πάρετε το καλώδιο χωρίς σύνδεσμο βραχυκυκλωτήρα και να το κολλήσετε σε μαγνήτη, αλλά πρέπει πρώτα να κάνετε δύο πράγματα:

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

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

Βήμα 9: Τοποθέτηση εξαρτημάτων στο εσωτερικό της θήκης

Στοιχεία τοποθέτησης στο εσωτερικό της θήκης
Στοιχεία τοποθέτησης στο εσωτερικό της θήκης
Στοιχεία τοποθέτησης στο εσωτερικό της θήκης
Στοιχεία τοποθέτησης στο εσωτερικό της θήκης
Στοιχεία τοποθέτησης στο εσωτερικό της θήκης
Στοιχεία τοποθέτησης στο εσωτερικό της θήκης

Η θήκη εκτύπωσης 3D έχει δύο οπές στερέωσης, μία (στο επάνω μέρος) για τον αισθητήρα PIR και μία στο κάτω μέρος της οθόνης.

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

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

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

Βήμα 10: Καλωδίωση και δοκιμή

Καλωδίωση και δοκιμή
Καλωδίωση και δοκιμή
Καλωδίωση και δοκιμή
Καλωδίωση και δοκιμή
Καλωδίωση και δοκιμή
Καλωδίωση και δοκιμή

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

Μπορείτε να δείτε το σχηματικό κατεβάζοντας το αρχείο PDF που επισυνάπτεται σε αυτό το βήμα.

Αρχικά, πρέπει να συνδέσετε τους ακροδέκτες I2C (SCL και SDA) της πλακέτας ESP-32 στην οθόνη.

Στον πίνακα doit, αυτές είναι οι καρφίτσες με την ένδειξη GPIO21 και GPIO22, η θέση και οι ετικέτες μπορεί να αλλάξουν σε άλλους πίνακες που βασίζονται σε ESP-32, αλλά θα πρέπει να βρείτε εύκολα SCL και SDA που αναφέρονται στην τεκμηρίωση.

Στη συνέχεια, πρέπει να συνδέσετε τον πείρο εξόδου του PIR (μεσαίο pin για τον αισθητήρα μου, αλλά, ξανά, ελέγξτε την τεκμηρίωση εάν χρησιμοποιείτε διαφορετικό) στο GPIO12.

Σε αυτό το σημείο θα πρέπει να συνδέσετε το τροφοδοτικό 5V (κόκκινο καλώδιο) σε ακίδες VIN της πλακέτας, PIR και οθόνη καλωδίου γείωσης (μαύρο) στις 2 ακίδες γείωσης της πλακέτας (μία πρέπει να είναι αρκετή, αλλά προτίμησα να χρησιμοποιήστε και τα δύο για να διατηρήσετε την πλακέτα πιο στενά συνδεδεμένη μέσα στη θήκη), PIR και οθόνη

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

Η οθόνη θα πρέπει να ενεργοποιηθεί σε λιγότερο από ένα δευτερόλεπτο, εμφανίζοντας ένα μήνυμα: "σύνδεση με" και το SSID σας.

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

Βήμα 11: Προσθήκη καταχωρήσεων στο Ημερολόγιο

Προσθήκη καταχωρήσεων στο Ημερολόγιο
Προσθήκη καταχωρήσεων στο Ημερολόγιο

Τώρα μπορείτε να προσθέσετε νέες καταχωρήσεις στο ημερολόγιο.

Μπορείτε απλώς να χρησιμοποιήσετε τον ιστότοπο του ημερολογίου ή την εφαρμογή τηλεφώνου.

Πατήστε το μεγάλο εικονίδιο "+" και διαμορφώστε το συμβάν σας.

Τα σημαντικά πράγματα που πρέπει να προσέξετε (δείτε στιγμιότυπο οθόνης) είναι:

- βεβαιωθείτε ότι επιλέξατε το σωστό ημερολόγιο, η Google χρησιμοποιεί το κύριο ημερολόγιό σας ως προεπιλογή, θα πρέπει να το αλλάξετε

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

- η συσκευή υποστηρίζει μόνο μεμονωμένα συμβάντα, όχι επαναλαμβανόμενα/περιοδικά

- Το κείμενο στο πεδίο θέματος (έως 32 χαρακτήρες) θα εμφανιστεί κάτω από το εικονίδιο

- Στο πεδίο περιγραφής, μπορείτε να προσθέσετε το όνομα μιας από τις εικόνες που ρυθμίσατε στο βήμα 4 ή να το αφήσετε κενό για να χρησιμοποιήσετε το προεπιλεγμένο εικονίδιο

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

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

Βήμα 12: Συμπέρασμα

συμπέρασμα
συμπέρασμα

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

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

Εάν έχετε προβλήματα με την κατασκευή του, μη διστάσετε να χρησιμοποιήσετε σχόλια εδώ. Εάν αντιμετωπίζετε προβλήματα με το λογισμικό, χρησιμοποιήστε το github repo.

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

Συνιστάται: