- Απαιτούμενα στοιχεία:
- Ρύθμιση Raspberry Pi για ξυπνητήρι:
- Διάγραμμα κυκλώματος και συνδέσεις:
- Πρόγραμμα και εξήγηση εργασίας:
Σε αυτήν τη συνεδρία θα μεταβούμε στο Interface Real Time Clock Module DS1307 με το Raspberry PI για να δημιουργήσουμε ένα ξυπνητήρι. Αν και το Raspberry Pi έχει εσωτερικό ρολόι, αλλά χωρίς σύνδεση στο Διαδίκτυο, αυτό το εσωτερικό ρολόι επαναφέρεται μετά από κάθε επανεκκίνηση. Έτσι, για να έχουμε ακριβή ΧΡΟΝΟ χωρίς σύνδεση στο Διαδίκτυο, πρέπει να συνδέσουμε ένα RTC Module DS1307 με το Raspberry Pi. Η μονάδα RTC διαθέτει μπαταρία κουμπιού για δημιουργία αντιγράφων ασφαλείας, οπότε το TIME δεν θα επαναφέρει. Έχουμε επίσης κατασκευάσει το Ξυπνητήρι χρησιμοποιώντας το Arduino και χρησιμοποιώντας τον Μικροελεγκτή ATmega32 AVR, ελέγξτε τους επίσης.
Σε αυτό το ψηφιακό ρολόι Raspberry Pi, μια οθόνη LCD 16 * 2 χαρακτήρων θα εμφανίζει σε πραγματικό χρόνο, χρόνο συναγερμού και κατάσταση συναγερμού (ON / OFF). Μόλις το πρόγραμμα αρχίσει να εκτελείται στο Pi, μπορούμε να αποσυνδέσουμε την οθόνη και να ρυθμίσουμε το ξυπνητήρι με τη βοήθεια αυτής της οθόνης LCD και πέντε κουμπιών.
Κάθε μία από τις 17 ακίδες GPIO μπορεί να αποδώσει ή να τραβήξει ρεύμα έως 15mA. Επομένως, μην παίζετε με καρφίτσες GPIO και ελέγξτε τις συνδέσεις δύο φορές πριν ενεργοποιήσετε το Raspberry Pi. Μάθετε περισσότερα για τις καρφίτσες GPIO και το κουμπί διασύνδεσης με το Raspberry Pi εδώ. Ελέγξτε επίσης τη σειρά εκμάθησης Raspberry Pi μαζί με μερικά καλά έργα IoT.
Απαιτούμενα στοιχεία:
Εδώ χρησιμοποιούμε το Raspberry Pi 2 Model B με το Raspbian Jessie OS. Όλες οι βασικές απαιτήσεις υλικού και λογισμικού συζητήθηκαν προηγουμένως, μπορείτε να το αναζητήσετε στο Raspberry Pi Εισαγωγή και στο Raspberry PI LED Blinking για να ξεκινήσετε, εκτός από αυτό που χρειαζόμαστε:
- Raspberry Pi με προεγκατεστημένο λειτουργικό σύστημα
- RTC Module DS1307 με μπαταρία
- Παροχή ηλεκτρικού ρεύματος
- 1KΩ αντίσταση (6 τεμάχια)
- 5 κουμπιά
- Πυκνωτής 1000uF (2 τεμάχια)
- LCD 16 * 2 χαρακτήρων
- Τρανζίστορ 2N2222
- Βομβητής
Ρύθμιση Raspberry Pi για ξυπνητήρι:
Πριν προχωρήσουμε περισσότερο, πρέπει να ρυθμίσουμε λίγο το Raspberry Pi και να εγκαταστήσουμε το αρχείο βιβλιοθήκης για το RTC Module, ακολουθήστε τα παρακάτω βήματα:
Βήμα 1: Πρώτα μεταβείτε στο μενού διαμόρφωσης Raspberry Pi και ενεργοποιήστε την επιλογή I2C όπως φαίνεται παρακάτω:
Βήμα 2: Δημιουργήστε έναν νέο φάκελο στην οθόνη του Raspberry Pi και ονομάστε τον ως "Ξυπνητήρι"
Βήμα 3: Κατεβάστε το αρχείο κεφαλίδας για την ενότητα RTC από τον παρακάτω σύνδεσμο:
codeload.github.com/switchdoclabs/RTC_SDL_DS1307/zip/master
Βήμα 4: Αποσυμπιέστε το ληφθέν αρχείο zip στο φάκελο (Ξυπνητήρι) που δημιουργήθηκε στο DESKTOP, όπως ειπώθηκε στο προηγούμενο βήμα.
Βήμα 5: Ανοίξτε το παράθυρο τερματικού στο Raspberry Pi και εισαγάγετε την παρακάτω εντολή και, στη συνέχεια, πατήστε enter:
sudo apt-get εγκαταστήστε εργαλεία i2c
Αυτή η εντολή εγκαθιστά εργαλεία I2C που απαιτούνται για τη διασύνδεση της μονάδας RTC. Στη συνέχεια, επανεκκινήστε το Raspberry pi εκδίδοντας την εντολή " rebo sudo" .
Βήμα 6: Τώρα πρέπει να ελέγξουμε τη διεύθυνση I2C του RTC module. Πριν ελέγξετε τη διεύθυνση, συνδέστε πρώτα τη μονάδα RTC όπως φαίνεται στο Διάγραμμα κυκλώματος παρακάτω.
Στη συνέχεια, εισαγάγετε παρακάτω στο παράθυρο του τερματικού.
sudo i2cdetect -y 0 Ή sudo i2cdetect -y 1
Βήμα 7: Εάν κάποια από τις παραπάνω εντολές λειτουργεί, θα δείτε κάτι τέτοιο:
Βήμα 8: Θα δείτε τη διεύθυνση I2C 0x68 εάν η μονάδα RTC είναι σωστά συνδεδεμένη, καταγράψτε την τιμή.
Με αυτό γίνονται όλες οι απαραίτητες προσαρμογές με τη διαμόρφωση του Raspberry Pi.
Διάγραμμα κυκλώματος και συνδέσεις:
Οι συνδέσεις μεταξύ Raspberry Pi και LCD φαίνονται στον παρακάτω πίνακα:
Οι συνδέσεις μεταξύ του Raspberry Pi και των πέντε κουμπιών φαίνονται επίσης στον παρακάτω πίνακα με την αντίστοιχη λειτουργία κάθε κουμπιού:
Πρόγραμμα και εξήγηση εργασίας:
Η μονάδα RTC διαθέτει ένα κελί κουμπιού για δημιουργία αντιγράφων ασφαλείας ενέργειας, όπως συζητήθηκε, οπότε ο χρόνος θα είναι ενημερωμένος έως ότου εξαντληθεί το αντίγραφο ασφαλείας και θα έχουμε ακριβή χρόνο σε RTC.
Τώρα θα γράψουμε ένα πρόγραμμα Python για να λάβουμε τον ακριβή χρόνο από το RTC Module DS1307. Αυτή τη φορά θα εμφανιστεί στην οθόνη LCD 16x2. Μετά από αυτό θα έχουμε γραμμένο το πρόγραμμα ξυπνητηριού στο πρόγραμμα. Ο χρόνος συναγερμού θα εμφανίζεται επίσης στη δεύτερη γραμμή της οθόνης LCD, ακολουθούμενη από την κατάσταση ON και OFF. Ο χρόνος συναγερμού μπορεί να ρυθμιστεί με 5 κουμπιά συνδεδεμένα στο Raspberry Pi όπως αναφέρεται στον παραπάνω πίνακα και είναι πολύ εύκολο να ρυθμίσετε το ξυπνητήρι. Μπορείτε επίσης να δείτε το Demo Video για να χρησιμοποιήσετε αυτό το Ξυπνητήρι Raspberry Pi. Υπάρχουν 2 κουμπιά για αύξηση & μείωση του χρόνου ώρας συναγερμού, 2 κουμπιά για αύξηση & μείωση του χρόνου λεπτού συναγερμού και 1 κουμπί για ενεργοποίηση και απενεργοποίηση του συναγερμού.
Το πρόγραμμα Python συνεχίζει να συγκρίνει τον χρόνο συναγερμού με τον χρόνο RTC και όταν ο χρόνος συναγερμού ταιριάζει με τον χρόνο RTC, το PI ενεργοποιεί το Buzzer, το οποίο συνδέεται με τον ακροδέκτη GPIO 22 του Raspberry Pi μέσω του τρανζίστορ NPN 2N2222. Έτσι, μόλις φτάσει ο χρόνος συναγερμού, ο βομβητής κάνει τον ήχο.
Το πλήρες πρόγραμμα δίνεται παρακάτω, και εξηγείται καλά μέσω των σχολίων. Εάν έχετε οποιαδήποτε αμφιβολία μπορείτε να ρωτήσετε στην ενότητα σχολίων παρακάτω.