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

Σύστημα Ανακοινώσεων Διακριτικών: 5 Βήματα
Σύστημα Ανακοινώσεων Διακριτικών: 5 Βήματα

Βίντεο: Σύστημα Ανακοινώσεων Διακριτικών: 5 Βήματα

Βίντεο: Σύστημα Ανακοινώσεων Διακριτικών: 5 Βήματα
Βίντεο: 2 DAY Παρουσίαση αναρτημένων ανακοινώσεων 2024, Νοέμβριος
Anonim
Σύστημα Ανακοινώσεων Διακριτικών
Σύστημα Ανακοινώσεων Διακριτικών

Στο προηγούμενο διδακτικό είδαμε πώς να φτιάξετε το Arduino σας να μιλάει. Σήμερα θα διερευνήσουμε λίγο περισσότερο το ίδιο θέμα. Όλοι πρέπει κάποια στιγμή στη ζωή μας να έχουμε συναντήσει ένα σύστημα Ανακοινώσεων ίσως σε τράπεζα ή σιδηροδρομικό σταθμό. Έχετε αναρωτηθεί ποτέ πώς λειτουργούν αυτά τα συστήματα ανακοινώσεων; Λοιπόν, λειτουργούν με παρόμοια αρχή με το τελευταίο μας έργο. Σήμερα λοιπόν σε αυτό το σεμινάριο θα φτιάξουμε ένα Σύστημα Ανακοινώσεων Διακριτικών ικανό να ανακοινώνει μάρκες από 1 έως 999, δηλαδή συνολικά 999 μάρκες (1000 αν συμπεριλάβετε το 0). Πάμε λοιπόν στη διαδικασία κατασκευής !!!

Βήμα 1: Συγκεντρώστε τα αναλώσιμα

Συγκεντρώστε τα Προμήθειες
Συγκεντρώστε τα Προμήθειες
Συγκεντρώστε τα Προμήθειες
Συγκεντρώστε τα Προμήθειες
Συγκεντρώστε τα Προμήθειες
Συγκεντρώστε τα Προμήθειες

Γεια σας, αν ψάχνετε για ένα ηλεκτρονικό κατάστημα για να αγοράσετε τα εξαρτήματα, τότε το UTSource.net είναι ο ιστότοπος που πρέπει να ελέγξετε. Έχουν μια τεράστια ποικιλία ηλεκτρονικών μονάδων και εξαρτημάτων σε προσιτές τιμές. Παρέχουν επίσης υπηρεσίες PCB για έως 16 επίπεδα. Ελέγξτε την ιστοσελίδα τους.

Ας ρίξουμε μια ματιά στις ενότητες που χρειαζόμαστε για αυτό το έργο -

1. Arduino Uno Board

2. Πληκτρολόγιο μήτρας 4 * 4

3. Ενότητα κάρτας SD

4. Υποδοχή ήχου 3,5 mm

5. Ηχείο με ενσωματωμένο ενισχυτή και καλώδιο AUX

6. Μερικά καλώδια κεφαλίδας

Τα περισσότερα από αυτά τα στοιχεία χρησιμοποιήθηκαν στα προηγούμενα έργα μας.

Βήμα 2: Διάγραμμα κυκλώματος

Διάγραμμα κυκλώματος
Διάγραμμα κυκλώματος

Το διάγραμμα κυκλώματος για αυτό το έργο είναι ακριβώς το ίδιο με το έργο Talking Arduino. Η μόνη διαφορά είναι το πληκτρολόγιο. Η διασύνδεση πληκτρολογίου είναι αρκετά απλή. Απλώς συνδέστε τις σειρές του πληκτρολογίου στις ακίδες του Arduino όπως φαίνεται παραπάνω.

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

Συνδέστε το αριστερό και το δεξί κανάλι της υποδοχής ήχου στην ψηφιακή ακίδα 10 του Arduino. Και η καρφίτσα γείωσης στο έδαφος του Arduino.

Ακολουθήστε το διάγραμμα για να κάνετε τις υπόλοιπες συνδέσεις.

Βήμα 3: Προετοιμασία των αρχείων ήχου

Προετοιμασία των αρχείων ήχου
Προετοιμασία των αρχείων ήχου
Προετοιμασία των αρχείων ήχου
Προετοιμασία των αρχείων ήχου

Τώρα πρέπει να το έχετε υπόψη σας ότι όταν χρησιμοποιείτε τη μονάδα κάρτας SD και τη βιβλιοθήκη TMRpcm μπορείτε να χρησιμοποιήσετε μόνο τη μορφή ήχου.wav. Καμία άλλη μορφή ήχου δεν θα λειτουργήσει.

Για να μετατρέψετε λοιπόν τα εγγεγραμμένα αρχεία ήχου ή τα αρχεία που σκοπεύετε να εγκαταστήσετε στην κάρτα SD, πρέπει να χρησιμοποιήσετε αυτόν τον διαδικτυακό μετατροπέα ήχου >> ΚΛΙΚ ΕΔΩ

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

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

ΠΑΤΗΣΤΕ ΕΔΩ ΓΙΑ ΝΑ ΕΠΙΣΚΕΦΘΕΙΤΕ ΤΟΝ ΙΣΤΟΤΟΠΟ

Μπορείτε επίσης να κατεβάσετε τα αρχεία ήχου που χρησιμοποίησα από κάτω. Έτσι, με αυτό έγινε ο χρόνος του να προγραμματίσουμε τον πίνακα.

Βήμα 4: Κωδικοποίηση

Κωδικοποίηση
Κωδικοποίηση

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

#include #include "SD.h" #define SD_ChipSelectPin 4 #include "TMRpcm.h" #include "SPI.h" TMRpcm tmrpcm; char myNum [4]; int i? const byte ROWS = 4; // τέσσερις σειρές const byte COLS = 4; // τέσσερις στήλες char char [ROWS] [COLS] = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, {'7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins [ROWS] = {A0, A1, A2, A3}; // σύνδεση με τα pinout των σειρών των πλήκτρων byte του πληκτρολογίου colPins [COLS] = {9, 8, 7, 6}; // σύνδεση με τα pinouts της στήλης του πληκτρολογίου Πληκτρολόγιο = Πληκτρολόγιο (makeKeymap (κλειδιά), rowPins, colPins, ROWS, COLS); void setup () {tmrpcm.speakerPin = 10; Serial.begin (9600); εάν (! SD.begin (SD_ChipSelectPin)) {Serial.println ("SD fail"); ΕΠΙΣΤΡΟΦΗ; } /* tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); // Χρησιμοποιείται για δοκιμή (Μην συμπεριλάβετε στον τελικό κώδικα) καθυστέρηση (1000);*/} βρόχο άκυρο () {Serial.println ("Εισαγάγετε τριψήφιο αριθμό -"); για (i = 0; i <4; ++ i) {while ((myNum = keypad.getKey ()) == NO_KEY) {καθυστέρηση (1); // Απλώς περιμένετε ένα κλειδί} // Περιμένετε να απελευθερωθεί το κλειδί ενώ (keypad.getKey ()! = NO_KEY) {καθυστέρηση (1); } Serial.print (myNum ); } if (myNum [3] == 'A') {Serial.println ("Token Sent"); tmrpcm.setVolume (5); tmrpcm.play ("tokenno.wav"); καθυστέρηση (2000). έλεγχος(); } if (myNum [3] == 'B') {Serial.println ("Το διακριτικό δεν εστάλη"); i = 0; } if (myNum [3] == '*') {Serial.println ("Reg desk"); tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); i = 0; } if (myNum [3] == '#') {Serial.println ("κλείσιμο"); tmrpcm.setVolume (5); tmrpcm.play ("hash.wav"); i = 0; } if (myNum [3] == 'D') {Serial.println ("Sub"); tmrpcm.setVolume (5); tmrpcm.play ("D.wav"); i = 0; }} έλεγχος άκυρου () {για (int c = 0; c <3; c ++) {if (myNum [c] == '0') {tmrpcm.setVolume (5); tmrpcm.play ("zero.wav"); καθυστέρηση (1000)? } if (myNum [c] == '1') {tmrpcm.setVolume (5); tmrpcm.play ("one.wav"); καθυστέρηση (1000)? } if (myNum [c] == '2') {tmrpcm.setVolume (5); tmrpcm.play ("two.wav"); καθυστέρηση (1000)? } if (myNum [c] == '3') {tmrpcm.setVolume (5); tmrpcm.play ("three.wav"); καθυστέρηση (1000)? } if (myNum [c] == '4') {tmrpcm.setVolume (5); tmrpcm.play ("Four.wav"); καθυστέρηση (1000)? } if (myNum [c] == '5') {tmrpcm.setVolume (5); tmrpcm.play ("Five.wav"); καθυστέρηση (1000)? } if (myNum [c] == '6') {tmrpcm.setVolume (5); tmrpcm.play ("six.wav"); καθυστέρηση (1000)? } if (myNum [c] == '7') {tmrpcm.setVolume (5); tmrpcm.play ("heft.wav"); καθυστέρηση (1000)? } if (myNum [c] == '8') {tmrpcm.setVolume (5); tmrpcm.play ("οκτώ. wav"); καθυστέρηση (1000)? } if (myNum [c] == '9') {tmrpcm.setVolume (5); tmrpcm.play ("nine.wav"); καθυστέρηση (1000)? }} tmrpcm.setVolume (5); tmrpcm.play ("star.wav"); }

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

Βήμα 5: Εργασία του Έργου

Εργασία του Έργου
Εργασία του Έργου

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

Θέλω λοιπόν να προσθέσετε ένα lcd (οποιοσδήποτε θα κάνει) σε αυτό το έργο και να μου στείλετε έναν σύνδεσμο αυτού του έργου.

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

Η προσθήκη ξεχωριστού τροφοδοτικού και LCD θα κάνει αυτό το έργο αυτόνομο. Σας αναθέτω αυτό το έργο παιδιά.

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

Συνιστάται: