Πίνακας περιεχομένων:
- Βήμα 1: Υλικά
- Βήμα 2: Breadboarding
- Βήμα 3: Κωδικοποίηση του Arduino
- Βήμα 4: Ενότητα
- Βήμα 5: Τελικές σημειώσεις
Βίντεο: Απλός ελεγκτής ενότητας: 5 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:35
Περιγραφή
Αυτό το έργο είναι ένας πολύ απλός ελεγκτής που μπορεί να δώσει είσοδο στην Unity όταν πατάω κουμπιά το σχεδίασα για να ελέγχει ένα παιχνίδι που έφτιαξα όπου ο παίκτης μπορεί να πηγαίνει αριστερά και δεξιά. Φυσικά, μπορείτε πάντα να το προσαρμόσετε για περισσότερα χειριστήρια. Δεν χρειάζεται να χρησιμοποιήσετε επιπλέον βιβλιοθήκες.
Βήμα 1: Υλικά
Απαιτούνται εξαρτήματα
- -Αντίσταση Arduino 2x
- -[~ 220 Ohm
- -Σύρματα
- -2x κουμπιά
- -Breadboard
Βήμα 2: Breadboarding
Ξεκίνησα συνδέοντας τη θύρα arduino GND σε αρνητικό (-) pin στην αριστερή πλευρά του breadboard και συνδέοντας το 5V σε θετικό (+) στη δεξιά πλευρά του breadboard.
Μετά από αυτό, έβαλα τα κουμπιά στη θέση που ήθελα να είναι το mto. Και τα συνέδεσε χρησιμοποιώντας τα καλώδια και τις αντιστάσεις.
Βήμα 3: Κωδικοποίηση του Arduino
Πρώτα απ 'όλα θα χρειαστεί να γράψετε κάποιο κώδικα για να εκτελέσετε το Arduino. Βάζω σχόλια στον κώδικα που εξηγούν τι κάνει.
// Δηλώστε καρφίτσες στις οποίες είναι συνδεδεμένα τα κουμπιά.
const int buttonPin1 = 3; const int buttonPin2 = 4;
void setup ()
{// Ξεκινήστε το σειριακό Serial.begin (9600); // Διαμορφώστε τις ακίδες ως έξοδο. pinMode (buttonPin1, INPUT); pinMode (buttonPin2, INPUT); }
κενός βρόχος ()
{// Διαβάστε την κατάσταση του κουμπιού if (digitalRead (buttonPin1) == HIGH) {// εκτυπώστε αυτήν τη γραμμή εάν η κατάσταση είναι HIGH. Serial.println ("Αριστερά"); καθυστέρηση (20)? } if (digitalRead (buttonPin2) == HIGH) {// εκτυπώστε αυτήν τη γραμμή εάν η κατάσταση είναι HIGH. Serial.println ("Δεξιά"); καθυστέρηση (20)? }}
Βήμα 4: Ενότητα
Εάν δεν έχετε έτοιμο παιχνίδι, αυτός ο κώδικας θα λειτουργήσει σε οποιοδήποτε gameobject ενωμένα.
εάν συμβαίνει αυτό, θα χρειαστείτε ένα gameobject για να μετακινηθείτε.
Για λόγους απλότητας, θα δημιουργήσουμε έναν κύβο πηγαίνοντας στο GameObject-> 3D Object-> Cube
Μόλις ο κύβος είναι στη σκηνή σας, επιλέξτε τον και πατήστε το κουμπί Προσθήκη εξαρτήματος και δημιουργήστε νέο σενάριο.
Επίσης, θα χρειαστεί να αλλάξετε το επίπεδο συμβατότητας Api για να λειτουργήσει η βιβλιοθήκη System. IO. Ports.
Για να το κάνετε αυτό, μεταβείτε στην επιλογή Επεξεργασία-> Ρυθμίσεις έργου-> Παίκτης
μετακινηθείτε προς τα κάτω σε αυτό το μενού μέχρι να βρείτε το επίπεδο συμβατότητας Api και επιλέξτε. NET 2.0 αντί για το υποσύνολο. Net 2.0
Είστε τώρα έτοιμοι να ξεκινήσετε την κωδικοποίηση.
χρησιμοποιώντας System. Collections; χρησιμοποιώντας System. Collections. Generic; χρησιμοποιώντας το UnityEngine. χρησιμοποιώντας System. IO. Ports.
δημόσια τάξη PlayerMovement: MonoBehaviour
{public float speed? κίνηση πλωτήρα?
SerialPort sp = νέο SerialPort ("COM3", 9600);
void Start ()
{// Εκτελέστε τον κώδικα για να ανοίξετε τη σειριακή θύρα OpenSerialPort (); }
void OpenSerialPort ()
{// Άνοιγμα της σειριακής θύρας sp. Open (); sp. ReadTimeout = 1; }
Κενή Κίνηση (Χορδή Κατεύθυνση)
{// Ελέγξτε ποια κατεύθυνση έχει περάσει το arduino εάν (Κατεύθυνση == "Αριστερά") {κίνηση = -1; } if (Κατεύθυνση == "Δεξιά") {κίνηση = 1; } // υπολογίστε το ποσό με το οποίο θα μετακινηθεί το gameobject μεταφορά float = κίνηση * ταχύτητα. // Εφαρμόστε την κίνηση στο gameobject transform. Translate (μετάφραση, 0, 0). }
άκυρη ενημέρωση ()
{if (sp. IsOpen) {try {// ενώ η σειριακή θύρα είναι ανοικτή κίνηση εκτελέστε τη λειτουργία κίνησης και περάστε τη γραμμή που εκτυπώνει το Arduino Κίνηση (sp. ReadLine ()); } catch (System. Exception) {
}
}
} }
Βήμα 5: Τελικές σημειώσεις
Ελέγξτε εάν τα εξαρτήματά σας λειτουργούν
Ένα πρόβλημα που συνάντησα κατά τη δημιουργία αυτού ήταν ότι όλα τα καλώδια και ο κώδικας ήταν σωστά και δεν θα έπρεπε να υπάρχει κανένα πρόβλημα, αλλά δεν λειτουργούσε. Στην περίπτωσή μου ήταν ένα καλώδιο που δεν λειτουργούσε, αν και το ίδιο μπορεί να συμβεί με κάποια άλλα συστατικά σας.
Συνιστάται:
Απλός ελεγκτής χαμηλής αντίστασης (χιλιοστόμετρο): 5 βήματα
Απλός ελεγκτής χαμηλής αντίστασης (χιλιοστόμετρο): Αν θέλετε να γνωρίζετε την αντίσταση των εξαρτημάτων χαμηλής αντίστασης, όπως καλώδια, διακόπτες και πηνία, μπορείτε να χρησιμοποιήσετε αυτόν τον μετρητή χιλιοστομέτρων. Είναι απλό και φθηνό να το φτιάξετε. Χωράει ακόμη και στην τσέπη σας. Τα περισσότερα ωμόμετρα είναι ακριβή έως 1 ωμ
Απλός ελεγκτής αντλίας και κύκλωμα: 13 βήματα (με εικόνες)
Απλός ελεγκτής αντλίας και κύκλωμα: Ένα πρόσφατο έργο στη δουλειά απαιτούσε να αποστραγγίζω νερό από δύο δεξαμενές περιοδικά. Δεδομένου ότι και οι δύο αποχετεύσεις της δεξαμενής βρίσκονται κάτω από το επίπεδο όλων των αποχετεύσεων στο δωμάτιο, θα γέμιζα κουβάδες και θα μετέφερα το νερό στις αποχετεύσεις χειροκίνητα. Σύντομα εγώ
Απλός ηλεκτρονικός ελεγκτής ταχύτητας (ESC) για σερβίρισμα άπειρης περιστροφής: 6 βήματα
Simple Electronic Speed Controller (ESC) for Infinite Rotation Servo: Αν προσπαθήσετε να παρουσιάσετε το Electronic Speed Controller (ESC) στις μέρες μας, πρέπει να είστε αυθάδεις ή τολμηροί. Ο κόσμος της φθηνής ηλεκτρονικής παραγωγής είναι γεμάτος ρυθμιστές με ποικίλη ποιότητα με ευρύ φάσμα λειτουργιών. Παρ 'όλα αυτά, ένας φίλος μου ρωτήστε τον
Απλός ελεγκτής συνιστωσών και συνέχειας: 3 βήματα
Simple Component and Continuity Tester: Φτιάξτε έναν απλό δοκιμαστή συνιστωσών και συνέχειας. Χρησιμοποιείται για τον έλεγχο κυκλωμάτων και ηλεκτρονικών εξαρτημάτων για να διαπιστώσει εάν λειτουργούν
Απλός ελεγκτής LED σε κουτί TicTac: 4 βήματα
Απλός ελεγκτής LED σε ένα κουτί TicTac: Ένα πολύ απλό έργο, το μόνο που χρειάζεστε είναι ένα καλώδιο μεταφοράς, 2 μπαταρίες ΑΑΑ, κοντό καλώδιο για τη σύνδεση των μπαταριών και πολύ κόλλα ……….. Όλες οι λεπτομέρειες είναι σε σκίτσα