Πίνακας περιεχομένων:
- Βήμα 1: Ανάπτυξη του μοντέλου εργασίας
- Βήμα 2: Συγκέντρωση εξαρτημάτων
- Βήμα 3: Δημιουργία εμποδίων: Μέρος-Α
- Βήμα 4: Δημιουργία εμποδίων: Μέρος-Β
- Βήμα 5: Το ΑΛΤΗΜΑ και το ΑΠΟΤΕΛΕΣΜΑ
- Βήμα 6: Καλό παιχνίδι
Βίντεο: Παιχνίδι Dot Jump (χωρίς χρήση Arduino): 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Γεια σου! Είμαι ο Shivansh, φοιτητής στο IIIT-Hyderabad. Είμαι εδώ με το πρώτο μου διδακτικό που είναι ένα παιχνίδι εμπνευσμένο από το παιχνίδι Dinosaur Jump του Google Chrome. Το παιχνίδι είναι απλό: Περάστε τα εισερχόμενα εμπόδια για να κερδίσετε έναν πόντο. Αν συγκρουστείτε, χάνετε και το σκορ επανέρχεται.
Το χαρακτηριστικό γνώρισμα αυτού του έργου είναι ότι δεν υπάρχει χρήση Arduino ή άλλου μικροελεγκτή. Προέρχεται καθαρά από βασικά ηλεκτρικά εξαρτήματα και περιλαμβάνει την εφαρμογή μηχανών πεπερασμένης κατάστασης (FSM) με τη βοήθεια λογικών διαγραμμάτων κ.λπ.
Ενδιαφερόμενος? Ας αρχίσουμε.
Προαπαιτούμενα:
- Βασική τεχνογνωσία για ηλεκτρικά εξαρτήματα όπως Αντίσταση, Πυκνωτές, Ολοκληρωμένα Κυκλώματα (IC).
- Βασικές γνώσεις Logic Gates (ΚΑΙ, OR, ΟΧΙ κ.λπ.)
- Γνώση σχετικά με τη λειτουργία Flip-Flop, Counter, Multiplexer, κ.λπ.
ΣΗΜΕΙΩΣΗ: Οι προαναφερόμενες προϋποθέσεις είναι για την κατανόηση ολόκληρου του έργου. Κάποιος που δεν έχει σε βάθος γνώση για το ίδιο μπορεί επίσης να κατασκευάσει το έργο ακολουθώντας τα βήματα στο διδακτικό.
Βήμα 1: Ανάπτυξη του μοντέλου εργασίας
Το πρώτο καθήκον είναι να δημιουργήσουμε ένα μοντέλο εργασίας για το έργο. Μόνο τότε μπορούμε να αποφασίσουμε για τα υλικά που απαιτούνται για το έργο. Ολόκληρο το έργο μπορεί να χωριστεί σε τρία μέρη.
Μέρος-1: Δημιουργία εμποδίων
Πρώτον, πρέπει να δημιουργήσουμε τυχαία εμπόδια για να περάσει η τελεία. Τα εμπόδια θα έχουν επίσης τη μορφή παλμού κουκκίδων που μετακινείται από το ένα άκρο του πίνακα LED στο άλλο.
Για τη δημιουργία εμποδίων, χρησιμοποιούμε δύο κυκλώματα χρονοδιακόπτη (συνημμένα διαγράμματα κυκλώματος), ένα με υψηλή συχνότητα (χρονοδιακόπτη HF) και ένα άλλο με χαμηλή συχνότητα (χρονόμετρο LF). Το μέρος της «τυχαιότητας» το χειρίζεται ο χρονοδιακόπτης HF του οποίου η έξοδος φαίνεται σε κάθε ανερχόμενη άκρη του χρονοδιακόπτη LF (που λαμβάνεται ως είσοδος CLK). Η Οδηγία δημιουργίας εμποδίων είναι η κατάσταση του χρονοδιακόπτη HF σε κάθε ανερχόμενη άκρη του χρονοδιακόπτη LF (1 -> Δημιουργήστε εμπόδιο | 0 -> Μην δημιουργείτε εμπόδιο). Ο Χρονοδιακόπτης HF ΕΠΑΝΑΦΕΡΕΤΑΙ σε κάθε 'JUMP' για να εξασφαλίσει τυχαία δημιουργία εμποδίων. Η έξοδος του χρονοδιακόπτη HF δίνεται ως είσοδος D σε ένα Flip Flop D (για αποθήκευση οδηγιών για τον επόμενο κύκλο) με είσοδο CLK ως LF Timer Output.
Μόλις τελειώσει η δυαδική οδηγία για τη δημιουργία εμποδίων, πρέπει να δημιουργήσουμε τον «παλμό εμποδίων» στον πίνακα LED. Το κάνουμε με τη βοήθεια ενός μετρητή 4-bit του οποίου η έξοδος δίνεται σε έναν αποπολυπλέκτη 4x16 (DeMUX). Η έξοδος του DeMUX θα κάνει τα 16 αντίστοιχα LED να λάμπουν.
Μέρος 2: Η ΑΛΛΗΛΙΑ
Για τη δράση JUMP, θα λάβουμε την εισαγωγή του κουμπιού ώθησης ως οδηγία. Μόλις δοθεί η οδηγία, η ενδεικτική λυχνία LED του αντικειμένου σταματά να λάμπει και μια άλλη λυχνία πάνω από αυτήν ανάβει, που σημαίνει άλμα.
Μέρος-3: Αποτέλεσμα
Το αποτέλεσμα θα είναι το εξής: Αν το αντικείμενο συνετρίβη, ΕΠΑΝΑΦΟΡΑ το παιχνίδι. αλλιώς, αυξήστε το σκορ.
Η σύγκρουση μπορεί να εκφραστεί ως AND και των δύο, του σήματος εμποδίου και του σήματος αντικειμένου για τη θέση εδάφους του εμποδίου. Εάν δεν συμβεί σύγκρουση, ο μετρητής σημείων αυξάνεται και εμφανίζεται σε ένα ζευγάρι οθονών 7 τμημάτων.
Βήμα 2: Συγκέντρωση εξαρτημάτων
Τα συστατικά που απαιτούνται είναι τα εξής:
- PCB x 1, Breadboard x 3
- LED: Πράσινο (31), Κόκκινο (1), BiColor: Κόκκινο+Πράσινο (1)
- Κουμπί πίεσης x 2
- Οθόνη 7 τμημάτων x 2
- IC 555 x 3 [για κυκλώματα χρονοδιακόπτη]
- IC 7474 x 1 (D FlipFlop)
- IC 7490 x 2 (Μετρητής δεκαετίας) [για εμφάνιση βαθμολογίας]
- IC 7447 x 2 (αποκωδικοποιητής BCD σε 7 τμήματα) [για εμφάνιση βαθμολογίας]
- IC 4029 x 1 (μετρητής 4-bit) [για εμφάνιση εμποδίων]
- IC 74154 x 1 (DeMUX) [για εμφάνιση εμποδίων]
- IC 7400 x 3 (ΟΧΙ πύλη)
- IC 7404 x 1 (πύλη NAND)
- IC 7408 x 1 (AND gate)
- Υποδοχές IC
- Πηγή τάσης (5V)
Απαιτούμενα εργαλεία:
- Συγκολλητικό σίδερο
- Κόφτης καλωδίων
Βήμα 3: Δημιουργία εμποδίων: Μέρος-Α
Πρώτον, πρέπει να ρυθμίσουμε τα κυκλώματα χρονοδιακόπτη για τη δημιουργία σήματος δημιουργίας εμποδίων (HIGH/LOW).
Το κύκλωμα θα ρυθμιστεί σύμφωνα με τη θεωρία που συζητήθηκε προηγουμένως. Το διάγραμμα κυκλώματος για το ίδιο επισυνάπτεται παραπάνω. Το κύκλωμα εφαρμόζεται σε ένα breadboard (αν και μπορεί να εφαρμοστεί και σε ένα PCB) ως εξής:
- Τοποθετήστε τα δύο 555 IC και το D Flip Flop (IC 7474) κατά μήκος του διαχωριστικού της σανίδας, με λίγο κενό χώρο (4-5 στήλες) ενδιάμεσα.
- Συνδέστε την επάνω σειρά του breadboard με το θετικό τερματικό της πηγής τάσης και την κάτω σειρά με τον αρνητικό ακροδέκτη.
- Πραγματοποιήστε περαιτέρω συνδέσεις ακολουθώντας το διάγραμμα κυκλώματος. Μετά τις απαραίτητες συνδέσεις, το κύκλωμα θα μοιάζει με την εικόνα που επισυνάπτεται παραπάνω.
ΣΗΜΕΙΩΣΗ: Οι τιμές των αντιστάσεων R1 & R2 και χωρητικότητας C υπολογίζονται χρησιμοποιώντας τις ακόλουθες εξισώσεις:
T = 0,694 x (R1 + 2 * R2) * C
όπου T απαιτείται χρονική περίοδος.
D = 0,694 x [(R1 + R2)/T] *100
όπου D είναι ο Κύκλος Καθήκοντος, δηλ. ο λόγος Χρόνου ON προς Συνολικό Χρόνο.
Σε αυτό το έργο, για τον χρονοδιακόπτη υψηλής συχνότητας, T = 0,5 sec και για τον χρονοδιακόπτη χαμηλής συχνότητας, T = 2 sec.
Βήμα 4: Δημιουργία εμποδίων: Μέρος-Β
Τώρα που γνωρίζουμε πότε να δημιουργήσουμε το εμπόδιο, πρέπει τώρα να το εμφανίσουμε. Θα χρησιμοποιήσουμε έναν μετρητή 4-bit, έναν Demultiplexer, έναν χρονοδιακόπτη και έναν πίνακα 16 LED. Γιατί 16; Αυτό συμβαίνει επειδή θα αντιστοιχίσουμε την έξοδο 4-bit του μετρητή στα 16 LEDs χρησιμοποιώντας τον αποπολυπλέκτη. Αυτό σημαίνει ότι ο μετρητής θα μετράει 0 έως 15 και ο αποπολυπλέκτης θα ανάβει το LED με αυτόν τον δείκτη.
Ο ρόλος του χρονοδιακόπτη είναι να ρυθμίζει την ταχύτητα μέτρησης, δηλαδή την ταχύτητα κίνησης εμποδίων. Το εμπόδιο θα μετατοπίσει μία θέση στο One Time Period του χρονοδιακόπτη. Μπορείτε να παίξετε με διαφορετικές τιμές R1, R2 και C χρησιμοποιώντας τις εξισώσεις στο προηγούμενο βήμα για να έχετε διαφορετικές ταχύτητες.
Για τη μήτρα LED, συγκολλήστε 16 LED με γραμμικό τρόπο με κοινό σημείο. Ο θετικός ακροδέκτης κάθε LED θα συνδεθεί με το DeMUX (μετά την αναστροφή χρησιμοποιώντας την πύλη NOT, αφού το DeMUX δίνει χαμηλή έξοδο).
Το διάγραμμα κυκλώματος για το ίδιο επισυνάπτεται παραπάνω.
Βήμα 5: Το ΑΛΤΗΜΑ και το ΑΠΟΤΕΛΕΣΜΑ
Το επόμενο πράγμα είναι η δράση άλματος. Για να εμφανίσετε ένα άλμα, απλώς τοποθετήστε ένα LED διαφορετικού χρώματος πάνω από τη μήτρα, γειώστε το και συνδέστε το τερματικό +ve σε ένα κουμπί. Συνδέστε το άλλο άκρο του κουμπιού στην πηγή τάσης.
Επίσης, πάρτε ένα άλλο κουμπί, τοποθετημένο δίπλα στο προηγούμενο και συνδέστε έναν από τους ακροδέκτες του στα +5V. Το άλλο τερματικό πηγαίνει σε μια πύλη NAND (IC 7404) με την άλλη είσοδο της πύλης NAND ως είσοδο στο LED ακριβώς κάτω από το LED JUMP (δηλ. Το αντικείμενο LED). Η έξοδος της πύλης NAND πηγαίνει στο RESET (PIN 2 και 3 και των δύο μετρητών BCD) του μετρητή βαθμολογίας. Με αυτό που κάνουμε είναι να επαναφέρουμε τη βαθμολογία εάν δίνεται ταυτόχρονα τόσο το σήμα OBJECT LED (στη βασική θέση) όσο και το σήμα OBSTACLE, δηλαδή το αντικείμενο και το εμπόδιο συγκρούστηκαν.
Κάντε κάποια ρύθμιση για να βεβαιωθείτε ότι και τα δύο κουμπιά είναι πατημένα μεταξύ τους. Μπορείτε να χρησιμοποιήσετε ένα νόμισμα και να κολλήσετε και τα δύο κουμπιά σε αυτό.
Για τη ρύθμιση του μετρητή βαθμολογίας, ακολουθήστε το διάγραμμα κυκλώματος που επισυνάπτεται παραπάνω (πηγή εικόνας: www.iamtechnical.com).
ΣΗΜΕΙΩΣΗ: Συνδέστε τους πείρους 2 και 3 στην έξοδο της πύλης NAND για να επαναφέρει τη βαθμολογία σε περίπτωση σύγκρουσης με το εμπόδιο
Βήμα 6: Καλό παιχνίδι
Αυτό είναι. Τελειώσατε με το έργο σας. Μπορείτε να προσθέσετε λίγο φινίρισμα σε αυτό, ώστε να φαίνεται καλό. Η ξεκούραση είναι μια χαρά.
ΑΠΟΛΑΜΒΑΝΩ..!!
Συνιστάται:
Διανομέας απολύμανσης χεριών DIY χωρίς επαφή χωρίς Arduino ή μικροελεγκτή: 17 βήματα (με εικόνες)
DIY Non Contact Contact Sanitizer Dispenser Without Arduino or Microcontroller: Όπως όλοι γνωρίζουμε, το ξέσπασμα του COVID-19 χτύπησε τον κόσμο και άλλαξε τον τρόπο ζωής μας. Σε αυτή την κατάσταση, το αλκοόλ και τα απολυμαντικά χεριών είναι ζωτικά υγρά, ωστόσο, πρέπει να χρησιμοποιούνται σωστά. Αγγίζοντας δοχεία αλκοόλ ή απολυμαντικά χεριών με μολυσμένα χέρια γ
Πραγματικό παιχνίδι Life War Tower Defense παιχνίδι: 11 βήματα
Making a Real Life War Tower Defense Game: Γεια σας, είμαστε GBU! Στην ομάδα μας ανατέθηκε μια εργασία στο VG100, Intro to Engineering, class: να σχεδιάσουμε και να δημιουργήσουμε ένα πραγματικό παιχνίδι Warzone Tower Defense Game. Το VG100 είναι μια βασική τάξη που όλοι οι πρωτοετείς καλούνται να παρακολουθήσουν στο Joint Institute (JI.) The Joint Inst
Γιγαντιαίο παιχνίδι με παιχνίδι Makey Makey: 8 βήματα
Gigantic Playable Makey Makey: Μερικοί εκπαιδευτικοί στην ομάδα μας στο Facebook, ανέβηκαν σε ένα εντελώς νέο επίπεδο αυτό το σχολικό έτος φτιάχνοντας το δικό τους γιγάντιο Makey Makeys. Η ομάδα μας θεώρησε ότι αυτή ήταν μια εξαιρετική ιδέα για τη διδασκαλία των μαθητών σχετικά με τους μικροελεγκτές. Ως εκ τούτου, ρωτήσαμε τον Διευθυντή μας
Πώς να ελέγξετε αν ένα παιχνίδι θα τρέξει στον υπολογιστή σας πριν αγοράσετε το παιχνίδι .: 4 βήματα
Πώς να ελέγξετε αν ένα παιχνίδι θα τρέξει στον υπολογιστή σας πριν αγοράσετε το παιχνίδι .: Πρόσφατα απέκτησα το Call of Duty 4 από έναν φίλο (δωρεάν θα μπορούσα να προσθέσω) επειδή δεν θα εκτελεστεί στον υπολογιστή του. Λοιπόν, ο υπολογιστής του είναι αρκετά νέος και με μπέρδεψε γιατί δεν θα λειτουργούσε. Έτσι, μετά από μερικές ώρες αναζήτησης στο διαδίκτυο, συνάντησα
Zero Cost Laptop Cooler / Stand (Χωρίς κόλλα, χωρίς διάτρηση, χωρίς παξιμάδια & μπουλόνια, χωρίς βίδες): 3 βήματα
Zero Cost Laptop Cooler / Stand (No Glue, No Drilling, No Nuts & Bolts, No Screws): ΕΝΗΜΕΡΩΣΗ: ΠΑΡΑΚΑΛΩ KINDLY VOTE FOR MY INSTRUCTABLE, THANKS ^ _ ^ YOU MAY MOTO LIKE ΕΙΣΟΔΟΣ ΣΤΟ www.instructables.com/id/Zero-Cost-Alumin-Furnace-No-Propane-No-Glue-/ ΜΠΟΡΕΙ ΝΑ VΗΦΙΣΕΤΕ ΓΙΑ ΤΟΝ ΚΑΛΥΤΕΡΟ ΦΙΛΟ ΜΟΥ