Πίνακας περιεχομένων:
- Βήμα 1: Ρύθμιση των φώτων LED
- Βήμα 2: Προσθέστε έναν αυτοσχέδιο αισθητήρα φωτός
- Βήμα 3: Προσθέστε το λεξικό σας
- Βήμα 4: Κάντε τα φώτα να ανάβουν από προεπιλογή
- Βήμα 5: Προσθήκη της εισόδου
- Βήμα 6: Χειρισμός της εισόδου
- Βήμα 7: Μορφή των σωστά μαντευμένων επιστολών
- Βήμα 8: Ελέγξτε τη ρύθμιση και την επαναφορά μας
- Βήμα 9: Όλες οι μεταβλητές σε μία εικόνα
Βίντεο: Arduino Hangman in Morse: 9 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Σε αυτό το σεμινάριο θα σας δείξω πώς να ρυθμίσετε το δικό σας Arduino για να παίζετε το Hangman στέλνοντας τον κώδικα Morse με έναν απλό φακό ή τη λειτουργία φακού από το τηλέφωνό σας.
Το μόνο που πρέπει να ακολουθήσετε είναι: Ένας πίνακας Arduino.10 LED-φώταΣύρματα για να τα συνδέσετε όλα. Επιπλέον: Ένα στοιχείο Piezo (για να προσθέσετε ήχο).
Βήμα 1: Ρύθμιση των φώτων LED
Αυτό το παιχνίδι Morse θα χρησιμοποιήσει 4 φώτα για να δείξει τα 4 γράμματα στη λέξη που πρέπει να μαντέψει και 5 φώτα για να δείξει τις ζωές που έχει αφήσει ο παίκτης να μαντέψει, οπότε πρώτα απ 'όλα θα πρέπει να συνδέσετε 9 LED -φώτα με τον συνήθη τρόπο, όπως φαίνεται στην εικόνα.
Βήμα 2: Προσθέστε έναν αυτοσχέδιο αισθητήρα φωτός
Δεν μπορούμε να πετάμε χρήματα σε ηλεκτρονικά καταστήματα, οπότε αποφάσισα να κρατήσω αυτό το έργο φθηνό, χρησιμοποιώντας ένα απλό φως LED ως αυτοσχέδιο αισθητήρα φωτός.
Το μόνο που χρειάζεται να κάνετε είναι να συνδέσετε τη θετική πλευρά του φωτός LED σε μία από τις αναλογικές σας θύρες (στην περίπτωσή μου A0) και την πλευρά μείον στη γείωσή σας.
Βήμα 3: Προσθέστε το λεξικό σας
Πρώτα απ 'όλα, ας ξεκινήσουμε προσθέτοντας ένα είδος λεξικού για τη μετάφραση γραμμάτων στους αντίστοιχους κώδικες Μορς. Για να γίνει αυτό, απλώς κάνουμε έναν πίνακα 26 επί 5, με την πρώτη υποδοχή κάθε δευτερεύοντος πίνακα να έχει το γράμμα και τις 4 επόμενες υποδοχές να έχουν τον αντίστοιχο κώδικα Μορς ή ένα κενό, εάν δεν έχει απομείνει κώδικας. Έτσι για παράδειγμα με το γράμμα s, η πρώτη υποδοχή έχει 's', η δεύτερη, η τρίτη και η τέταρτη υποδοχή έχουν '.' και η τελευταία υποδοχή έχει ''.
Βήμα 4: Κάντε τα φώτα να ανάβουν από προεπιλογή
Σε αυτό το βήμα, βεβαιωνόμαστε ότι τα φώτα είναι αναμμένα μόλις ξεκινήσει το πρόγραμμα και Morse το γράμμα που αντιπροσωπεύουν μόλις ο χρήστης τα μαντέψει σωστά (ο κωδικός για αυτό θα γραφτεί στο βήμα 6). Επίσης, βεβαιωνόμαστε ότι υπάρχουν μόνο τόσα φώτα για τις ζωές όσες ζωές έχουν απομείνει στον παίκτη.
Πριν από αυτό, βεβαιωθείτε ότι έχετε έναν πίνακα με τους αριθμούς θύρας και τους ακέραιους ρυθμισμένους στο 0 για να αντιπροσωπεύουν τον χρόνο κατά τον οποίο πρέπει να ανάβει, να σβήνει το φως και ποιο μέρος του Morse εμφανίζεται αυτή τη στιγμή το φως LED.
Βήμα 5: Προσθήκη της εισόδου
Τώρα θα γράψουμε τον κωδικό για να ελέγξουμε εάν η συσκευή αναβοσβήνει στο LED-φως που είναι συνδεδεμένο στην αναλογική μας θύρα A0 και αν πρόκειται να το μεταφράσουμε στο σωστό γράμμα.
Για να βεβαιωθούμε ότι η ανάγνωση είναι σωστή, υπολογίζουμε κατά μέσο όρο κάθε 20 ενδείξεις από το φως LED και χρησιμοποιούμε αυτόν τον αριθμό για να παρακολουθούμε αν η λυχνία είναι σβηστή ή αναμμένη. Για να γίνει αυτό, στην αρχή του προγράμματος ορίζουμε NUM_AVG στον αριθμό των φορών που θέλουμε να ελέγξει το φως πριν από τη μέση τιμή του. Όσο υψηλότερος είναι αυτός ο αριθμός, τόσο πιο ακριβής είναι η ανάγνωση, αλλά μπορεί επίσης να προκαλέσει καθυστερήσεις.
Το msBtnPushed αντιπροσωπεύει το χρονικό διάστημα για το οποίο έχει ανάψει το φως. Το lastPressed είναι ένα boolean που παρακολουθεί αν στον προηγούμενο βρόχο το φως ήταν αναμμένο.
Βήμα 6: Χειρισμός της εισόδου
Για αυτό το βήμα, θα ρίξουμε μια ματιά στο τι πρέπει να κάνουμε μόλις περάσει αρκετός χρόνος για να υποθέσουμε ότι δεν θα προστεθεί άλλο Morse και πρέπει να ελέγξουμε αν ο Morse έστειλε σε μορφή ένα γράμμα και αν είναι ένα σωστό γράμμα.
Για να γίνει αυτό, πρέπει να έχουμε τη συμβολοσειρά wordToGuess στη λέξη που θέλουμε να μαντέψουν οι παίκτες μας. Προσωπικά έχω μια γεννήτρια τυχαίων αριθμών για να την ορίσω σε μια τυχαία λέξη στην αρχή, αλλά θα μπορούσατε επίσης να την ορίσετε απλά σε μία λέξη.
Πρέπει επίσης να βεβαιωθούμε ότι ο μετρητής ανεβαίνει κατά ένα βρόχο, διαφορετικά το πρόγραμμα δεν θα έκανε τίποτα. Επιπλέον, έχω προσθέσει τη λειτουργία καθυστέρησης, για να βεβαιωθείτε ότι υπάρχει ένας βρόχος κάθε χιλιοστό του δευτερολέπτου.
ΥΓ: Όλες οι λειτουργίες Serial.println είναι μόνο για σκοπούς δοκιμής. Ενδέχεται να διαγραφούν με την ολοκλήρωσή τους.
Το goodTimer και το badTimer είναι απλώς τιμές για εάν σκοπεύετε να χρησιμοποιήσετε ένα στοιχείο Piezo για να προσθέσετε ήχο. Εάν το επιθυμείτε, πρέπει επίσης να προσθέσετε τον κωδικό στη δεύτερη εικόνα, η οποία αναπαράγει τους ήχους.
Βήμα 7: Μορφή των σωστά μαντευμένων επιστολών
Όπως υποσχεθήκαμε προηγουμένως, σε αυτό το βήμα θα κάνουμε τα φώτα που αντιπροσωπεύουν τα γράμματα που έχουν μαντέψει σωστά Morse το γράμμα τους.
Για αυτό, έχω γράψει δύο συναρτήσεις: morseThis και nextLetter. Χρησιμοποιεί τους αριθμούς που είχαμε ορίσει προηγουμένως στον πίνακα χρονοδιακόπτη και τους αλλάζει ανάλογα με το τμήμα του κώδικα Morse που λάμπει αυτήν τη στιγμή.
Εάν ο χρονοδιακόπτης φτάσει τη στιγμή που πρέπει να ανάψει το φως, απλώς ανάβει το φως και εκτελεί τον κωδικό για να ρυθμίσει νέους χρονοδιακόπτες για να σβήσει και να ανάψει ξανά. Εάν ο χρονοδιακόπτης φτάσει στο μέρος στο οποίο το φως πρέπει να επιστρέψει απενεργοποιεί, σβήνει το φως και στη συνέχεια ορίζει τον κωδικό να αντιπροσωπεύει το επόμενο μέρος του γράμματος. Εάν δεν υπάρχει επόμενο μέρος, το επαναφέρει στο πρώτο μέρος.
Βήμα 8: Ελέγξτε τη ρύθμιση και την επαναφορά μας
Φυσικά το πρόγραμμα δεν θα τρέξει αν τα φώτα δεν έχουν ρυθμιστεί στην έξοδο και την είσοδο. Προσθέτω επίσης μια γεννήτρια τυχαίων αριθμών για να προσθέσω μια λέξη από μια λίστα λέξεων που έχω βάλει σε έναν πίνακα που ονομάζεται wordsToGuess.
Εκτός από αυτό, πρέπει να προσθέσουμε τη λειτουργία επαναφοράς και να βεβαιωθούμε ότι όλες οι τιμές έχουν επαναφερθεί στην προεπιλογή.
Βήμα 9: Όλες οι μεταβλητές σε μία εικόνα
Τέλος, μπορείτε να το χρησιμοποιήσετε για να ελέγξετε αν έχετε ρυθμίσει σωστά όλες τις απαραίτητες μεταβλητές.
Τώρα απολαύστε το παιχνίδι Hangman in Morse!
Συνιστάται:
LabDroid: Κωδικοποιητής/αποκωδικοποιητής κώδικα Morse: 4 βήματα
LabDroid: Κωδικοποιητής/αποκωδικοποιητής κώδικα Morse: Σημείωση: Αυτή η οδηγία δεν μπορεί να πραγματοποιηθεί 1: 1 στη νεότερη έκδοση του LabDroid. Θα το ενημερώσω σύντομα. Αυτό το έργο θα σας δείξει τι μπορείτε να κάνετε με το LabDroid. Δεδομένου ότι ένα Hello World κανονικά κατασκευάζεται με βάση το κείμενο, το φως ή τον ήχο, σκέφτηκα για το LabDr
Arduino Morse Code Writer: 7 βήματα (με εικόνες)
Arduino Morse Code Writer: Έφτιαξα ένα ρομπότ που μπορεί να μετατρέψει οποιοδήποτε κείμενο σε κώδικα Μορς και στη συνέχεια να το γράψει !! Είναι κατασκευασμένο από χαρτόνι και Lego και για τα ηλεκτρονικά χρησιμοποίησα Arduino και μόνο δύο κινητήρες
Κλειδί USB Arduino Morse Code: 6 βήματα
USB Arduino Morse Code Key: Θέλατε ποτέ να πληκτρολογήσετε σε υπολογιστή με κλειδί κώδικα morse ή να μάθετε/διδάξετε κώδικα morse; Βρίσκεστε στη σωστή σελίδα! Για τα άλλα έργα μου, δείτε τον ιστότοπό μου calvin.sh
Arduino Morse Code Transmitter: 11 βήματα
Arduino Morse Code Transmitter: Σε αυτό το εκπαιδευτικό, θα χρησιμοποιήσετε ένα Arduino Uno για να δημιουργήσετε έναν πομπό Morse Code και θα χρησιμοποιήσετε τη σειριακή οθόνη για να διαβάσετε τα μηνύματα που έχετε μεταδώσει. Ανταλλακτικά που θα χρειαστείτε: Arduino UnoBreadboardBuzzerButtonsJumper καλώδια
Arduino Yún Morse Generator: 4 βήματα (με εικόνες)
Arduino Yún Morse Generator: Έχετε βρεθεί ποτέ σε ένα μπαρ όπου δεν μπορούσατε να μιλήσετε με τον φίλο σας επειδή η μουσική ήταν πολύ δυνατή; τώρα μπορείτε να του ζητήσετε μια μπύρα στον κώδικα Μορς! Ας αρχίσουμε