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

Mastermind Star Wars With Arduino MEGA: 5 βήματα (με εικόνες)
Mastermind Star Wars With Arduino MEGA: 5 βήματα (με εικόνες)

Βίντεο: Mastermind Star Wars With Arduino MEGA: 5 βήματα (με εικόνες)

Βίντεο: Mastermind Star Wars With Arduino MEGA: 5 βήματα (με εικόνες)
Βίντεο: Amazing arduino project 2024, Ιούλιος
Anonim
Mastermind Star Wars With Arduino MEGA
Mastermind Star Wars With Arduino MEGA
Mastermind Star Wars With Arduino MEGA
Mastermind Star Wars With Arduino MEGA
Mastermind Star Wars With Arduino MEGA
Mastermind Star Wars With Arduino MEGA

Είναι αντίξοες στιγμές για εξέγερση. Αν και το Death Star έχει καταστραφεί, τα αυτοκρατορικά στρατεύματα χρησιμοποιούν δωρεάν υλικό και το Arduino ως μυστικό όπλο.

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

Σε μια κρυφή βάση που βρίσκεται στον πλανήτη Anoat, κατασκευάζουν έναν τρισδιάστατο εκτυπωτή ικανό να αντιγράψει το Imperial Destroyer.

Η μόνη λύση για να νικήσετε την Αυτοκρατορία είναι ότι μια ομάδα ανταρτών με διοικητή τον Λουκ Σικουαρτιέλες και τον Όμπι-Βαν Μάντζι, νικά τα αυτοκρατορικά στρατεύματα και παίρνει το κλειδί που θα δώσει πρόσβαση στα σχέδια καταστροφής του μυστικού όπλου.

Αυτό το κλειδί αποτελείται από 4 χρώματα και έχετε 10 προσπάθειες να το αποκρυπτογραφήσετε. Υπάρχουν μόνο τέσσερις κανόνες:

  1. Τα χρώματα μπορούν να επαναληφθούν
  2. Ένα λευκό φως δείχνει ότι έχετε χτυπήσει το σωστό χρώμα και θέση
  3. Ένα ιώδες φως δείχνει ότι έχετε χτυπήσει το χρώμα αλλά όχι τη θέση
  4. Εάν δεν υπάρχει φως, δεν έχετε μαντέψει το χρώμα ή τη θέση.

Πρέπει να βιαστείς αφού στο άλλο άκρο, ο κακός Darth Ballmer θα προσπαθήσει να πάρει το κλειδί μπροστά σου. Σε αυτή την περίπτωση, δεν θα μπορείτε να μάθετε τι είναι και δεν θα έχετε πρόσβαση στα σχέδια του μυστικού όπλου. Η αποστολή σας θα έχει αποτύχει.

Μικρό Πανταβάν, μπορεί η δύναμη να σε συνοδεύσει για να αποκρυπτογραφήσεις το κλειδί και έτσι να μπορέσεις να σώσεις τον Γαλαξία.

Βήμα 1: Υλικό

Υλικό
Υλικό

Το υλικό που απαιτείται για τη δημιουργία του Mastermind Star Wars with Arduino χωρίζεται σε τρία μέρη.

  • Ξυλουργικές εργασίες και γραφική ύλη για την υλοποίηση της κατοικίας
  • Εξαρτήματα, καλώδια και Arduino για όλα τα ηλεκτρονικά
  • Εργαλεία

Ας ξεκινήσουμε με την ξυλουργική. Απαιτείται το ακόλουθο υλικό:

  • 2 x σανίδες MDF από 90x60
  • 1 x φύλλο λαχανικών

Στο ηλεκτρονικό μέρος, απαιτείται το ακόλουθο υλικό:

  • 1 x NeoPixel Strip 5 μέτρα
  • 1 x Arduino MEGA
  • 1 x πυκνωτής 100 μF
  • 4 x αντίσταση 470 Ω
  • 5 x μαύρο κουμπί
  • 5 x λευκό κουμπί
  • 1 x ισχύς 5V-5A
  • 1 x ισχύς 5V-2A

Τέλος, στο τμήμα εργαλείων χρησιμοποιήσαμε τα εξής:

  • Πυροβόλο σιλικόνης Hot
  • CNC λέιζερ de MxN
  • Ηλεκτρικός συγκολλητής
  • Κασσίτερος συγκόλλησης

Βήμα 2: Σχεδιασμός

Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο
Σχέδιο

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

Η βάση είναι βγαλμένη από τεμάχιο 90x60 σε MDF. Λάβετε υπόψη τις διαστάσεις του υλικού αφού θα χρειαστείτε έναν κόφτη λέιζερ αρκετά μεγάλο.

Μπορείτε να βρείτε το αρχείο SVG στο τέλος αυτού του βήματος.

Το επάνω εξώφυλλο είναι αυτό που περιέχει τα θεματικά σχέδια του Star Wars καθώς και τις οπές τόσο για τα κουμπιά όσο και για τα pixel.

Έχει το ίδιο σχήμα με τη βάση.

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

Τέλος, κάθε μήτρα NeoPixel έχει ένα πλέγμα όπου στη μία πλευρά τα NeoPixel είναι σταθερά και από την άλλη ένα φυτικό χαρτί είναι στερεωμένο για να διαχέει το φως του NeoPixel. Εδώ έχετε όλα τα αρχεία SVG, ώστε να μπορείτε να τα κόψετε και να τα κατασκευάσετε μόνοι σας.

Βήμα 3: Ηλεκτρονική συναρμολόγηση

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

Η πρώτη φάση της συναρμολόγησης των ηλεκτρονικών ήταν η κοπή της λωρίδας 5 μέτρων NeoPixel σε 8 λωρίδες των 10 εικονοστοιχείων και 4 ξεχωριστά εικονοστοιχεία για κάθε παίκτη. Συνολικά 84 εικονοστοιχεία ανά παίκτη. Αφενός οι 10 λωρίδες συναρμολογούνται η μία ακολουθείται από την άλλη αφήνοντας αρκετό καλώδιο για να τοποθετηθεί κάθε λωρίδα παράλληλα με μερικά χιλιοστά. Αυτός ο πίνακας εικονοστοιχείων θα χρησιμεύσει για την εμφάνιση κάθε αναπαραγωγής και του αποτελέσματος. Τα 4 εικονοστοιχεία δείχνουν τα τέσσερα χρώματα του κλειδιού και τα άλλα τέσσερα εικονοστοιχεία δείχνουν το αποτέλεσμα. Σας υπενθυμίζω ότι ως αποτέλεσμα πρέπει:

  • Εάν το εικονοστοιχείο είναι λευκό, έχει επιτυχημένη θέση και χρώμα.
  • Εάν το εικονοστοιχείο είναι βιολετί, το χρώμα είναι σωστό αλλά όχι η θέση.
  • Εάν το εικονοστοιχείο είναι απενεργοποιημένο, ούτε το χρώμα ούτε η θέση είναι σωστά.

Ένα από τα λάθη που κάναμε είναι η καλωδίωση ρεύματος και το GND. Θα μπορούσε να είναι πιο απλό αλλά το καταλάβαμε αργότερα. Το καλώδιο δεδομένων πρέπει να ακολουθεί μια σειρά αφού η αρίθμηση των εικονοστοιχείων πηγαίνει από κάτω προς τα πάνω.

Από την άλλη έχουμε 4 ξεχωριστά pixel που πρέπει να συνδεθούν μεταξύ τους. Αυτά τα εικονοστοιχεία θα μας δείξουν το χρώμα που επιλέγουμε με τα κουμπιά.

Συνδεδεμένη σε σειρά σε κάθε ταινία είναι μια αντίσταση 470Ω για την προστασία των δεδομένων. Το καλώδιο δεδομένων κάθε λωρίδας εικονοστοιχείων συνδέεται με ένα ψηφιακό pin. Οι ακίδες που επιλέχθηκαν στο Arduino MEGA είναι 6, 7, 8 και 9.

Για παράδειγμα, 6 και 7 είναι για τον παίκτη 1 και 8 και 9 για τον παίκτη 2.

Τα κουμπιά που χρησιμοποιήσαμε είναι τα τυπικά κουμπιά των μηχανών arcade. Πιστεύαμε ότι θα φαίνονται καλά και έτσι ήταν.

Μπορούν να χρησιμοποιηθούν άλλα κουμπιά, αλλά πρέπει να ληφθεί υπόψη ότι εάν είναι μικρότερα ή μεγαλύτερα, το αρχείο DXF πρέπει να τροποποιηθεί πριν από την κοπή με το CNC λέιζερ.

Για να ξεχωρίσετε τους παίκτες, μερικά κουμπιά είναι λευκά και άλλα μαύρα.

Κάθε παίκτης έχει 4 κουμπιά επάνω και 1 κουμπί κάτω. Τα 4 πάνω κουμπιά χρησιμεύουν για την επιλογή του χρώματος κάθε θέσης του κλειδιού.

Το κάτω κουμπί χρησιμοποιείται για την επικύρωση, δηλαδή στέλνει το κλειδί για να εμφανιστεί στη μήτρα pixel με τη σχετική επαλήθευση για το αν το χρώμα και η θέση ήταν επιτυχημένα.

Πριν από τη συναρμολόγηση όλων συγκολλήσαμε όλα τα καλώδια. Έτσι θα χρειαστείτε πολύ καλώδιο. Θα εξαρτηθεί από το μέγεθος του παιχνιδιού. Στην περίπτωσή μας ήταν αρκετά μεγάλο.

Για παράδειγμα, μπορείτε να χρησιμοποιήσετε ένα καλώδιο ethernet για να το ανοίξετε και να πάρετε τα εσωτερικά καλώδια. Είναι μια καλή λύση. Προσπαθήστε να τα έχετε όσο το δυνατόν πιο τακτοποιημένα γιατί τότε θα είναι απαραίτητο να κάνετε τις συνδέσεις με το Arduino MEGA όπως βλέπετε στο ηλεκτρικό διάγραμμα.

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

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

Η σίτιση ήταν κάπως περίπλοκη. Κατ 'αρχήν και κοιτάζοντας το σχέδιο, θα χρησιμοποιούσαμε μόνο έναν φορτιστή. Ωστόσο, μετά τις πρώτες δοκιμές και την κατανάλωση NeoPixel είδαμε ότι θα χρειαστούν δύο φορτιστές.

Κάθε pixel μπορεί να καταναλώσει το πολύ 60 mA. Αν πολλαπλασιάσουμε με 168 εικονοστοιχεία, λαμβάνουμε κατανάλωση περίπου 10 Α.

Αν και αυτό θα ήταν στη χειρότερη περίπτωση. Στον προγραμματισμό έχουμε ήδη λάβει υπόψη μας τη μη μεγιστοποίηση της έντασης του NeoPixel.

Δεν φτάνουμε καν στο 50% επομένως, με φορτιστή 5V και 5A είναι υπεραρκετός.

Από την άλλη πλευρά, το Arduino MEGA διαθέτει ξεχωριστό φορτιστή που μπορεί να συνδεθεί μέσω της υποδοχής υποδοχής ή μέσω της θύρας USB. Μια πιθανή βελτίωση θα ήταν να υπάρχει ένας μόνο φορτιστής για ολόκληρο το σύστημα.

Βήμα 4: Προγραμματισμός παιχνιδιών

Προγραμματισμός παιχνιδιών
Προγραμματισμός παιχνιδιών
Προγραμματισμός παιχνιδιών
Προγραμματισμός παιχνιδιών

Ο προγραμματισμός έχει γίνει χρησιμοποιώντας δύο βιβλιοθήκες: OneButton και Adafruit_NeoPixel.

Η βιβλιοθήκη OneButton επιτρέπει τον έλεγχο των κουμπιών με απλό τρόπο με διακοπές.

Η βιβλιοθήκη Adafruit_NeoPixel μας επέτρεψε να ελέγξουμε τη λωρίδα NeoPixel με έναν πολύ απλό τρόπο.

Ο προγραμματισμός βασίζεται σε διαφορετικές καταστάσεις στις οποίες το πρόγραμμα λογισμικού μπορεί να είναι:

Έναρξη του παιχνιδιού. Κατάσταση = 0

Σε αυτήν την κατάσταση, το παιχνίδι ξεκινά και υπάρχει μια ακολουθία φώτων και στους δύο παίκτες που υποδεικνύουν ότι το παιχνίδι πρόκειται να ξεκινήσει. Κατά τη διάρκεια αυτής της κατάστασης, τα κουμπιά δεν αποκρίνονται.

Αρχική κατάσταση. Κατάσταση = 1

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

Προετοιμασία του παιχνιδιού. Κατάσταση = 2

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

Play State = 3

Στην κατάσταση 3 το παιχνίδι ξεκινά. Κάθε παίκτης επιλέγει ένα κλειδί με τα κουμπιά και το επικυρώνει κάνοντας κλικ στο κουμπί επιβεβαίωσης. Αυτή η κατάσταση μπορεί να τελειώσει με δύο τρόπους: όταν ένας παίκτης ανακαλύψει το κλειδί ή όταν οι δύο παίκτες καταναλώσουν τις 10 προσπάθειες που έχουν.

Ένα κράτος νικητή = 4

Εάν ένας παίκτης κερδίσει, θα εμφανιστεί μια πράσινη επιταγή στο ταμπλό του και ο νικηφόρος συνδυασμός και ένας κόκκινος σταυρός στον ηττημένο.

Δεμένο παιχνίδι. Κατάσταση = 5

Σε περίπτωση ισοπαλίας, τίποτα δεν εμφανίζεται σε κανένα ταμπλό και ο νικηφόρος συνδυασμός στα ταμπλό των δύο παικτών.

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

Μπορείτε να βρείτε όλο τον κωδικό παρακάτω. Το μόνο πράγμα που είναι στα ισπανικά:)

Βήμα 5: Δοκιμές και βελτιώσεις

Το παιχνίδι δοκιμάζεται παίζοντας. Στο παραπάνω βίντεο μπορείτε να δείτε ένα πλήρες παιχνίδι.

Από εδώ μπορούμε να σκεφτούμε αρκετές βελτιώσεις που μπορούν να προστεθούν στο Mastermind Star Wars με το Arduino.

Στη συνέχεια τα παραθέτω.

  • Για να μπορεί να παίζει σε σειρά με συνολικά 10 προσπάθειες για τους δύο παίκτες. Όταν ένας παίκτης δοκιμάσει ένα κλειδί, ο άλλος παίκτης θα δει το παιχνίδι.
  • Μια ατομική λειτουργία παιχνιδιού, έτσι ώστε μόνο ένα άτομο να μπορεί να παίξει.
  • Λειτουργία το καθένα με το κλειδί του.
  • Συμπεριλάβετε μια οθόνη OLED.
  • Χρησιμοποιήστε έναν μόνο φορτιστή για τα πάντα.
  • Συνδεθείτε σε ένα NodeMCU ESP8266

Είμαι σίγουρος ότι πολλοί άνθρωποι θα βρουν πολλές βελτιώσεις. Περιμένω τα σχόλια παρακάτω.

Και ας είναι η δύναμη μαζί σου.

Συνιστάται: