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

4 παιχνίδια με κουμπιά χρησιμοποιώντας μία αναλογική είσοδο: 6 βήματα (με εικόνες)
4 παιχνίδια με κουμπιά χρησιμοποιώντας μία αναλογική είσοδο: 6 βήματα (με εικόνες)

Βίντεο: 4 παιχνίδια με κουμπιά χρησιμοποιώντας μία αναλογική είσοδο: 6 βήματα (με εικόνες)

Βίντεο: 4 παιχνίδια με κουμπιά χρησιμοποιώντας μία αναλογική είσοδο: 6 βήματα (με εικόνες)
Βίντεο: SELF CLEANING LITTER BOX Mega Test 2: Popur X5/ Lavviebot S & MORE! 2024, Νοέμβριος
Anonim
Image
Image

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

Και για να επισημάνετε τη χρήση αυτών των κουμπιών που περιλαμβάνονται είναι το λογισμικό για να παίξετε τέσσερα διαφορετικά παιχνίδια με 4 κουμπιά. Όλα τα παιχνίδια (συνολικά 8) εδώ χρησιμοποιούν μια οθόνη Led ladder (ανατρέξτε στο προηγούμενο έργο: οδηγίες: Single-Line-LED-Display-Games).

Μπορείτε να χρησιμοποιήσετε τη δική σας διάταξη 4 κουμπιών με άλλες εξόδους οθόνης, απλώς να χρησιμοποιήσετε τη λειτουργία 'scanButtons ()' από ένα από τα σκίτσα που περιλαμβάνονται. Και χρησιμοποιήστε αυτά τα σκίτσα για παράδειγμα τη χρήση τους.

Τα παιχνίδια είναι ένα παιχνίδι δεξιοτήτων: Whack-a-Mole, ένα παιχνίδι μνήμης: Simon λέει, λογικά παιχνίδια Sea Hunt και Flip'd ένα παιχνίδι δύο παικτών παρόμοιο με το Reveri. Αργότερα, σε αυτό το διδακτικό, θα παρουσιάσω επίσης αργότερα τέσσερα παιχνίδια δύο ατόμων, head to head αγώνων.

Βήμα 1: Προσδιορισμός της βέλτιστης διαμόρφωσης κουμπιού

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

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

Εδώ, με αυτό που ονομάζω Double-Y διαμόρφωση τεσσάρων κουμπιών και αντιστάσεων, μπορείτε να διακρίνετε αξιόπιστα οποιοδήποτε μονό, διπλό, ακόμη και τριπλό ή και τα τέσσερα κουμπιά που πιέζονται. Το πρόγραμμα οδήγησης λογισμικού για να το κάνετε αυτό καλύπτεται στην επόμενη ενότητα και τον κατάλογο κωδικών.

Με την επιθυμία να έχω τέσσερα κουμπιά προσαρτημένα σε μία αναλογική είσοδο όπου το πάτημα κάθε κουμπιού θα μπορούσε να ανιχνευθεί ανεξάρτητα από την κατάσταση των άλλων κουμπιών, διαμόρφωσα πολλές διαμορφώσεις σε ένα υπολογιστικό φύλλο. Διαπίστωσα ότι μια διαμόρφωση διπλού Y (που αποτελείται από 2 σύνολα τριών αντιστάσεων) έδωσε τις καλύτερες δυνατότητες. Δείτε παρακάτω το σχηματικό διάγραμμα καλωδίωσης. Τα αξιολόγησα βάσει του μεγαλύτερου διαχωρισμού της συνολικής αντίστασης μεταξύ οποιωνδήποτε δύο συνδυασμών πατημένων κουμπιών. Έκανα περαιτέρω μοντελοποίηση υπολογισμένων αναλογικών τιμών. Ανατρέξτε στο αρχείο υπολογιστικού φύλλου παρακάτω.

Για να καθορίσω τις καλύτερες τιμές για χρήση στις παραπάνω διαμορφώσεις έγραψα μια προσομοίωση, η οποία δοκίμασε εξαντλητικά όλες τις πιθανές μεταθέσεις των πιθανών τιμών αντιστάσεων, βρίσκοντας το σύνολο που παρήγαγε τη μέγιστη ελάχιστη διαφορά μεταξύ των πιθανών εισόδων ανάγνωσης. Έχω δώσει τον κωδικό που χρησιμοποίησα. Αυτό ήταν ένα εργαλείο ωμής δύναμης που έριξα μαζί, πήρα αυτό που ήθελα και το άφησα στην άκρη, οπότε δεν ήταν σε καμία περίπτωση βελτιστοποιημένο. Είναι εντελώς όπως είναι, μόνο για ιστορική αναφορά (Solve_4R.html παρακάτω).

Εδώ είναι η έξοδός του για αναθεώρηση:

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 15 λεπτά R δέλτα: 3.3658818125

R1: 10 R2: 12 R3: 10 R4: 12 R5: 10 R6: 18 λεπτά R δέλτα: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 12 R5: 18 R6: 10 λεπτά R δέλτα: 4.9490620031 R1: 10 R2: 12 R3: 10 R4: 15 R5: 10 R6: 33 λεπτά R δέλτα: 5.0576510475 R1: 10 R2: 12 R3: 10 R4: 15 R5: 12 R6: 10 λεπτά R δέλτα: 7.104826870 R1: 10 R2: 12 R3: 10 R4: 18 R5: 10 R6: 18 λεπτά R δέλτα: 8.1673424912 R1: 10 R2: 12 R3: 10 R4: 18 R5: 15 R6: 22 λεπτά R δέλτα: 8.6504939648 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 18 minR δέλτα: 10.1721492515 R1: 10 R2: 12 R3: 10 R4: 22 R5: 10 R6: 22 minR δέλτα: 10.5040000560 R1: 10 R2: 12 R3: 10 R4: 27 R5: 12 R6: 27 minR δέλτα: 10.7814361579 R1: 10 R2: 12 R3: 12 R4: 33 R5: 15 R6: 36 minR δέλτα: 10.8827552754 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 22 λεπτάR δέλτα: 11.4499029683 R1: 10 R2: 12 R3: 12 R4: 68 R5: 10 R6: 27 minR δέλτα: 12.0961591599 R1: 10 R2: 12 R3: 15 R4: 68 R5: 10 R6: 27 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 75 R5: 10 R6: 27 λεπτά R δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 15 R4: 82 R5: 10 R6: 27 λεπτά R δέλτα: 1 2.7992171382 R1: 10 R2: 12 R3: 15 R4: 91 R5: 10 R6: 27 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 82 R5: 10 R6: 15 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 91 R5: 10 R6: 15 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 27 R4: 100 R5: 10 R6: 15 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 68 R4: 15 R5: 10 R6: 27 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 75 R4: 15 R5: 10 R6: 27 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 15 R5: 10 R6: 27 λεπτά R δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 82 R4: 27 R5: 10 R6: 15 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 15 R5: 10 R6: 27 minR δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 91 R4: 27 R5: 10 R6: 15 λεπτά R δέλτα: 12.7992171382 R1: 10 R2: 12 R3: 100 R4: 27 R5: 10 R6: 15 λεπτά R δέλτα: 12.7992171382 R1: 10 R2: 15 R3: 10 R4: 18 R5: 18 R6: 12 λεπτά R δέλτα: 13.2909379968 R1: 10 R2: 15 R3: 10 R4: 22 R5: 12 R6: 10 λεπτά R δέλτα: 14.245362837 R1: 10 R2: 15 R3: 10 R4: 39 R5: 18 R6: 27 λεπτά R δέλτα: 14.5126340326 R1: 10 R2: 15 R3: 10 R4: 56 R5: 12 R6: 15 λεπτά R δέλτα: 15.220571553 R1: 10 R2: 15 R3: 12 R4: 27 R5: 12 R6: 12 λεπτά R δέλτα: 18.8228671943 R1: 10 R2: 15 R3: 12 R4: 39 R5: 18 R6: 27 λεπτάR δέλτα: 19.236186493 R1: 10 R2: 15 R3: 15 R4: 47 R5: 22 R6: 33 minR δέλτα: 19.5685736556 R1: 10 R2: 15 R3: 22 R4: 56 R5: 22 R6: 27 minR δέλτα: 19.7887024012 R1: 10 R2: 15 R3: 27 R4: 220 R5: 12 R6: 10 minR δέλτα: 21.2533513149 R1: 10 R2: 15 R3: 220 R4: 27 R5: 12 R6: 10 minR δέλτα: 21.2533513149 R1: 10 R2: 18 R3: 22 R4: 68 R5: 33 R6: 39 minR δέλτα: 21.58566448 R1: 10 R2: 18 R3: 27 R4: 75 R5: 33 R6: 36 λεπτάR δέλτα: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 36 λεπτάR δέλτα: 22.158443806 R1: 10 R2: 18 R3: 27 R4: 82 R5: 33 R6: 39 minR δέλτα: 22.158443806 R1: 10 R2: 18 R3: 33 R4: 75 R5: 27 R6: 18 minR δέλτα: 24.2578084248 R1: 10 R2: 18 R3: 75 R4: 33 R5: 27 R6: 18 λεπτάR δέλτα: 24.2578084248 R1: 10 R2: 36 R3: 36 R4: 68 R5: 12 R6: 18 λεπτάR δέλτα: 24.380952380 R1: 10 R2: 36 R3: 36 R4: 75 R5: 12 R6: 18 λεπτά R δέλτα: 24.380952380 R1: 10 R2: 36 R3: 39 R4: 75 R5: 12 R6: 15 λεπτά R δέλτα: 24.380952380 R1: 10 R2: 36 R3: 68 R4: 36 R5: 12 R6: 18 λεπτά R δέλτα: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 36 R5: 12 R6: 18 minR δέλτα: 24.380952380 R1: 10 R2: 36 R3: 75 R4: 39 R5: 12 R6: 15 minR delta: 24.380952380 R1: 10 R2: 39 R3: 15 R4: 39 R5: 10 R6: 27 minR δέλτα: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 47 R5: 10 R6: 22 minR δέλτα: 24.4674161824 R1: 10 R2: 39 R3: 22 R4: 56 R5: 10 R6: 22 minR δέλτα: 24.4674161824 R1: 10 R2: 39 R3: 27 R4: 56 R5: 10 R6: 15 minR δέλτα: 24.4674161824 R1: 10 R2: 39 R3: 39 R4: 15 R5: 10 R6: 27 minR δέλτα: 24.4674161824 R1: 10 R2: 39 R3: 47 R4: 22 R5: 10 R6: 22 λεπτά R δέλτα: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 22 R5: 10 R6: 22 λεπτά R δέλτα: 24.4674161824 R1: 10 R2: 39 R3: 56 R4: 27 R5: 10 R6: 15 λεπτά R δέλτα: 24.4674161824 R1: 12 R2: 39 R3: 33 R4: 75 R5: 15 R6: 39 minR δέλτα: 24.5467795136 R1: 12 R2: 39 R3: 33 R4: 82 R5: 18 R6: 47 minR δέλτα: 24.789976640 R1: 12 R2: 39 R3: 47 R4: 100 R5: 18 R6: 33 λεπτά R δέλτα: 24.789976640 R1: 12 R2: 39 R3: 56 R4: 100 R5: 15 R6: 12 λεπτά R δέλτα: 25.3564579616 R1: 12 R2: 39 R3: 100 R4: 56 R5: 15 R6: 12 λεπτά R δέλτα: 25.3564579616 R1: 12 R2: 47 R3: 18 R4: 47 R5: 10 R6: 27 λεπτά R δέλτα: 27.4996466431 R1: 12 R2: 47 R3: 22 R4: 56 R5: 10 R6: 22 λεπτά R δέλτα: 27.4996466431 R1: 12 R2: 47 R3: 27 R4: 56 R5: 10 R6: 18 λεπτά R δέλτα: 27.4996466431 R1: 12 R2: 47 R3: 47 R4: 18 R5: 10 R6: 27 λεπτά R δέλτα: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 22 R5: 10 R6: 22 λεπτάR δέλτα: 27.4996466431 R1: 12 R2: 47 R3: 56 R4: 27 R5: 10 R6: 18 minR δέλτα: 27.4996466431 R1: 15 R2: 56 R3: 22 R4: 56 R5: 10 R6: 27 minR δέλτα: 29.1605253709 R1: 15 R2: 56 R3: 22 R4: 56 R5: 12 R6: 33 minR δέλτα: 29.811354701 R1: 15 R2: 56 R3: 33 R4: 68 R5: 12 R6: 22 minR δέλτα: 29.811354701 R1: 15 R2: 56 R3: 56 R4: 22 R5: 12 R6: 33 minR δέλτα: 29.811354701 R1: 15 R2: 56 R3: 68 R4: 33 R5: 12 R6: 22 minR δέλτα: 29.811354701 R1: 18 R2: 68 R3: 27 R4: 68 R5: 12 R6: 33 λεπτά R δέλτα: 30.7487559507 R1: 18 R2: 68 R3: 33 R4: 68 R5: 12 R6: 27 λεπτά R δέλτα: 30.8965517241 R1: 18 R2: 68 R3: 68 R4: 33 R5: 12 R6: 27 minR δέλτα: 30.8965517241 R1: 18 R2: 75 R3: 27 R4: 68 R5: 12 R6: 36 minR δέλτα: 30.9007058823 R1: 18 R2: 75 R3: 47 R4: 91 R5: 12 R6: 10 λεπτά R δέλτα: 30.9007058823 R1: 18 R2: 75 R3: 68 R4: 27 R5: 12 R6: 36 λεπτάR δέλτα: 30.9007058823 R1: 18 R2: 75 R3: 91 R4: 47 R5: 12 R6: 10 λεπτά R δέλτα: 30.9007058823 R1: 22 R2: 82 R3: 36 R4: 82 R5: 15 R6: 39 λεπτά R δέλτα: 33.2525545171 R1: 22 R2: 82 R3: 82 R4: 36 R5: 15 R6: 39 λεπτάR δέλτα: 33.2525545171 R1: 36 R2: 82 R3: 22 R4: 82 R5: 39 R6: 15 λεπτάR δέλτα: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 λεπτάR δέλτα: 33.2525545171 R1: 82 R2: 22 R3: 36 R4: 82 R5: 15 R6: 39 λεπτά R δέλτα: 33.2525545171 R1: 82 R2: 22 R3: 82 R4: 36 R5: 15 R6: 39 λεπτά R δέλτα: 33.2525545171 R1: 82 R2: 36 R3: 22 R4: 82 R5: 39 R6: 15 λεπτά R δέλτα: 33.2525545171 R1: 82 R2: 36 R3: 82 R4: 22 R5: 39 R6: 15 λεπτά R δέλτα: 33.2525545171 R1: 36 R2: 82 R3: 82 R4: 22 R5: 39 R6: 15 λεπτά R δέλτα: 33.2525545171

Βήμα 2: Η συναρμολόγησή μου με 4 κουμπιά

Η συναρμολόγησή μου με 4 κουμπιά
Η συναρμολόγησή μου με 4 κουμπιά

Για τα τέσσερα κουμπιά μου χρησιμοποίησα αυτά τα κουμπιά και ένα διάτρητο PCB και αντιστάσεις όπως υποδεικνύεται στο παραπάνω διάγραμμα. Ο τρόπος με τον οποίο υλοποιείτε φυσικά τα τέσσερα κουμπιά σας είναι ανοιχτά και εξαρτάται από εσάς και τις ανάγκες του έργου σας. Αρκεί να είναι ηλεκτρικά αυτό που υπάρχει στο παραπάνω διάγραμμα. Βεβαιωθείτε ότι η κατασκευή-τοποθέτησή σας είναι τέτοια που δεν θα έχετε καμία επαφή με την καλωδίωση στα κουμπιά καθώς αυτό θα ρίξει τις ενδείξεις με αποτέλεσμα λανθασμένη συμπεριφορά κουμπιού.

Έχω ένα πρόσθετο μικρό κουμπί στον πίνακα μου το οποίο χρησιμοποιώ σαν πλήκτρο "Λειτουργία". Είναι σε σειρά με αντίσταση 2 megohm, η οποία δεν απορρίπτει σημαντικά τις άλλες ενδείξεις εισόδου μου. αν και μπορώ να το εντοπίσω μόνο όταν πιέζεται μόνο του. Μπορείτε να το αγνοήσετε ή να ελέγξετε τον κώδικα για να καταλάβετε περαιτέρω πώς τον χρησιμοποιώ.

Δοκιμαστικό σκίτσο 'Test_12Leds_6Btns' μπορεί να χρησιμοποιηθεί για τον έλεγχο της ανίχνευσης πιέσεων κουμπιών από το MCU και την πραγματική διάταξη κουμπιών. Η έξοδός του έχει οριστεί για προβολή είτε με LED Ladder είτε με σειριακή οθόνη. Θα μπορούσε εύκολα να τροποποιηθεί για έξοδο μέσω οποιουδήποτε τύπου οθόνης που έχετε.

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

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

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

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

Βήμα 3: Παιχνίδι παιχνιδιού

Είτε το σκίτσο, το 'LadderGames4' ή το 'Head2head' μπορεί να φορτωθεί και να εκτελεστεί από τους περισσότερους Arduino MCU, αλλά το LadderGames4 πρέπει να έχει «SimonSays» ή οποιοδήποτε από τα άλλα δύο παιχνίδια για να χωρέσει στα 8K Bytes του χώρου προγράμματος ένα Attiny-85. Ο ήχος είναι επίσης ένα πρόβλημα με ένα ATtiny-85, δείτε προηγούμενο έργο που αναφέρθηκε παραπάνω. Ο κώδικας έχει ρυθμιστεί με κατάρτιση υπό όρους και είναι γνωστό ότι λειτουργεί με Nano, Uno και ATtiny-85.

Με καθένα από αυτά τα σκίτσα μετά την προετοιμασία σας παρουσιάζεται το Μενού, με ένα χρώμα κάθε φορά να φωτίζει όλο το Κόκκινο… Κίτρινο… Πράσινο… Μπλε Leds, που αντιστοιχεί στις τέσσερις πιθανές επιλογές παιχνιδιού. Πιέζετε είτε Btn1 όταν ανάβει η επιλογή επιθυμίας είτε ανά πάσα στιγμή πατάτε Btn2-4 για παιχνίδια 2-4. Ο περιττός τρόπος επιλογής είναι έτσι ώστε να είναι συμβατός με εφαρμογές και παιχνίδια δύο και τεσσάρων κουμπιών. Εάν υπάρχουν πολλές εκδόσεις στο παιχνίδι, θα πρέπει να επιλέξετε κόκκινο που αναβοσβήνει για το ver-1, κίτρινο που αναβοσβήνει για το ver-2 και ούτω καθεξής.

4 παιχνίδια με κουμπιά

Ένα παιχνίδι μνήμης, ένα παιχνίδι συντονισμού ματιού-χεριού και δύο παιχνίδια στρατηγικής.

Ο Simon λέει ότι πρόκειται για μια επανάληψη του παιχνιδιού από τη μορφή που το είχα, σε αυτά τα προηγούμενα έργα:

www.instructables.com/id/Fast-Easy-Simon/

www.instructables.com/id/Improved-Simon-Says-Code/

Παίζει όπως όλα τα άλλα παιχνίδια "Simon Says".

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

Whack a Mole

Για 30 δευτερόλεπτα εμφανίζονται διαφορετικοί κρεατοελιές (κόκκινοι, γελ, γκρι, μπλε) 1, 2 ή 3 κάθε φορά. Πρέπει να τα «χτυπήσετε» πατώντας τα αντίστοιχα κουμπιά Btn1-4. Θα γίνονται δεκτά μόνο μεμονωμένα πάτημα κουμπιών, χωρίς ταυτόχρονα πολλαπλά πατήματα κουμπιών. Το πόσο καιρό μένει ένα σετ κρεατοελιές γίνεται μικρότερο όσο συνεχίζεται το παιχνίδι. Εάν σπρώξετε όλους τους τυφλοπόντικες που εμφανίζονται, τότε θα εμφανιστεί ένα νέο σύνολο. έτσι ώστε όσο γρηγορότεροι είστε τόσο περισσότεροι κρεατοελιές θα έχετε την ευκαιρία να κτυπήσετε.

Μόλις τελειώσει ένα παιχνίδι, η οθόνη θα αντικατοπτρίζει τη βαθμολογία, ανάβοντας ένα led για κάθε 10 moles που χτυπήθηκαν. Καθώς το παιχνίδι βαθμολογεί 10 πόντους για κάθε τυφλοπόντικα, 5 φωτισμένα led θα αντιπροσωπεύουν μια τυπική βαθμολογία Whac-a-Mole 500+. Για να παίξετε έναν άλλο γύρο θα πρέπει να επιλέξετε ξανά το παιχνίδι.

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

Η τυπική βαθμολογία μου χρησιμοποιώντας ένα δάχτυλο είναι στα 500, με 4 δάχτυλα (ένα ανά κουμπί) είναι 600+. Η υψηλότερη βαθμολογία μου είναι 700+. Η χρήση πολλαπλών δακτύλων είναι ιδιαίτερα δύσκολη στο ότι, εάν υπάρχει επικάλυψη στο πάτημα του ενός και του άλλου, το δεύτερο δεν θα γίνει αποδεκτό από το λογισμικό, απαιτώντας από εσάς να αφήσετε όλα τα κουμπιά πριν γίνει δεκτό ένα άλλο. Αν κάποιος πάρει όλα τα 12 led, για σκορ 1200+, ενημερώστε μας.

Θαλάσσιο κυνήγι

Υπάρχει ένα αόρατο υποβρύχιο που κινείται στα βάθη. Η αρχική του θέση και η κατεύθυνση είναι τυχαία. Κάνει μια κίνηση στην πορεία του μετά από κάθε στροφή που ακολουθείτε. Πρέπει να προβλέψετε την τοποθεσία του μέσω αναφορών σόναρ και να το βυθίσετε με φορτίο βάθους. Ένα ηχητικό σόναρ κυματίζει (και προς τις δύο κατευθύνσεις) από την αρχική του θέση ως αμυδρό φως και φωτίζεται (μαζί με ένα πινγκ) στην απόσταση του υποθαλάσσιου. Ωστόσο, σημειώστε ότι το υποθαλάσσιο μπορεί να είναι είτε από εσάς είτε κινείται προς άγνωστη κατεύθυνση. Ένα φορτίο βάθους εκρήγνυται βαθιά κάτω από το σημείο όπου εκτοξεύεται. Ακούτε μια σιωπηλή έκρηξη εάν τίποτα, ή υπάρχει, αλλιώς ακούτε τη μεγάλη έκρηξη του υποθαλάσσιου και ένα έντονο φλας.

Για να μετακινήσετε το δρομέα οδήγησε στο σημείο που θέλετε να ρίξετε έναν σημαδούρα σόναρ ή το βάθος φόρτισης γίνεται με Btn2 & Btn3 για αριστερά & δεξιά. Το κουμπί-1 χρησιμοποιείται για την εκτόξευσή τους.

Στην έκδοση 1, κάθε προσπάθεια είναι ένας συνδυασμός αναφοράς βάθους φόρτισης και σόναρ. και μπορείτε να χρησιμοποιήσετε απεριόριστο αριθμό από αυτά.

Στην έκδοση 2, Head to head, εναλλάξ, για να δείτε ποιος καταφέρνει να βυθίσει το υποβρύχιο. Ο παίκτης 1 χρησιμοποιεί το Btn1 και ο δεύτερος παίκτης χρησιμοποιεί το Btn4 για να ξεκινήσει τις χρεώσεις βάθους.

Στην έκδοση 3, οι αναφορές βάθους και βυθομέτρησης ξεκινούν ανεξάρτητα από το Btn1 και το Btn4 αντίστοιχα. Έχετε στη διάθεσή σας μόνο τρεις χρεώσεις βάθους. Μπορείτε να λάβετε όλες τις αναφορές σόναρ που θέλετε. Χάνεις αν δεν τον αποκτήσεις με αυτές τις χρεώσεις.

Στην έκδοση 4, το sub θα μπορούσε να κινείται με ρυθμό 1-3 θέσεων ανά βόλεϊ και διαφορετικά παίζει όπως η έκδοση 3, αλλά παίρνετε 6 φορτίσεις βάθους.

Ιστορία: Δημιούργησα για πρώτη φορά το παιχνίδι "Sea Hunt" στη δεκαετία του 1970. Στη συνέχεια, η συσκευή εισόδου & εξόδου ήταν τηλετύπος. Ωστόσο, τότε η θάλασσα ήταν ένα πλέγμα 2 διαστάσεων, σε αντίθεση με το 1 διαστάσεων όπως είναι εδώ.

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

Αναποδογυρισμένο

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

Σε αυτό το παιχνίδι δύο παικτών, ο στόχος του ενός παίκτη είναι να σβήσει όλα τα φώτα και ο άλλος να τα ανάψει όλα. Ένας παίκτης χρησιμοποιεί το Btn1 είτε για να σβήσει μια ομάδα από τα φώτα του άλλου παίκτη είτε να εγκαταλείψει ένα μόνο από τα "Off lights" του (ενεργοποιώντας το). Ο άλλος παίκτης χρησιμοποιεί το Btn4 για να ενεργοποιήσει μια ομάδα "Off lights" σε On ή μία μόνο πλάτη του Off.

Ο πίνακας ξεκινά με ένα τυχαίο σύνολο led. Όταν είναι η σειρά του πρώτου παίκτη, υπάρχει μια γρήγορη εξασθένιση ή φωτισμός στο led στο «δρομέα», σημείο ενδιαφέροντος, που ενδεχομένως να γυρίσει. Κατά τη στροφή του παίκτη #2 υπάρχει μια μεγάλη αναλαμπή ενός led ως δείκτης δρομέα. Εάν ο λάθος παίκτης πατήσει το κουμπί του, εκτός στροφής, υπάρχει ένα πολύ σύντομο μπιπ. Ο δρομέας μετακινείται προς τα αριστερά από το Btn2 και δεξιά από το Btn3. Ο ηττημένος παίκτης ξεκινά το επόμενο παιχνίδι.

Η στρατηγική για το τι πρέπει να αναστρέψει μπορεί να είναι σημαντική.

Βήμα 4: Διαγωνισμοί Head to Head

Παιχνίδια δύο κουμπιών / δύο παικτών

Στο πρώτο σετ 4 παιχνιδιών με κουμπιά μόνο το 'Whack-a-Mole' βασίζεται πραγματικά στην πλήρη ανεξαρτησία της επεξεργασίας κουμπιών. Έχω επίσης εφαρμόσει τέσσερα παιχνίδια head to head, όλα εξαρτώνται από την ανεξάρτητη ανίχνευση κουμπιών. Αυτά τα παιχνίδια είναι: Quick Draw, Tug a War, Chicken και Hot Hands (Slapsies).

Γρήγορη κλήρωση (δοκιμή αντίδρασης)

Ο διαγωνισμός ξεκινά με ένα «Έτοιμο»/κόκκινο, «Σετ»/κίτρινο και ένα «Ισοπαλία!»/Πράσινο. είναι αρκετά τυχαίο ως προς το πότε σας δίνει το πράσινο φως. Ο πρώτος που θα πατήσει το κουμπί του κερδίζει. Χτυπάτε πολύ σύντομα και ατιμάζεστε με ένα βουητό.

Ο παίκτης 1 χρησιμοποιεί το Btn1 (στα αριστερά) και ο παίκτης 2 χρησιμοποιεί το Btn4 (στα δεξιά).

Ρυμουλκό

Ξεκινά με ένα 'Έτοιμο', 'Σετ'… 'GO!'. Εμφανίζεται ένα αντικείμενο στη μέση, ένα «τόξο» σε ένα σχοινί. Στη συνέχεια, οι παίκτες χτυπούν τα κουμπιά τους όσο πιο γρήγορα και συχνά μπορούν. Το τόξο θα κινηθεί προς τον παίκτη με τα περισσότερα χτυπήματα. Μόλις το τόξο φτάσει στο ένα άκρο, αυτός είναι ο νικητής.

Κοτόπουλο

Ο διαγωνισμός ξεκινά με τον ίδιο τρόπο. Μετά τον ήχο και την πράσινη αναλαμπή του "Go!" οι παίκτες πιέζουν και κρατούν τα κουμπιά τους, τα φώτα (τα άρματά τους) αρχίζουν να κινούνται από αυτά προς το άλλο. Ο νικητής είναι αυτός που αφήνει το κουμπί του (πηδάει από το άρμα τους) τελευταίο, λίγο πριν τα δύο φλιπς πέσουν μεταξύ τους. Αν κάποιος κυκλοφορήσει πολύ αργά ή δεν το κάνει καθόλου, συνετρίβη και χάνει. Εάν και τα δύο πηδήξουν (απελευθερωθούν) πολύ αργά, κανείς δεν κερδίζει.

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

Καυτά χέρια

Digitalηφιακή έκδοση του παιχνιδιού με χαστούκια στο χέρι (γνωστός και ως Red-Hands ή Slapsies). Για να ξεκινήσουν οι δύο παίκτες πιέζοντας τα κουμπιά τους μαζί, η μία πλευρά αφήνει και προσπαθεί να πατήσει το κουμπί του δύο φορές πριν η άλλη πλευρά μπορέσει να αφήσει το κουμπί του. Στη συνέχεια, η άλλη πλευρά προσπαθεί να κάνει το ίδιο. Ο παίκτης του οποίου η σειρά είναι υποδεικνύεται στην αρχή ενός γύρου με ένα φωτισμό των led στο πλάι του. Διαπίστωσα ότι ένα μόνο πάτημα ενός κουμπιού ήταν πολύ γρήγορο και εύκολο, οπότε έκανα δύο απαιτούμενα, που απαιτούν περισσότερη ενέργεια και χρόνο, όπως το να αναποδογυρίζεις το χέρι σου πάνω από τα άλλα, καθώς και να χτυπάς κάτω. TBD: Σε μια δεύτερη έκδοση, είναι δωρεάν για όλους, ανά πάσα στιγμή ο κάθε παίκτης μπορεί να προσπαθήσει να πάρει το καλύτερο από τον άλλο.

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

Με τα οκτώ παιχνίδια εδώ και τα τέσσερα στο προηγούμενο έργο μου Single-Line-LED-Display-Games, που καθιστά διαθέσιμο λογισμικό για να παίξει 12 παιχνίδια με αυτόν τον συνδυασμό υλικού τεσσάρων κουμπιών + led ladder.

Έχω τουλάχιστον τέσσερις ακόμη δραστηριότητες αναψυχής για αυτό το υλικό (οθόνη με κουμπιά) που έρχεται πριν από το τέλος του έτους.

Βήμα 5: Προαιρετικά 2 ελεγκτές προγράμματος αναπαραγωγής

Προαιρετικό χειριστήριο 2 παικτών
Προαιρετικό χειριστήριο 2 παικτών
Προαιρετικό χειριστήριο 2 παικτών
Προαιρετικό χειριστήριο 2 παικτών
Προαιρετικό χειριστήριο 2 παικτών
Προαιρετικό χειριστήριο 2 παικτών
Προαιρετικό χειριστήριο 2 παικτών
Προαιρετικό χειριστήριο 2 παικτών

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

Τμήματα κουμπιού τύπου εμβόλου:

  • Σωλήνας γραμμής στάγδην 1/2 ", στάνταρ ψεκαστήρα ή PVC (κατάστημα υλικού)
  • Λαβή λαβής ποδηλάτου (Walmart)
  • Μεγάλα κουμπιά (eBay)
  • 2 αντιστάσεις

Για να διατηρηθεί η συμβατότητα, το ένα κουμπί έχει μια αντίσταση 75 ohm σε σειρά με αυτό και το άλλο έχει μια σειρά 36-39 ohm. έτσι ώστε το λογισμικό να τα βλέπει ως Btn1 και Btn4 αντίστοιχα.

Θα μπορούσατε να χρησιμοποιήσετε σωλήνες από μια πεταμένη σκούπα ή λαβή σπάτουλας.

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

Απρίλιος 2018: Τώρα προτιμήστε να χρησιμοποιήσετε ζεύκτες συμπίεσης 5/8 ως σώμα για εξωτερικά κουμπιά στυλ εμβόλου. Τα μεγάλα κουμπιά (με μια μικρή ταινία πάνω από τα νήματα τους) ταιριάζουν τέλεια σε αυτά και ταιριάζουν πολύ καλά στο χέρι. Στα παιδιά αρέσει να χρησιμοποιούν ένα ζευγάρι από αυτά, πρόσθεσα δύο σετ καρφίτσες κεφαλίδας για να συνδέσω εύκολα ένα εξωτερικό κουμπί χειρός στις επαφές Bnt1 και ένα για Btn4.

Βήμα 6: Ενημέρωση (ες)

Ενημέρωση (ες)
Ενημέρωση (ες)

Έφτιαξα μια τρισδιάστατη εκτυπωμένη θήκη κονσόλας για να στεγάσω την οθόνη και τα κουμπιά LED In-Line.

Έχω συνδυάσει τα 12 παιχνίδια που έχω δημιουργήσει μέχρι τώρα, για αυτήν την οθόνη 12 LED, σε ένα σκίτσο «Menu_12Games». Αυτό το λογισμικό απαιτεί το υλικό αυτού του έργου να υλοποιείται με MCU flash 32KB (π.χ. Nano ή Uno) και 5 κουμπιά, 4 κύρια + ένα FncKey.

Το μενού επιλογής είναι τώρα δύο επιπέδων. πρώτα επιλέγετε 1 από τις 4 ομάδες παιχνιδιών και στη συνέχεια το παιχνίδι 1-4 εντός αυτής της ομάδας,… όπως αναφέρεται παρακάτω. Ενώ περιμένετε τις επιλεγμένες οθόνες σάρωση R-Y-G-B περιοδικά, πατάτε Btn1-4 ως επιλογή σας ανά πάσα στιγμή, δεν έχει καμία διαφορά τι εμφανίζεται όταν πατάτε την επιλογή σας. Κατά την επιλογή "ομάδας" όλα τα Leds είναι τουλάχιστον μερικώς lite κατά τη διάρκεια της σάρωσης RYGB. Για έξοδο από οποιοδήποτε παιχνίδι ή δημιουργία αντιγράφων ασφαλείας από την επιλογή "παιχνίδι" σε "ομάδα", πατήστε FncKey-Btn1.

Δεν έχω ακόμη κωδικοποιήσει το τελικό 4. Έχω γράψει 3 (συμπεριλαμβανομένου του «LeMans»). Δεν έχω καταλήξει ποιο θα ήταν το τελευταίο παιχνίδι. Στείλτε μου μήνυμα με οποιεσδήποτε ιδέες.

Ενημέρωση 25 Ιανουαρίου 17: Για εσάς που απολαμβάνετε την πρόσβαση σε έναν εκτυπωτή 3D, μπορεί να σας ενδιαφέρει η θήκη της κονσόλας παιχνιδιών που έφτιαξα για τη συσκευή μου: https://www.instructables.com/id/3D-Printed-Case- για-Ενσωματωμένη-LED-Οθόνη-Κονσόλα-και/

Ενημέρωση 17 Φεβρουαρίου 17: Πρόσθεσα τα 4 τελικά παιχνίδια, τα οποία είναι πλέον διαθέσιμα ως "Menu_16Games.ino" στην ενότητα "Βήμα 7: Ενημέρωση, περισσότερα παιχνίδια" των παιχνιδιών Instructable: Single-Line-LED-Display-Games (Menu_12Games.ino είναι πλέον έχει λείψει)

Ομαδικό παιχνίδι: 1– Κόκκινο 2- Κίτρινο 3- Πράσινο 4- Μπλε

1 κόκκινο PushIt PingPong ShootEmUp JumpMan 2 Yel QuickDraw Tug_a_War Chicken Hot_Hands 3 Grn Le_Mans Spray PIG BiFunc 4 Blu SimonSays Whack_Mole Sea_Hunt Flip_d

Συνιστάται: