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

Snake on a Breadboard: 3 βήματα (με εικόνες)
Snake on a Breadboard: 3 βήματα (με εικόνες)

Βίντεο: Snake on a Breadboard: 3 βήματα (με εικόνες)

Βίντεο: Snake on a Breadboard: 3 βήματα (με εικόνες)
Βίντεο: PS3 #2: Ressurecting the impossable! | EPIC rollercoaster repair that nearly broke me. 2024, Ιούλιος
Anonim
Φίδι σε ένα Breadboard
Φίδι σε ένα Breadboard
Φίδι σε ένα Breadboard
Φίδι σε ένα Breadboard
Φίδι σε ένα Breadboard
Φίδι σε ένα Breadboard

"Έχετε παιχνίδια στο τηλέφωνό σας;"

"Οχι ακριβώς."

Εισαγωγή:

Απλό στον έλεγχο, εύκολο στον προγραμματισμό και απαθανατισμένο από το Nokia 6110, το Snake έχει γίνει ένα αγαπημένο έργο μεταξύ των μηχανικών. Έχει εφαρμοστεί σε οτιδήποτε, από μήτρες LED, LCD, φωτισμό ραφιών, ακόμη και παράθυρα ολόκληρων κτιρίων. Θα εφαρμόσουμε το Snake σε ένα μικρό ψωμί και μια οθόνη OLED. Οι άνθρωποι έχουν κάνει σίγουρα πιο μικροσκοπικούς παίκτες φιδιών, αλλά αυτό χρησιμοποιεί συγκεκριμένα ένα breadboard, αφαιρώντας την ανάγκη σχεδιασμού PCB ή συγκόλλησης.

(Θα μπορούσατε απλά να δημιουργήσετε μια εφαρμογή στο τηλέφωνό σας, αλλά δεν κάνουμε πράγματα επειδή είναι εύκολα.)

Προαπαιτούμενα:

Μια βασική κατανόηση των κυκλωμάτων, πώς να κάνετε breadboard και μια σταθερή κατανόηση του προγραμματισμού στο Arduino.

Προμήθειες

  • Arduino Nano
  • 2 λογικά υψηλές αντιστάσεις (1kOhm)
  • Μικρό ψωμί
  • 2 κουμπιά
  • 22 καλώδιο συμπαγούς πυρήνα AWG
  • 128 x 64 OLED

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

Βήμα 1: Breadboard

Breadboard
Breadboard
Breadboard
Breadboard
Breadboard
Breadboard

Για να φτιάξουμε το τελικό μας προϊόν, πρέπει προφανώς να συναρμολογήσουμε το υλικό για να προγραμματίσουμε και να δοκιμάσουμε το έργο μας. Το διάγραμμα συστήματος για αυτό το έργο είναι αρκετά απλό, καθώς περιλαμβάνει μόνο συνολικά 4 στοιχεία.

1. Διατυπώστε το:

Πάρτε τα εξαρτήματά σας και τοποθετήστε τα στον πίνακα, εξασφαλίζοντας ότι όλα ταιριάζουν. Οραματιστείτε τι καλώδια και καρφίτσες θα χρησιμοποιήσετε και για ποιους σκοπούς. Βεβαιωθείτε ότι τα καλώδια που αναμένετε δεν θα διασταυρωθούν, γιατί αυτό δημιουργεί ένα πιο ακατάστατο ψωμί. Γράψτε ποια σημεία θα χρειαστείτε για να συνδεθείτε! Αν και αυτό είναι ένα απλό breadboard, θα κάνει τη ζωή σας πολύ πιο εύκολη κατά τη διαδικασία καλωδίωσης και γενικά. Λόγω του πόσο μικρός είναι ο χώρος εργασίας μας, αυτό είναι ένα απίστευτα σημαντικό βήμα.

Σημειώσεις:

Επειδή το OLED χρησιμοποιεί το δίαυλο I2C, πρέπει να χρησιμοποιούνται οι ακίδες A4 και A5. Το μέγεθος του breadboard δεν επιτρέπει τη δύναμη και το έδαφος, γι 'αυτό χρησιμοποίησα μερικά κόλπα για να λειτουργήσουν όλα. Η θετική τάση για τα κουμπιά παρέχεται από τους πείρους D13 και A2. Ανακάλυψα ότι οι καρφίτσες Arduino δεν μπορούν μόνο να παρέχουν ρεύμα, αλλά και ρεύμα νιπτήρα, έτσι χρησιμοποίησα το A3 ως γείωση για το σωστό κουμπί. Για να μεγιστοποιήσω τον χώρο στο breadboard, κρέμασα το μισό του Nano από την σανίδα και στήριξα τις καρφίτσες της αριστερής πλευράς με ένα κομμάτι αφρού.

2. Συνδέστε το:

Με ένα ζευγάρι απογυμνωτές σύρματος και μια αξιοπρεπή ποσότητα καλωδίου συμπαγούς πυρήνα 22 AWG, συνδέστε τα στοιχεία σας τακτοποιημένα. Η χρήση συμπαγούς πυρήνα για την κατασκευή ημιμόνιμων έργων breadboard είναι το κλειδί, επειδή μπορείτε να τα κόψετε σε μήκος, σε αντίθεση με τα καλώδια με άλματα. Βεβαιωθείτε ότι δεν αφήνετε πολύ πλεόνασμα μήκους στα καλώδια σας, αυτό θα κάνει ένα ακατάστατο χαρτόνι. Κόψτε τα καλώδια των πτυσσόμενων αντιστάσεων έτσι ώστε να ταιριάζουν με την σανίδα.

(Μπορείτε επίσης να ακολουθήσετε αυτό που έχω κάνει παραπάνω.)

Βήμα 2: Πρόγραμμα και δοκιμή

Πρόγραμμα και Δοκιμή
Πρόγραμμα και Δοκιμή

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

1. Σχέδιο, σχέδιο, σχέδιο:

Το να πηγαίνεις ακριβώς στον κώδικα δεν είναι μια σοφή πρακτική. Πίστεψέ με, το έχω δοκιμάσει! Γι 'αυτό θα πρέπει να σκιαγραφήσετε πώς θα λειτουργήσει το πρόγραμμά σας. Ένα διάγραμμα ροής προγράμματος είναι ένας αρκετά σταθερός τρόπος για να σχεδιάσετε τι πρέπει να κάνει ο κώδικας σας και σίγουρα θα σας κρατήσει σε καλό δρόμο. Πάρτε το δικό μου για παράδειγμα (παραπάνω)

2. Κωδικός, κωδικός, κωδικός:

Ειλικρινά, αυτό το έργο είναι μια μεγαλύτερη άσκηση προγραμματισμού από μια άσκηση υλικού. Η μόνη βιβλιοθήκη που χρησιμοποίησα ήταν η OLED βιβλιοθήκη του Adafruit, χωρίς να υπολογίζονται οι υποστηρικτικές βιβλιοθήκες GFX και Wire.

Σας κάνουν να εγκαταστήσετε τη βιβλιοθήκη OLED της Adafruit μέσω του διαχειριστή βιβλιοθηκών του Arduino IDE.

Δεν μπορώ να τεκμηριώσω κάθε γραμμή κώδικα που έγραψα, αλλά εδώ είναι μερικές συμβουλές:

Συμβουλές:

Σχόλια:

- Πρώτα απ 'όλα, γράψτε τακτοποιημένα και χρήσιμα σχόλια κατά την κωδικοποίηση. Μελλοντικά εσείς και άλλοι που διαβάζουν τον κώδικά σας σίγουρα θα σας ευχαριστήσουν.

Μνήμη:

- Με πιο πολύπλοκα έργα όπως αυτά, το SRAM γίνεται το πιο καυτό προϊόν. Στη βιβλιοθήκη Adafruit, το buffer 128 x 64 OLED καταλαμβάνει 1 kB μόνο, το οποίο είναι περίπου το ήμισυ της μνήμης σε ένα ATMega328p. Επομένως, η έξυπνη διαχείριση μνήμης είναι πιο σημαντική από ποτέ.

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

- Οι συμβολοσειρές συνήθως αποθηκεύονται στο SRAM, αλλά χρησιμοποιώντας τη συνάρτηση F () θα τις τοποθετήσετε στο PROGMEM, εξοικονομώντας πολύτιμη μνήμη.

Millis:

- Για να επιτύχετε πιο ακριβή χρονισμό των κύκλων παιχνιδιού, χρησιμοποιήστε τη συνάρτηση millis (). Υπάρχουν πολλά καλά σεμινάρια και παραδείγματα στο διαδίκτυο.

Προκαθορισμός:

- Χρησιμοποιήστε την οδηγία #define preprocessor ως έναν εύκολο τρόπο για να ορίσετε μόνιμες τιμές στον κώδικα.

Δοκιμή:

- Δοκιμάστε τον κωδικό σας καθώς πηγαίνετε. Θα είναι πολύ πιο εύκολο να εξαλείψετε σφάλματα.

Βήμα 3: Απολαύστε

Διασκεδάστε με το νέο σας παιχνίδι με φίδια!

(Ξέρω ότι κέρδισα σε 20 πόντους στο παραπάνω βίντεο, μπορείτε να ορίσετε τη συνθήκη νίκης υψηλότερα στον κωδικό μου.)

Τα πράγματα που πρέπει να επεκταθούν:

  • Μπαταρία για φορητότητα
  • Πιο ασφαλή κουμπιά
  • Ένα ακόμη μικρότερο παιχνίδι φιδιών
  • Ακόμα περισσότερα παιχνίδια;

Συνιστάται: