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

Απλός ελεγκτής ενότητας: 5 βήματα
Απλός ελεγκτής ενότητας: 5 βήματα

Βίντεο: Απλός ελεγκτής ενότητας: 5 βήματα

Βίντεο: Απλός ελεγκτής ενότητας: 5 βήματα
Βίντεο: Πώς διαβάζω την Ιστορία - 5 Βήματα 2024, Νοέμβριος
Anonim
Απλός ελεγκτής ενότητας
Απλός ελεγκτής ενότητας

Περιγραφή

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

Βήμα 1: Υλικά

Απαιτούνται εξαρτήματα

  • -Αντίσταση Arduino 2x
  • -[~ 220 Ohm
  • -Σύρματα
  • -2x κουμπιά
  • -Breadboard

Βήμα 2: Breadboarding

Breadboarding
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: Τελικές σημειώσεις

Ελέγξτε εάν τα εξαρτήματά σας λειτουργούν

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

Συνιστάται: