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

RaspberryPi Islamic Prayers Watch & Alarm: 15 βήματα (με εικόνες)
RaspberryPi Islamic Prayers Watch & Alarm: 15 βήματα (με εικόνες)

Βίντεο: RaspberryPi Islamic Prayers Watch & Alarm: 15 βήματα (με εικόνες)

Βίντεο: RaspberryPi Islamic Prayers Watch & Alarm: 15 βήματα (με εικόνες)
Βίντεο: Prayer Times Display Alarm Using RaspberryPi with 50 Inch LED Display 2024, Ιούνιος
Anonim
RaspberryPi Islamic Prayers Watch & Alarm
RaspberryPi Islamic Prayers Watch & Alarm
RaspberryPi Islamic Prayers Watch & Alarm
RaspberryPi Islamic Prayers Watch & Alarm

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

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

Πριν ξεκινήσετε να εργάζεστε στο έργο, υπάρχουν μερικές εκτιμήσεις που μπορεί να σας φανούν χρήσιμες ενώ διαβάζετε αυτό το Instructable. Ζω στη Σαουδική Αραβία, οπότε κάποια από τα βήματα και τις αξίες μου θα διαφέρουν από τα δικά σας, και θα τα αναφέρω ρητά κατά τη διάρκεια της εργασίας. Υπάρχουν βήματα και εικόνες που μπορεί να περιλαμβάνουν αραβικές λέξεις από τότε που έκανα τη διεπαφή στα αραβικά, αλλά επίσης θα επισημάνω πώς να το κάνω στα αγγλικά, οπότε μην αφήνετε τις αραβικές λέξεις στις εικόνες να σας ανησυχούν καθόλου, αυτό το έργο μπορεί να γίνεται σε οποιαδήποτε γλώσσα (που είναι φοβερό!: D) Επίσης, παρακαλώ συγχωρέστε τα τυπογραφικά λάθη μου καθώς τα αγγλικά δεν είναι η πρώτη μου γλώσσα.

Πάμε για το έργο μας! Αυτό το έργο θα χωριστεί σε X Μεγάλα βήματα, τα οποία μέχρι το τέλος του X Βήματος θα έχουμε το έργο μας ωραίο και έτοιμο! Τα βήματα θα είναι τα εξής:

1-Διαμόρφωση και προετοιμασία του RaspberryPi

2-Εγκατάσταση της μονάδας RTC

3-Κάνοντας το πρόγραμμα Azan Alarm

4-Εφαρμογή των όψεων του ρολογιού

5-Δημιουργία του περιβάλλοντος χρήστη και

Όπως κάθε έργο, πρέπει πρώτα να προετοιμάσουμε τα μέρη που χρειαζόμαστε. τα μέρη που χρειαζόμαστε για αυτό το έργο είναι:

Κιτ υπολογιστή 1-RaspberryPi Amazon US || Amazon KSA

Μπορείτε να χρησιμοποιήσετε οποιαδήποτε έκδοση Rpi, απλά βεβαιωθείτε ότι έχει Wifi. Χρησιμοποίησα το Rpi3B+

2-RTC Ενότητα ρολογιού πραγματικού χρόνου Amazon US || Amazon KSA

Μπορείτε να χρησιμοποιήσετε οποιοδήποτε μοντέλο μονάδας RTC, απλά βεβαιωθείτε ότι έχει I2C

3-LCD οθόνη

Κάθε LCD θα κάνει

4-Ποντίκι και πληκτρολόγιο

και αυτό….. ΙΤ !! Αυτό είναι το μόνο που χρειάζεστε για να φτιάξετε το δικό σας ρολόι Azan και ξυπνητήρι

Βήμα 1: Κεφάλαιο 1: Ρύθμιση και διαμόρφωση του RaspberryPI

Κεφάλαιο 1: Ρύθμιση και διαμόρφωση του RaspberryPI
Κεφάλαιο 1: Ρύθμιση και διαμόρφωση του RaspberryPI

Καταρχάς! Πρέπει να προετοιμάσουμε το Raspberry pi για να συνεργαστούμε με αυτό.

Το Raspberry pi δεν είναι παρά ένας υπολογιστής, έχει RAM και ROM, διαθέτει CPU, GPU, I/O ……. Ένας υπολογιστής! ακριβώς όπως αυτό με το οποίο παίζουμε παιχνίδια και περιηγούμαστε στον ιστό, το μόνο σημαντικό είναι ότι είναι πολύ μικρό! γεγονός που καθιστά το βατόμουρο μια πολύ καλή επιλογή για την κατασκευή και την υλοποίηση έργων. επειδή το raspberry pi είναι μικρό, έχει πολύ περιορισμένες προδιαγραφές ότι δεν μπορεί να λειτουργήσει ένα μεγάλο απαιτητικό λειτουργικό σύστημα όπως τα Windows ή το macOS, αντίθετα, θα χρησιμοποιήσουμε το Linux ως λειτουργικό σύστημα για να χρησιμοποιήσουμε τη συσκευή. Υπάρχουν χιλιάδες αν όχι δεκάδες χιλιάδες διανομές Linux που θα μπορούσαμε να χρησιμοποιήσουμε, αλλά μια τέλεια διανομή είναι απόλυτα βελτιστοποιημένη ειδικά για το raspberrypi που πρόκειται να χρησιμοποιήσουμε, που ονομάζεται Raspbian.

Βήμα 2: 1-1: Κατεβάστε τα απαραίτητα αρχεία

1-1: Κατεβάστε τα απαραίτητα αρχεία
1-1: Κατεβάστε τα απαραίτητα αρχεία
1-1: Κατεβάστε τα απαραίτητα αρχεία
1-1: Κατεβάστε τα απαραίτητα αρχεία
1-1: Κατεβάστε τα απαραίτητα αρχεία
1-1: Κατεβάστε τα απαραίτητα αρχεία

-Μεταβείτε στην επίσημη σελίδα λήψης Rasbian στη διεύθυνση https://www.raspberrypi.org/software/operating-sy… και κάντε λήψη του Raspberry Pi OS με αρχείο επιφάνειας εργασίας

-Ενώ γίνεται λήψη, μεταβείτε στη διεύθυνση https://win32diskimager.org/ και κατεβάστε και εγκαταστήστε το win32DiskImager, μπορείτε να χρησιμοποιήσετε οποιοδήποτε λογισμικό καύσης εικόνας σας αρέσει

μόλις ολοκληρωθεί η λήψη, θα έχετε ένα αρχείο.img που περιέχει το λειτουργικό σύστημα RaspberryPi. Στη συνέχεια, συνδέστε την κάρτα μνήμης SD στον υπολογιστή (συνήθως με συσκευή ανάγνωσης καρτών USB) και ξεκινήστε το λογισμικό win32diskimager. τα βήματα για την εγγραφή της εικόνας στη μνήμη SD είναι πολύ απλά, απλά πρέπει να 1- Επιλέξτε το γράμμα μνήμης 2-επιλέξτε τα αρχεία OS που έχετε κατεβάσει και 3-Κάντε κλικ στην εγγραφή! Βεβαιωθείτε ότι έχετε επιλέξει το σωστό γράμμα συσκευής από τη λίστα και η μνήμη σας είναι άδεια, καθώς πατώντας το γράψιμο θα προωθηθείτε με μια προειδοποίηση που σας λέει ότι οτιδήποτε στη συσκευή θα διαγραφεί! Πατήστε ναι για να επιβεβαιώσετε την εγγραφή και περιμένετε να τελειώσει. αυτό μπορεί να διαρκέσει έως και 20 λεπτά.

Μόλις τελειώσει, θα έχετε το πλήρες λειτουργικό σύστημα Rapbian στη μνήμη, μπορείτε να προχωρήσετε και να το βάλετε στο Rapberry Pi, να συνδέσετε το Raspberry Pi στην οθόνη μέσω HDMI, να συνδέσετε το ποντίκι και το πληκτρολόγιο μέσω USB και, τέλος, να συνδέσετε το εξουσία.

Βήμα 3: 1-2: Διαμόρφωση του συστήματος Raspbian

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

1-Πατήστε επόμενο στο πρώτο παράθυρο "Καλώς ορίσατε"

2-Το επόμενο παράθυρο θα είναι η διαμόρφωση της τοποθεσίας σας. επιλέξτε τη χώρα, τη γλώσσα και τη ζώνη ώρας. μετά από αυτό, συνιστάται ιδιαίτερα να ελέγξετε τη "Χρήση αγγλικής γλώσσας", καθώς αυτή θα είναι η γλώσσα διεπαφής του λειτουργικού συστήματος. ΠΡΕΠΕΙ ΝΑ ΕΛΕΓΧΕΤΕ ΤΟ "US ENGLISH KEYBOARD LAYOUT BOX" ΧΡΕΙΑΖΟΜΑΣΤΕ ΑΓΓΛΙΚΟ ΠΛΗΚΤΡΟΛΟΓΙΟ ΓΙΑ ΝΑ ΔΟΥΛΕΥΕΤΕ!

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

όνομα χρήστη: pi

κωδικός πρόσβασης: βατόμουρο

4-Επόμενο παράθυρο θα είναι η σύνδεση του raspberryPi στο δίκτυό σας WiFi. επιλέξτε το όνομα wifi και εισαγάγετε τον κωδικό πρόσβασης wifi

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

6-Μόλις ολοκληρωθεί η ενημέρωση, θα σας ζητηθεί να κάνετε επανεκκίνηση του συστήματος. κάντο τώρα

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

Βήμα 4: 1-3: Χρησιμοποιώντας τη γραμμή εντολών για να ρυθμίσετε τις ρυθμίσεις Rpi

1-3: Χρησιμοποιώντας τη γραμμή εντολών για να ρυθμίσετε τις ρυθμίσεις Rpi
1-3: Χρησιμοποιώντας τη γραμμή εντολών για να ρυθμίσετε τις ρυθμίσεις Rpi
1-3: Χρησιμοποιώντας τη γραμμή εντολών για να ρυθμίσετε τις ρυθμίσεις Rpi
1-3: Χρησιμοποιώντας τη γραμμή εντολών για να ρυθμίσετε τις ρυθμίσεις Rpi
1-3: Χρησιμοποιώντας τη γραμμή εντολών για να ρυθμίσετε τις ρυθμίσεις Rpi
1-3: Χρησιμοποιώντας τη γραμμή εντολών για να ρυθμίσετε τις ρυθμίσεις Rpi

Μόλις ολοκληρώσετε την επανεκκίνηση από την ενημέρωση συστήματος, το σύστημα θα εμφανίσει την επιφάνεια εργασίας του χρήστη μόλις ολοκληρωθεί η εκκίνηση. τώρα αν κοιτάξετε επάνω αριστερά στην οθόνη, θα βρείτε μερικά κουμπιά, Ένα κουμπί με raspberryPi Logo που είναι το κουμπί μενού Rpi, ένα σχήμα σφαιρών που είναι το πρόγραμμα περιήγησης στο Διαδίκτυο, ένα κουμπί φακέλων που είναι…..φάκελοι και τέλος, ένα κουμπί με παράθυρο μαύρης οθόνης, το οποίο είναι το πιο σημαντικό κουμπί σε οποιοδήποτε σύστημα Linux, η γραμμή εντολών. προχωρήστε και πατήστε αυτό το κουμπί, θα δείτε ένα μαύρο παράθυρο να αναδύεται.

Η γραμμή εντολών είναι ο τρόπος με τον οποίο όλοι αλληλεπιδρούν και χρησιμοποιούν το σύστημα linux, όπως και τα παράθυρα έχουν τη δική τους γραμμή εντολών μόνο σε χήρες, δεν χρειάζεται να το χρησιμοποιούμε πολύ συχνά. στο linux, είναι το βασικό πράγμα που κάθε χρήστης linux πρέπει να μάθει και να κατακτήσει. η γραμμή εντολών μπορεί να χρησιμοποιηθεί από…. ΣΥΝΤΟΛΕΣ! Αυτό που βλέπετε στο μαύρο παράθυρο είναι η γραμμή εντολών που περιμένει να γραφτεί η εντολή από τον χρήστη και να εκτελεστεί. σε αυτόν τον οδηγό θα δώσουμε όλη την εντολή που χρειάζεστε για να εκτελέσετε αυτό το έργο, οπότε μην ανησυχείτε.

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

sudo raspi-config

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

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

1-Μεταβείτε στις Επιλογές διεπαφής >> I2C >> ΝΑΙ >> πατήστε enter. Αυτό ενεργοποιεί το πρωτόκολλο επικοινωνίας I2c, ώστε να μπορούμε να χρησιμοποιήσουμε το RTC

2-Μεταβείτε στις Προηγμένες επιλογές >> Ανάπτυξη συστήματος αρχείων.

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

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

Βήμα 5: Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC

Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC
Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC
Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC
Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC
Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC
Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC
Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC
Κεφάλαιο 2: Συναρμολόγηση, διαμόρφωση και χρήση της μονάδας RTC

Η μονάδα RTC (ή Ρολόι σε πραγματικό χρόνο) είναι μια μικρή συσκευή που έχει λίγη μπαταρία, κάνει αυτό που υποδηλώνει το όνομα, Clocking! οπότε όταν το αποσυνδέσετε από την τροφοδοσία το ρολόι συνεχίζει να λειτουργεί και δεν σταματά. Για τι το χρειαζόμαστε αυτό? Λοιπόν, το raspberry pi δεν έχει καμία μέθοδο αποθήκευσης δεδομένων ρολογιού μόλις απενεργοποιηθεί, βασίζεται στη σύνδεση στο Διαδίκτυο κατά την εκκίνηση για ενημέρωση της ημερομηνίας και της ώρας, αλλά το πρόβλημα είναι ότι δεν έχουμε πάντα πρόσβαση στο Διαδίκτυο, και αυτό γι 'αυτό χρειαζόμαστε την ενότητα RTC. το RTC θα λειτουργεί ως ρολόι για το raspberry pi, οπότε μόλις εκκινήσει το Rpi θα πάρει την ημερομηνία και την ώρα από το RTC, που θα κρατάει συνεχώς ενημερωμένο το χρόνο RaspberryPi.

υπάρχουν πολλά μοντέλα και αναζητά το RTC, υπάρχουν τα DS1307 και DS3231. μπορείτε να χρησιμοποιήσετε οποιαδήποτε μονάδα RTC που βρίσκετε αρκεί να έχει επικοινωνία πρωτοκόλλου I2C (μπορείτε να υποδείξετε ότι μπορείτε να βρείτε καρφίτσες SDA και SCL στις ακίδες της μονάδας.

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

Μόλις ετοιμάσετε τη μονάδα RTC (κολλήστε τις καρφίτσες κεφαλίδας και τοποθετήστε την μπαταρία), μπορείτε να τη συνδέσετε με τις ακίδες RapberryPi ως εξής:

Κωδικός RTC ---------------- Καρφίτσα Rpi

GND ===========> PIN 6 (GND)

Vcc ============> PIN 1 (3.3V)

SDA ===========> PIN 3 (SDA)

SCL ===========> PIN 5 (SCL)

ή ανάλογα με τη μονάδα RTC που έχετε, μπορείτε να την τοποθετήσετε απευθείας στο RaspberryPi (Βεβαιωθείτε ότι οι ακίδες είναι σωστές !!! καθώς ενδέχεται να προκαλέσετε ζημιά στο Rpi/RTC)

Μόλις συνδέσετε το RTC, ας διαμορφώσουμε το Raspberry.

Βήμα 6: 2-1: Ρύθμιση ενότητας

2-1: Ρύθμιση ενότητας
2-1: Ρύθμιση ενότητας
2-1: Ρύθμιση ενότητας
2-1: Ρύθμιση ενότητας

Πριν ξεκινήσετε, μεταβείτε στη γραμμή εντολών και πληκτρολογήστε:

ημερομηνία

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

τώρα, ας ξεκινήσουμε τη ρύθμιση, πληκτρολογήστε τα ακόλουθα για να ενημερώσετε τις βιβλιοθήκες Rpi, μία γραμμή τη φορά:

sudo apt-get ενημέρωση

sudo apt -get -y αναβάθμιση

Μόλις ολοκληρωθεί, πρέπει να τροποποιήσουμε τα αρχεία συστήματος για να ενεργοποιήσουμε τη μονάδα i2c και να προσθέσουμε RTC, για να τροποποιήσουμε ένα σύστημα αρχείων που θα χρησιμοποιήσουμε ένα λογισμικό που ονομάζεται Nano. Το nano είναι ένα ελαφρύ ενσωματωμένο λογισμικό που είναι βασικά ένας επεξεργαστής κειμένου, ακριβώς όπως αυτό στις χήρες. Έτσι, κάθε εντολή που ξεκινά με nano και ακολουθεί το όνομα του αρχείου, θα ανοίξει αυτό το αρχείο στον επεξεργαστή κειμένου nano. έχετε παρατηρήσει ότι χρησιμοποιήσαμε επίσης κάτι που ονομάζεται Sudo, με λίγα λόγια, το sudo λειτουργεί ως εγγύηση για το σύστημα linux που λέει στο σύστημα ότι ο χρήστης που έκανε αυτήν την εντολή είναι ο κάτοχος της συσκευής, όχι κάποιος άλλος, και δίνει προνόμια όπως η επεξεργασία/ διαγραφή στον χρήστη. για παράδειγμα, εάν ανοίγαμε ένα αρχείο nano χωρίς sudo, θα μπορούσαμε να το δούμε, αλλά δεν μπορούμε να το επεξεργαστούμε ή να το διαγράψουμε.

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

sudo nano /etc /modules

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

snd-bcm2835

i2c-bcm2835 i2c-dev rtc-ds1307

πατήστε CTRL+S για αποθήκευση και CTRL+X για έξοδο

Βήμα 7: 2-2: Διεπαφή I2C

2-2: Διεπαφή I2C
2-2: Διεπαφή I2C

Τώρα συνδέσαμε το RTC και ενεργοποιήσαμε το i2c, ας τα συνδέσουμε όλα μαζί.

πληκτρολογήστε τα ακόλουθα στη γραμμή εντολών:

i2cdetect -y 1

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

Τώρα, πρέπει να τροποποιήσουμε το αρχείο rc.local, ώστε να μπορέσουμε να ενεργοποιήσουμε την ενότητα RTC κατά την εκκίνηση και να την αφήσουμε να αποθηκεύσει την ημερομηνία και την ώρα στο σύστημα. πρώτα, ανοίξτε το αρχείο rc.local:

sudo nano /etc/rc.local

Πριν από τη γραμμή exit0, προσθέστε τα ακόλουθα:

echo ds1307 0x68>/sys/class/i2c-adapter/i2c-1/new_device

hwclock -s

όπου 0x68 είναι η διεύθυνση i2c της συσκευής σας. μόλις τελειώσετε πατήστε CTRL+S CTRL+X και, στη συνέχεια, επανεκκινήστε το σύστημά σας με:

sudo επανεκκίνηση

Βήμα 8: 2-3: Δοκιμή του RTC

2-3: Δοκιμή του RTC
2-3: Δοκιμή του RTC

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

sudo hwclock -r

θα σας δοθεί η ημερομηνία και η ώρα στην ενότητα RTC. αν σας δοθεί κάτι άλλο, βεβαιωθείτε ότι έχετε κάνει σωστά τα βήματα.

τώρα, για να τροποποιήσουμε την ώρα και την ημερομηνία στο RTC, πρέπει πρώτα να τροποποιήσουμε την Ημερομηνία και την onρα στο σύστημα, ΤΟΤΕ, μετά τις τροποποιήσεις στο RTC. για να το κάνετε, εκτελέστε:

sudo date -s "29 ΑΥΓΟΥ 1997 13:00:00"

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

sudo hwclock -w

ααααα και αυτό είναι! μπορείτε να ελέγξετε αν λειτουργεί με το hwclock -r και να δείτε αν η ημερομηνία στο RTC είναι σωστή ή όχι, στη συνέχεια αποσυνδέστε το rpi από το διαδίκτυο και, στη συνέχεια, απενεργοποιήστε το για κάποιο χρονικό διάστημα και, στη συνέχεια, ενεργοποιήστε το ξανά και δείτε αν έχει το σωστό ώρα και ημερομηνία. τελείωσες!

Μπορείτε να βρείτε τον πλήρη οδηγό για τον τρόπο ρύθμισης της μονάδας RTC εδώ

www.raspberrypi-spy.co.uk/2015/05/adding-a-ds3231-real-time-clock-to-the-raspberry-pi/

Βήμα 9: Κεφάλαιο 3: Δημιουργία του προγράμματος συναγερμού Azan

Κεφάλαιο 3: Δημιουργία του προγράμματος συναγερμού Azan
Κεφάλαιο 3: Δημιουργία του προγράμματος συναγερμού Azan

Το να φτιάχνεις ένα ρολόι είναι ένα πράγμα, σίγουρα, μπορούμε να κοιτάξουμε το ρολόι και τις ώρες της προσευχής και να δούμε πότε θα έρθει η ώρα, αλλά δεν θα ήταν ακόμα καλύτερα αν μπορούσαμε να προσθέσουμε έναν ηχητικό συναγερμό για να μας ειδοποιήσει για τις ώρες της προσευχής; ΑΚΟΜΗ ΚΑΛΥΤΕΡΑ, κάνουμε αυτόν τον συναγερμό ως τον ήχο του AZAN! ας δούμε πώς μπορούμε να το πετύχουμε αυτό.

για τον προγραμματισμό μας, θα χρησιμοποιήσουμε το python ως προτιμώμενη γλώσσα προγραμματισμού, καθώς το python ταιριάζει τέλεια με το RaspberryPi. για να δημιουργήσουμε ένα αρχείο κώδικα σε python, κάνουμε το ίδιο με το άνοιγμα ενός αρχείου κειμένου, αλλά τώρα το αποθηκεύουμε ως.py. για να τρέξουμε το πρόγραμμα, χρειαζόμαστε περιβάλλον python εγκατεστημένο στο raspbery, ευτυχώς, το Raspbian έρχεται με python και python3 προεγκατεστημένα! οπότε το μόνο που έχουμε να κάνουμε είναι να προγραμματίσουμε. σε αυτόν τον οδηγό, δεν θα μιλήσουμε για τη γλώσσα και δεν θα διδάξουμε πώς λειτουργεί και τις λειτουργίες, αλλά θα σας δώσω τους απαραίτητους κωδικούς για να μπορέσετε να κάνετε το έργο.

για να ξεκινήσουμε, χρειαζόμαστε ένα ηχητικό αρχείο του προτιμώμενου ήχου azan (σε. WAV) χρειαζόμαστε δύο αρχεία, ένα για al-fajr azan και ένα άλλο για κανονικό azan. μόλις το πάρετε το βάλτε σε ένα stick και αντιγράψτε το στην επιφάνεια εργασίας του raspberrypi.

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

stackoverflow.com/questions/20021457/playi…

Δοκίμασα αυτή τη μέθοδο και λειτούργησε! ας δούμε πώς μπορούμε να εφαρμόσουμε αυτήν τη μέθοδο στο έργο μας…

Βήμα 10: 3-1: Ας παίξουμε έναν ήχο

3-1: Ας παίξουμε έναν ήχο!
3-1: Ας παίξουμε έναν ήχο!

πρώτα, μεταβείτε στην επιφάνεια εργασίας από:

cd Desktop

στη συνέχεια, δημιουργήστε ένα νέο αρχείο κώδικα python από:

sudo nano AzanPlay.py

Αυτό θα δημιουργήσει ένα νέο αρχείο που ονομάζεται AzanPlay με την επέκταση σε ένα αρχείο python.py, θα έχουμε μια άδεια μαύρη οθόνη για να μας επιτρέψει να γράψουμε τον κωδικό μας. απλά γράψτε αυτές τις γραμμές (προσέξτε να μην αλλάξετε καμία εσοχή ή κενά, καθώς αυτό είναι ΠΟΛΥ σημαντικό στο python):

από μίξερ εισαγωγής pygame

mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan-Makkah.wav') mixer.music.play () ενώ mixer.music.get_busy () == True: συνέχεια

Πού / Επιφάνεια εργασίας / είναι το μέρος όπου τοποθετείτε τα αρχεία ήχου σας και το 'Adhan-Makkah.wav' είναι το αρχείο ήχου μου, το οποίο είναι η ηχογράφηση ήχου Azan στο makkah.

τώρα για να δοκιμάσουμε τον κώδικα μας, τον τρέχουμε με python πληκτρολογώντας:

python AzanPlay.py

και θα έχετε τον ήχο να μαραίνεται από την HDMI LCD ή τη θύρα AUX που βρίσκεται στο Raspberrypi. Εάν δεν το ακούτε από τα ηχεία LCD, συνδέστε ένα ακουστικό στο AUX και ελέγξτε.

Βήμα 11: 3-2: Λάβετε ώρες προσευχής

3-2: Λάβετε ώρες προσευχής
3-2: Λάβετε ώρες προσευχής

Όπως γνωρίζουμε, οι ώρες προσευχής διαφέρουν από το ένα μέρος στη γη στο άλλο, και ακόμη και για μια συγκεκριμένη τοποθεσία, διαφέρουν με τα χρόνια, πράγμα που σημαίνει ότι πρέπει να βρούμε έναν τρόπο για να ενημερώνουμε συνεχώς τις ώρες προσευχής μας στο σύστημα και γι 'αυτό χρειαζόμαστε συγκεκριμένες και πολύ περίπλοκες συναρτήσεις και υπολογισμούς για να το κάνουμε σωστά. Ευτυχώς, ο αδελφός μας Hamid Zarrabi-Zadeh έχει κάνει όλες τις λειτουργίες που χρειαζόμαστε σε μία συνάρτηση που μπορούμε να χρησιμοποιήσουμε εύκολα για να πάρουμε το χρόνο ανάλογα με την τοποθεσία μας και την τρέχουσα ώρα, ΚΑΤΑΠΛΗΚΤΙΚΟ! μπορείτε να βρείτε τη βιβλιοθήκη και τα αρχεία προέλευσης στη διεύθυνση

praytimes.org/

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

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

cd adhan

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

sudo nano testAd.py

μέσα, γράψτε αυτόν τον κωδικό:

εισαγωγή πραγμάτων

από ημερομηνία εισαγωγής ημερομηνία tmm = praytimes. PrayTimes (). getTimes (date.today (), [LONGTITUDE, LATITUDE], GMT) εκτύπωση (tmm)

Πριν αποθηκεύσετε το αρχείο, πρέπει να αλλάξετε το LATITUDE με την τοποθεσία Latitude, το ίδιο με το LONGTITUDE και να αλλάξετε GMT στη ζώνη ώρας σας. στην περίπτωσή μου, θα είναι:

tmm = praytimes. PrayTimes (). getTimes (date.today (), [21.3236, 39.1022], 3)

εκτύπωση (tmm)

Τέλος, CTRL-S και CTRL-X και, στη συνέχεια, εκτελέστε τον κωδικό:

python testAd.py

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

{'isha': '18: 58 ',' asr ': '15: 22', 'ηλιοβασίλεμα': '17: 43 ',' dhuhr ': '12: 17', 'maghrib': '17: 43 ', 'imsak': '05: 23 ',' μεσάνυχτα ': '00: 17', 'ανατολή': '06: 52 ',' fajr ': '05: 33'}

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

Βήμα 12: 3-3: Δημιουργία του τελικού κωδικού συναγερμού Azan

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

Έγραψα ολόκληρο τον κώδικα, μπορείτε να τον αντιγράψετε και να τον επικολλήσετε και να κάνετε τις δικές σας αλλαγές όπως σας ταιριάζει. Ο κωδικός είναι:

χρόνο εισαγωγής

από pygame import mixer εισαγωγή συμβολοσειράς εισαγωγής string από την ημερομηνία εισαγωγής ημερομηνίας ενώ (1): tmm = praytimes. PrayTimes (). getTimes (date.today (), [21.3236, 39.1022], 3) FAJR = tmm ['fajr'] DHUHR = tmm ['dhuhr'] ASR = tmm ['asr'] MAGHRIB = tmm ['maghrib'] ISHA = tmm ['isha'] tempT = time.strftime (str ('%H')) currTime = tempT tempT = time.strftime (str ('%M')) currTime = currTime + ':' + tempT if currTime == FAJR: mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan-fajr wav ') mixer.music.play () while mixer.music.get_busy () == True: Continue if currTime == DHUHR: mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan- Makkah.wav ') mixer.music.play () ενώ mixer.music.get_busy () == True: Continue if currTime == ASR: mixer.init () mixer.music.load ('/home/pi/Desktop/ Adhan-Makkah.wav ') mixer.music.play () ενώ mixer.music.get_busy () == True: συνέχισε αν currTime == MAGHRIB: mixer.init () mixer.music.load ('/home/pi/ Desktop/Adhan-Makkah.wav ') mixer.music.play () ενώ mixer.music.get_busy () == True: συνέχισε αν currTime == ISHA: mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan-Makkah.wav') mixer.music.play () ενώ mixer.music.get_busy () == True: Continue

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

Βήμα 13: Κεφάλαιο 4: Υλοποίηση των προσώπων παρακολούθησης

Κεφάλαιο 4: Εφαρμογή των προσώπων παρακολούθησης
Κεφάλαιο 4: Εφαρμογή των προσώπων παρακολούθησης
Κεφάλαιο 4: Εφαρμογή των προσώπων παρακολούθησης
Κεφάλαιο 4: Εφαρμογή των προσώπων παρακολούθησης
Κεφάλαιο 4: Εφαρμογή των προσώπων παρακολούθησης
Κεφάλαιο 4: Εφαρμογή των προσώπων παρακολούθησης
Κεφάλαιο 4: Εφαρμογή των προσώπων παρακολούθησης
Κεφάλαιο 4: Εφαρμογή των προσώπων παρακολούθησης

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

Δυστυχώς, από τη στιγμή που γράφω αυτήν την οδηγία, οι γνώσεις και η εμπειρία μου στο HTML είναι πολύ περιορισμένες, οπότε δεν θα συζητήσω πολλές λεπτομέρειες γιατί ξέρω ότι θα κάνω τα πράγματα με λάθος τρόπο και δεν θέλουν να μπερδέψουν τους ανθρώπους. αλλά αν έχετε έστω και μια μικρή εμπειρία σε JS και HTML θα πρέπει να ξέρετε πώς να συνεχίσετε από αυτό το σημείο. μέχρι τώρα έχω κάνει ένα μόνο πρόσωπο (το μπλε). το σχέδιο είναι να φτιάξουμε 14 ρολόγια ρολογιών! 7 πρόσωπα για την καθημερινότητα της εβδομάδας και άλλα 7 ως άλλο θέμα. καθώς το πρώτο θέμα υποτίθεται ότι είναι με το Azkar να κυλάει, και το άλλο θέμα υποτίθεται ότι έχει ισλαμικά GIFS αντί για το Azkar. ανεξάρτητα, θα συμπεριλάβω όλα τα σχέδια σε αυτό το διδακτικό, ώστε να μπορείτε να το κατεβάσετε.

Βήμα 14: Κεφάλαιο 5: Εφαρμογή διεπαφής χρήστη

Κεφάλαιο 5: Υλοποίηση διεπαφής χρήστη
Κεφάλαιο 5: Υλοποίηση διεπαφής χρήστη

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

Για να γίνει αυτό, θα χρησιμοποιήσουμε μια βιβλιοθήκη Python GUI που ονομάζεται "TKinter".

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

εισαγωγή tkinter ως tk

από tkinter import * από tkinter import ttk import codecs import os class karl (Frame): def _init _ (self): tk. Frame._ init _ (self) self.pack () self.master.title ("Azan Time") self. button1 = Κουμπί (self, text = "Jeddah", height = 5, width = 80, command = self.open_jeddah1) self.button2 = Button (self, text = "Makkah", height = 5, width = 80, command = self.open_makkah1) self.button3 = Κουμπί (self, text = "Riyadh", height = 5, width = 80, command = self.open_riyadh1) self.button4 = Button (self, text = "Madina", height = 5, width = 80, command = self.open_madina1) self.button5 = Button (self, text = "Qasim", height = 5, width = 80, command = self.open_qasaim1) self.button1.grid (row = 0, column = 1, columnspan = 2, sticky = W+E+N+S) self.button2.grid (row = 1, column = 1, columnspan = 2, sticky = W+E+N+S) self.button3.grid (σειρά = 2, στήλη = 1, στήλη = 2, κολλώδης = W+E+N+S) self.button4.grid (σειρά = 3, στήλη = 1, στήλη = 2, κολλώδης = W+E+N+S) self.button5.grid (σειρά = 4, στήλη = 1, άνοιγμα στηλών = 2, sticky = W+E+N+S) def open_jeddah1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/jeddah/Sunday1.html --start-fullscreen --no-sandbox" os.system (order) def open_makkah1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/makkah/Sunday1.html --start-fullscreen --no-sandbox -test-type" os.system (παραγγελία) def open_riyadh1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/riyadh/Sunday1.html-start-fullscreen --no-sandbox -test-type" os.system (order) def open_madina1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/madina/Sunday1.html-start-fullscreen-no-sandbox -test-type" os.system (order) def open_qasaim1 (self): order = "sudo chromium-browser /home/pi/Desktop/Cities/qasaim/Sunday1.html --start-fullscreen --no-sandbox -test-type" os.system (order) def main (): karl (). mainloop () if _name_ == '_main_': main ()

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

Βήμα 15: (Προαιρετικό): Προσθήκη διακόπτη ηχείων

(Προαιρετικό): Προσθήκη διακόπτη ηχείων
(Προαιρετικό): Προσθήκη διακόπτη ηχείων
(Προαιρετικό): Προσθήκη διακόπτη ηχείων
(Προαιρετικό): Προσθήκη διακόπτη ηχείων

Όπως είδαμε, όταν έρθει η ώρα της προσευχής η αναπαραγωγή του ήχου Azan και ο ήχος βγαίνει από την προεπιλεγμένη έξοδο ήχου (έξοδος HDMI ή AV) και δεδομένου ότι τον βάζουμε στην έξοδο HDMI, ο ήχος θα προέρχεται από την οθόνη LCD. αλλά, τι γίνεται αν ο ήχος LCD μας δεν είναι αρκετός; για παράδειγμα, τι γίνεται αν θέλουμε να το εφαρμόσουμε μέσα σε ένα πραγματικό τζαμί; με μεγάλα εξωτερικά ηχεία; τότε μπορούμε να προσθέσουμε ένα ακόμα πολύ εύκολο βήμα για να το πετύχουμε. για ένα ηχοσύστημα που έχει ήδη κατασκευαστεί, πρέπει μόνο να το ενεργοποιήσουμε και να το απενεργοποιήσουμε και να πάρουμε το ήδη υπάρχον μικρόφωνο και να το βάλουμε δίπλα στα ηχεία LCD.

Αυτό είναι εύκολο. θα χρησιμοποιήσουμε το προϋπάρχον μικρόφωνο τζαμιού που είναι συνδεδεμένο στο ηχείο, θα χρειαστεί απλά το raspberryPi για να ελέγξουμε την ισχύ που ενεργοποιεί και απενεργοποιεί ολόκληρο το ηχοσύστημα. για να γίνει αυτό, θα χρειαστεί να χρησιμοποιήσουμε ένα SSR: SOLID STATE RELAY. Αυτοί οι τύποι ρελέ μπορούν να λειτουργήσουν ως διακόπτης, όπως και ο μέσος μπλε ρελέ, η διαφορά είναι ότι οι SSR θα μπορούσαν να αντέξουν μεγάλη ποσότητα ρεύματος AC μέσω αυτού, το οποίο δεν ισχύει για τα μπλε (συνήθως μέγιστο 10Α) και οι SSR χρειάζονται μόνο δύο καλώδια αντί για 3: DC+ και DC- και αυτό είναι όλο! στο άλλο άκρο του SSR μπορούμε να συνδέσουμε το καλώδιο τροφοδοσίας του συστήματος ηχείων, με αυτόν τον τρόπο, όταν δίνουμε τάση στο SSR, θα κλείσει το κύκλωμα AC του συστήματος ηχείων ή θα κλείσουμε την τάση για να κάνουμε ένα ανοιχτό κύκλωμα, κλείνοντας τα ηχεία.

Υπάρχει ένα πρόβλημα, οι ακίδες RaspberryPi εξάγουν 3.3v, όχι 5v που χρειαζόμαστε για τον έλεγχο της SSR. έτσι χρειαζόμαστε ένα τρανζίστορ για να πάρει το σήμα από τον ακροδέκτη RPi και 5V από τον ακροδέκτη RPi 5v. για να το κάνουμε χρειαζόμαστε:

Ρελέ 1 στερεάς κατάστασης (οτιδήποτε πάνω από 25Α είναι καλό)

2-2n2222 npn τρανζίστορ

Αντίσταση 3-220ohm

ακολουθήστε το κύκλωμα ψύξης για σύνδεση.

τώρα στον κώδικα, θα προσθέσουμε μερικά πράγματα που κάνουν αυτό το έργο. πρώτα, πριν από τον βρόχο while, θα προσθέσουμε μερικές γραμμές για να προετοιμάσουμε τις καρφίτσες GPIO:

Στην ενότητα εισαγωγής, προσθέστε:

εισαγωγή RPi. GPIO ως GPIO

Πριν από τον βρόχο while, προσθέστε:

GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) ρελέ = 40 GPIO.setup (ledPin, GPIO. OUT)

Τώρα, στον βρόχο while, για κάθε εντολή παιχνιδιού Azan, πρέπει να ενεργοποιήσουμε το ρελέ, να περιμένουμε για 10 δευτερόλεπτα, να τελειώσουμε το παιχνίδι του Azan και μετά να απενεργοποιήσουμε το ρελέ. χρειάζεται μόνο να προσθέσουμε δύο γραμμές, η πρώτη είναι:

GPIO.output (ledPin, GPIO. HIGH)

ώρα. ύπνος (10)

αυτή πρέπει να προστεθεί μετά από κάθε δήλωση if (ΤΑΥΤΟΤΗΤΑ ΕΙΝΑΙ ΣΗΜΑΝΤΙΚΟ!), η άλλη γραμμή είναι:

GPIO.output (ledPin, GPIO. LOW)

Αυτό πρέπει να προστεθεί μετά τη γραμμή "συνέχεια". θα πρέπει να μοιάζει με αυτό για κάθε φορά Azan:

εάν currTime == FAJR:

GPIO.output (ledPin, GPIO. HIGH) time.sleep (10) mixer.init () mixer.music.load ('/home/pi/Desktop/Adhan-fajr.wav') mixer.music.play () ενώ mixer.music.get_busy () == True: συνέχεια GPIO.output (ledPin, GPIO. LOW)

Συνιστάται: