Πίνακας περιεχομένων:
- Βήμα 1: Μέρη
- Βήμα 2: Καλωδίωση
- Βήμα 3: Εναλλακτική καλωδίωση
- Βήμα 4: Κωδικός + Επεξήγηση
- Βήμα 5: Ευχαριστώ για την ανάγνωση
Βίντεο: Pong Tennis With LED Matrix, Arduino and Joysticks: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:33
Αυτό το έργο απευθύνεται τόσο σε αρχάριους όσο και σε έμπειρους τσιμπητές. Σε ένα βασικό επίπεδο μπορεί να γίνει με ένα breadboard, καλώδια και να κολλήσει σε ένα κομμάτι παλιοσίδερα (χρησιμοποίησα ξύλο) με Blu-Tack και χωρίς συγκόλληση. Ωστόσο, σε πιο προηγμένο επίπεδο, μπορεί να συγκολληθεί σε πλακέτα ή σε προσαρμοσμένο PCB.
Δεδομένου ότι αυτό ήταν ένα έργο κλειδώματος, δεν είχα πρόσβαση σε πολλά εργαλεία ή υλικά, επομένως γιατί έχει κολλήσει σε ένα κομμάτι παλιοσίδερα που είναι ελαφρώς πολύ μικρό με το Blu-Tack, παρόλα αυτά είναι ένα διασκεδαστικό έργο που συνδυάζεται γρήγορα και αποτελείται από κοινά διαθέσιμα ανταλλακτικά που μπορούν να βρεθούν φθηνά στο διαδίκτυο.
Βήμα 1: Μέρη
Για να φτιάξετε το παιχνίδι Pong χρειάζεστε.
- 1x Arduino (οποιοσδήποτε τύπος θα λειτουργήσει)
- 4x MAX7219 8x8 LED Matrices
- 2x Joysticks
- 1x Piezo Buzzer (προαιρετικό)
- 15x Wemale-Female Jumper Wires (3x ομάδες των 5)
- 15x Male-Female Jumper Wires (3x ομάδες των 5)
- 18x καλώδια αρσενικού-αρσενικού άλτη
- 1x Breadboard
- 1x Αντίσταση 220Ω
Αντί για έναν πίνακα Arduino Uno ή Nano, μπορείτε να χρησιμοποιήσετε ένα Arduino με βάση σανίδες
- 1x IC ATmega328p 28pin
- Κρυστάλλινος ταλαντωτής 1x 16kHz
- Κεραμικοί πυκνωτές 2x 22pF
- 1x μετατροπέας USB FTDI UART
- 1x 100uF Ηλεκτρολυτικός πυκνωτής
- 1x Micro USB Breakout (προαιρετικό)
Εργαλεία;
- Η / Υ με Arduino IDE (και LedControl Library)
- Σχετικό καλώδιο USB για το Arduino σας
- Power Bank για να τροφοδοτήσετε το παιχνίδι μακριά από τον υπολογιστή σας
Βήμα 2: Καλωδίωση
Η καλωδίωση είναι πολύ απλή καθώς το μόνο που χρειάζεστε είναι καλώδια για να συνδέσετε τις κεφαλίδες των Matrices και Joysticks με το Arduino. Η μόνη επιπλοκή είναι η τροφοδοσία καθώς το Arduino Uno διαθέτει μόνο 3 συνδέσεις GND και μία σύνδεση 5v. Εδώ μπαίνει το breadboard και λειτουργεί ως ράγα διανομής ισχύος για όλα τα εξαρτήματα, Εάν χρησιμοποιείτε NANO, το breadboard θα εξυπηρετήσει τον ίδιο σκοπό, καθώς θα σας επιτρέψει να συνδέσετε τα πάντα.
Για καλωδίωση ακολουθήστε αυτές τις συνδέσεις.
- Αριστερό Joystick - GND και 5v στις αντίστοιχες ράγες ισχύος. SW - pin 9, VRx - A0, VRy - A1.
- Right Joystick - GND και 5v στις αντίστοιχες ράγες ισχύος. SW - pin 8, VRx - A2, VRy - A3.
- Δεξιότερο LED Matrix - GND και 5v στις αντίστοιχες ράγες ισχύος τους. DIN - 13, CS - 11, CLK - 12. (Σύμφωνα με τη γραμμή 25)
- Όλοι οι άλλοι πίνακες LED μπορούν να είναι αλυσοδεμένοι από την έξοδο του πρώτου πηγαίνοντας από δεξιά προς τα αριστερά, ώστε ο κώδικας να λειτουργεί σωστά.
- Προαιρετικός βομβητής - Ανόδου (+) έως 220Ω αντίσταση περιορισμού ρεύματος στο pin 10, Cathode (-) - GND.
Βήμα 3: Εναλλακτική καλωδίωση
Αφού το συνδέω με ένα Arduino UNO για εξοικονόμηση χώρου, αποφάσισα να βάλω το Arduino IC από το UNO στο ψωμί με έναν ταλαντωτή κρυστάλλου 16Mhz και ένα ζεύγος πυκνωτών 22pF από κάθε πλευρά στη γείωση. Πιστεύω ότι αυτή ήταν μια αξιόλογη τροποποίηση καθώς κάνει το έργο να φαίνεται πιο προσεγμένο και τελειωμένο, ωστόσο πρέπει να χρησιμοποιήσετε έναν προγραμματιστή USB FTDI για να ενημερώσετε το πρόγραμμα.
Βήμα 4: Κωδικός + Επεξήγηση
Για να ανεβάσετε τον κώδικα στο Arduino, κατεβάστε τη βιβλιοθήκη LedControl από το GitHub εδώ, github.com/wayoda/LedControl και προσθέστε το αρχείο Zip ή προσθέστε το μέσω του Διαχειριστή βιβλιοθήκης στο IDE. Στη συνέχεια, ανοίξτε το συνημμένο σκίτσο, επιλέξτε το Arduino σας στις ρυθμίσεις του πίνακα και της θύρας κάτω από τα εργαλεία και ανεβάστε το στο arduino.
Εξήγηση
Γραμμή 1: Προσθέτει τη βιβλιοθήκη
Γραμμή 5-23: Ορίζει όλες τις μεταβλητές, τις σταθερές και τους αριθμούς ακίδων.
Γραμμή 25: Ρυθμίζει το LED Martix και ορίζει τις ακίδες ελέγχου και πόσες οθόνες.
Γραμμή 27: Ρυθμίζει τη λειτουργία επαναφοράς.
Γραμμή 30-35: Λειτουργία τερματισμού λειτουργίας για να ενεργοποιήσετε/απενεργοποιήσετε όλες τις οθόνες μαζί.
Γραμμή 38-43: Λειτουργία SetIntensity για να ρυθμίσετε τη φωτεινότητα όλων των οθονών μαζί.
Γραμμή 46-51: Λειτουργία ClearAll για να σκουπίσετε όλες τις οθόνες μαζί.
Γραμμή 53-64: joystick Λειτουργία για να λάβετε τη θέση των χειριστηρίων, να τα χαρτογραφήσετε στις 7 πιθανές θέσεις νυχτερίδας για να χτυπήσετε την μπάλα και στη συνέχεια να μετακινήσετε το ρόπαλο στη νέα θέση.
Γραμμή 67-435: Λειτουργία που μετακινεί τη μπάλα στον αριστερό παίκτη στο καθορισμένο ύψος και ταχύτητα, ελέγχει αν ο παίκτης την χτύπησε και συνεχίζει και ορίζει την κατάσταση συντριβής σε αληθινή ή επιστρέφει την μπάλα πίσω, προσθέτει 1 στο σκορ και αυξάνει την ταχύτητα.
Γραμμή 438-811: Λειτουργία που μετακινεί τη μπάλα στον σωστό παίκτη στο καθορισμένο ύψος και ταχύτητα, ελέγχει αν ο παίκτης την χτύπησε και συνεχίζει και ορίζει την κατάσταση συντριβής σε αληθινή ή επιστρέφει την μπάλα πίσω, προσθέτει 1 στο σκορ και αυξάνει την ταχύτητα.
Γραμμή 813-823: Λειτουργία για την εμφάνιση ενός χαμογελαστού προσώπου, ενός τικ, σταυρού ή ενός ερωτηματικού στην καθορισμένη οθόνη (0 στα δεξιά έως 3 στα αριστερά).
Γραμμή 861-979: Λειτουργία για την εμφάνιση των αριθμών 0-9 στην καθορισμένη οθόνη.
Γραμμή 981-1047: Λειτουργία για την εμφάνιση της βαθμολογίας στην πλευρά κάθε παίκτη της οθόνης.
Γραμμή 1049-1064: Λειτουργία για να ελέγξετε εάν η συσκευή αναπαραγωγής είναι έτοιμη.
Γραμμή 1066-1076: Ρύθμιση Τμήμα του κωδικού για τον κώδικα που εκτελείται μία φορά κατά την εκκίνηση του προγράμματος.
Γραμμή 1078-1136: Κύρια ενότητα Loop για τη λογική του παιχνιδιού όπου χρησιμοποιούνται όλες οι λειτουργίες και όπου αποφασίζεται ποιος κερδίζει και στη συνέχεια επανεκκινεί το πρόγραμμα μετά από 5 δευτερόλεπτα εμφάνισης του σκορ.
Βήμα 5: Ευχαριστώ για την ανάγνωση
Ευχαριστώ που διαβάσατε αυτό το Instructable ήταν ένα διασκεδαστικό πρόγραμμα κλειδώματος που συναντήθηκε για μερικές ημέρες καθώς έμαθα περισσότερα για τον προγραμματισμό Arduino. Αν σας άρεσε, μη διστάσετε να το ψηφίσετε στο διαγωνισμό Arduino.
Συνιστάται:
Blinds Control With ESP8266, Google Home and Openhab Integration and Webcontrol: 5 βήματα (με εικόνες)
Blinds Control Με ESP8266, Google Home και Openhab Integration και Webcontrol: Σε αυτό το Instructable σας δείχνω πώς πρόσθεσα την αυτοματοποίηση στις περσίδες μου. Wantedθελα να μπορώ να προσθέσω και να αφαιρέσω τον αυτοματισμό, οπότε όλη η εγκατάσταση είναι συνδεδεμένη. Τα κύρια μέρη είναι: Βηματικό μοτέρ Stepper control bij bij ESP-01 Gear and mounting
48 X 8 Scrolling LED Matrix Display Using Arduino and Shift Registers .: 6 βήματα (με εικόνες)
48 X 8 Scrolling LED Matrix Display Using Arduino and Shift Registers .: Hello all! This is my first Instructable and is all about about making a 48 x 8 Programmable Scrolling LED Matrix using a Arduino Uno and 74HC595 shift registers. Αυτό ήταν το πρώτο μου έργο με έναν πίνακα ανάπτυξης Arduino. Ταν μια πρόκληση που δόθηκε στον m
Τρίποδο Tennis Ball: 4 βήματα (με εικόνες)
Τένις με τένις: Ανακυκλώστε μια νεκρή μπάλα τένις σε τρίποδο με κάμερα τσέπης. Λάβετε ευκρινείς φωτογραφίες χρησιμοποιώντας τοίχο, φράχτη, κλαδί δέντρου, πόρτα, κουκούλα αυτοκινήτου, κοντάρι από μπαμπού ή πινακίδα. Velcro, bungee ή κρεμάστε από μια βεντούζα με το προαιρετικές οπές στερέωσης
Tennis Can LED Lantern: 4 Βήματα (με Εικόνες)
Tennis Can LED Lantern: Δημιούργησα αυτό το φανάρι ενώ τριγυρνούσα στο σκοτάδι με ένα LED φως αφής και ένα κουτάκι μπάλες τένις (με τις οποίες είμαι γνωστός ότι παλεύω περιστασιακά). Δημιουργεί ένα ωραίο ακτινοβόλο φως όταν κάθεστε σε ένα τραπέζι και μπορεί να ενεργοποιηθεί
Light Up Bow From Saran Wrap and Hot Glue and LED Throwie: 6 βήματα (με εικόνες)
Light Up Bow From Saran Wrap and Hot Glue and LED Throwie: Δημιουργήστε ένα χαριτωμένο, φωτεινό, φωτισμένο τόξο με περιτύλιγμα σαράν, ζεστή κόλλα και μερικές τροποποιημένα πέταλα LED. Ναι, με άκουσες … περιτύλιγμα σαράν και ζεστή κόλλα. Είναι η τέλεια χειροτεχνία διακοπών για τη μαμά και τις κόρες να κάνουν μαζί, χωρίς διάλειμμα