Ο κώδικας Morse είναι ένα σύστημα επικοινωνίας για την κωδικοποίηση οποιουδήποτε χαρακτήρα σε δύο διαφορετικές χρονικές διαστάσεις σημάτων που ονομάζονται κουκίδες και παύλες . Ο κωδικός Morse αναπτύχθηκε από τον Samuel FB και χρησιμοποιείται περαιτέρω στην τηλεγραφία για τη μεταφορά μυστικών πληροφοριών. Χρησιμοποιήθηκε περισσότερο κατά τον Δεύτερο Παγκόσμιο Πόλεμο. Ένας κωδικός Morse μπορεί να εκτελεστεί πατώντας, αναβοσβήνοντας φως ή γράφοντας. Ο κωδικός Morse διατίθεται σε δύο εκδόσεις, τον πρωτότυπο και τον διεθνή κώδικα morse. Στον διεθνή κώδικα morse, η αρχική έκδοση τροποποιείται αφαιρώντας κενά και σχεδιάζοντας τις παύλες σε ένα συγκεκριμένο μήκος. Ο κωδικός Morse είναι διαθέσιμος για την κωδικοποίηση αλφαβήτων και αριθμών. Χρησιμοποιείται κυρίως στην επικοινωνία ραδιοφώνου και ωκεανού και επίσης μέρος της εκπαίδευσης για στρατιώτες.
Η γλώσσα ήταν πάντα το εμπόδιο για τον κώδικα Μορς, καθώς είναι δύσκολο να εκτελέσετε τον κώδικα για διακριτικούς χαρακτήρες σε άλλη γλώσσα. Υπάρχουν μερικές διάσημες λέξεις που θεωρούνται σημαντικό χαρακτηριστικό του κώδικα Μορς όπως το «SOS». Η πλήρης μορφή SOS είναι το Save Our Souls που δημιουργήθηκε ως ένα παγκόσμιο σήμα κινδύνου που αντιπροσωπεύει τον κίνδυνο.
Η παρακάτω εικόνα δείχνει τον κωδικό Morse για τα αλφάβητα από το Α έως το Ω.
Σήμερα σε αυτό το σεμινάριο θα φτιάξουμε έναν Morse Code Translator χρησιμοποιώντας το Arduino που θα πάρει οποιονδήποτε χαρακτήρα ως είσοδο από το σειριακό μόνιτορ και θα τον μετατρέψει σε μπιπ ισοδύναμου κώδικα από το buzzer.
Απαιτούμενα στοιχεία
- Arduino Uno
- Βομβητής
- Ψωμί
- Καλώδια αλτών
Διάγραμμα κυκλώματος
Συνδέστε το θετικό ακροδέκτη του βομβητή στην 8 ου pin του Arudino ΟΗΕ και η αρνητική pin στο έδαφος του Arduino. Ανεβάστε τον κωδικό χρησιμοποιώντας το Arduino IDE και πληκτρολογήστε τους χαρακτήρες στη σειριακή οθόνη για να δημιουργήσετε τον ήχο. Ένα LCD μπορεί επίσης να προστεθεί με το Arduino για την εμφάνιση της παύλας και των κουκκίδων.
Επεξήγηση προγραμματισμού
Ο πλήρης κωδικός για το Arduino Morse Code Generator δίνεται στο τέλος, εδώ εξηγούμε το πρόγραμμα για να κατανοήσουμε τη λειτουργία του έργου.
Ο παρακάτω κώδικας χρησιμοποιείται για τη λήψη της συμβολοσειράς χαρακτήρων και, στη συνέχεια, τη μετατροπή σε κώδικα morse.
char stringToMorseCode = "";
Στη συνέχεια, ορίστε τον πείρο για το βομβητή που είναι συνδεδεμένος στο Arduino και το βήμα για τον ήχο που παράγεται από αυτόν τον βομβητή. Στη συνέχεια, ορίζουμε το μήκος της τελείας και της παύλας
int audio8 = 8; // έξοδος ήχου στον ακροδέκτη 8 int note = 1200; // μουσική νότα / pitch int dotLen = 100; // μήκος του κωδικού morse «dot» int dashLen = dotLen * 3; // μήκος του κωδικού morse «dash»
Στη συνάρτηση void loop () , εάν υπάρχουν σειριακά δεδομένα, θα αποθηκευτούν σε μια μεταβλητή indata . Στη συνέχεια διαβάζει τον χαρακτήρα έναν προς έναν χρησιμοποιώντας την εντολή inData . Η μεταβλητή εντολής.toUppercase () χρησιμοποιείται για να αλλάξει τους πεζούς χαρακτήρες σε κεφαλαία. Στη συνέχεια δημιουργεί ήχο σύμφωνα με κάθε χαρακτήρα.
κενός βρόχος () { char inChar = 0; char inData = ""; // μήκος δεδομένων 6 χαρακτήρων Μεταβλητή συμβολοσειράς = ""; Συμβολοσειρά μεταβλητή1 = ""; int index1 = 0; if (Serial.available ()> 0) { while (Serial.available ()> 0 && index1 <100) { καθυστέρηση (100); inChar = Serial.read (); inData = inChar; ευρετήριο1 ++; inData = '\ 0'; } variable.toUpperCase (); για (byte i = 0; i <100; i ++) { variable.concat (String (inData)); } καθυστέρηση (20)
Παρακάτω λειτουργίες MorseDot και MorseDash χρησιμοποιούνται για τη δημιουργία του ήχου για κουκκίδες και παύλες αντίστοιχα.
άκυρο MorseDot () { tone (audio8, note, dotLen); // αρχίστε να παίζετε καθυστέρηση τόνου (dotLen). // κρατήστε σε αυτήν τη θέση } άκυρο MorseDash () { tone (audio8, note, dashLen); // αρχίστε να παίζετε καθυστέρηση τόνου (dashLen). // κρατήστε σε αυτήν τη θέση }
Η συνάρτηση GetChar έχει τον κωδικό για όλα τα αλφάβητα. Έτσι, όποτε πληκτρολογούμε οποιοδήποτε αλφάβητο, ο αντίστοιχος κωδικός morse λαμβάνεται από αυτήν τη λειτουργία για τη δημιουργία του συγκεκριμένου ήχου.
void GetChar (char tmpChar) { διακόπτης (tmpChar) { case 'a': MorseDot (); καθυστέρηση (100); MorseDash (); καθυστέρηση (100); Διακοπή; ... ... ... default: διάλειμμα? } }
Τώρα ανεβάστε τον κωδικό στο Arduino χρησιμοποιώντας το Arduino IDE και πληκτρολογήστε οποιονδήποτε χαρακτήρα στη σειριακή οθόνη και πατήστε το κουμπί enter για να στείλετε τους χαρακτήρες στο Arduino.
Εδώ έχουμε πληκτρολογήσει «SOS» που είναι ένα καθολικό σήμα κινδύνου, για να δημιουργήσουμε τον ήχο για το ίδιο.
Η επίδειξη για το ίδιο δίνεται στο παρακάτω βίντεο.