Πίνακας περιεχομένων:
- Βήμα 1: Πράγματα που μπορεί να χρειαστείτε…
- Βήμα 2: Συνδέστε το υλικό
- Βήμα 3: Προγραμματίστε το Arduino
- Βήμα 4: Εγκατάσταση λογισμικού
- Βήμα 5: Χρησιμοποιήστε το πρόγραμμα διασύνδεσης
- Βήμα 6: Γίνετε δημιουργικοί
Βίντεο: Serial Servo Controller με βάση το Arduino: 6 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:39
Αυτός είναι ένας απλός σειριακός ελεγκτής για πολλαπλά servos βασισμένα στο Arduino. (το πρώτο μου διδάξιμο επίσης:))
Το μεγαλύτερο μέρος της εργασίας σε αυτό προήλθε από το να πάρετε το λογισμικό να μιλήσει με το arduino και να δημιουργήσετε ένα πρωτόκολλο για τη μετάδοση των δεδομένων. Όσον αφορά την πτυχή του υλικού, το μόνο που χρησιμοποίησα ήταν δύο σερβομηχανήματα (Parallax standard servo εδώ.) Ένα Sparkfun Arduino ProtoShield και ένα Arduino Duemilanove με ATMEGA328, αλλά τα περισσότερα από αυτά τα μέρη μπορούν να αντικατασταθούν με παρόμοια αντικείμενα. Σκέφτηκα αυτό το έργο ως μέρος ενός συστήματος RC, αλλά η δημιουργία της επικοινωνίας πήρε πολύ χρόνο. Εάν κάποιος έχει βελτιώσεις, ιδέες ή σφάλματα, μπορείτε να σχολιάσετε. ΕΠΙΜΕΛΕΙΑ: Το έγραψα πριν από λίγο καιρό, μόλις άρχισα να το δημοσιεύω πρόσφατα.
Βήμα 1: Πράγματα που μπορεί να χρειαστείτε…
Μερικά πράγματα που θα χρειαστείτε για να το φτιάξετε. 1. Πλακέτα Arduino (επιλέγετε) 2. δύο (ή ένα) servos 3. καλώδια jumper 4. Visual Studio 2008 Express - σύνδεσμος (προαιρετικός) 5. Arduino IDE - σύνδεσμος Λυπούμαστε για τους λάτρεις του Linux και της Apple, το πρόγραμμά μου λειτουργεί μόνο παράθυρα προς το παρόν, αλλά μπορείτε ακόμα να στείλετε χειροκίνητα σειριακές εντολές στο arduino χωρίς να αλλάξετε τον κώδικα.
Βήμα 2: Συνδέστε το υλικό
Τίποτα πολύ περίπλοκο σε αυτό το βήμα. Απλώς συνδέστε το ένα servo στο pin 9 και το άλλο στο pin 10.
Βήμα 3: Προγραμματίστε το Arduino
τώρα μπορείτε να ανεβάσετε το σκίτσο στο arduino.
Εδώ είναι μια απλή ανάλυση του κώδικα: #include Servo myservo; // δημιουργία servo αντικειμένου για τον έλεγχο ενός servo Servo myservo1; int εισερχόμεναByte = 0, datacount = 0, counter = 0, ready = 0; // για εισερχόμενα σειριακά δεδομένα δεδομένων char [10], const char verify [8] = "ma11hew"; εντολή char [3]; void setup () {myservo.attach (9); myservo1.attach (10); Serial.begin (38400); // ανοίγει σειριακή θύρα, ορίζει ρυθμό δεδομένων Serial.println ("Hi Arduino Here!"); // προστέθηκε για να βοηθήσει στον προσδιορισμό της σειριακής θύρας Αυτό ρυθμίζει απλώς τη σειριακή θύρα και τα servos. int i? για (i = 0; i <180; i ++) {myservo.write (i); καθυστέρηση (15)? } myservo.write (5); για (i = 0; i <180; i ++) {myservo1.write (i); καθυστέρηση (15)? } myservo1.write (5); } Απλή κίνηση σάρωσης για να επαληθεύσετε ότι τα servos λειτουργούν σωστά. void loop () {ready = 0; μετρητής = 0; ενώ (1 == 1) {if (Serial.read ()! = verify [counter]) {break; } if (μετρητής == 6) {καθυστέρηση (20); εντολή [0] = Serial.read (); εντολή [1] = Serial.read (); // if (Serial.read () == ((command [1] * 12) % 8)) // {ready = 1; //} Serial.println ("αποθηκευμένη εντολή"); } μετρητής ++; καθυστέρηση (2)? } ελέγχει το σειριακό buffer για τη σωστή συμβολοσειρά εξουσιοδότησης και στη συνέχεια πιάνει δύο byte για την εντολή. Η δήλωση εάν σχολιάζει επιτρέπει ένα πρόχειρο άθροισμα ελέγχου, αλλά θα δυσκόλευε τη χειροκίνητη διασύνδεση. Η ετοιμότητα μπορεί να οριστεί σε 0, ώστε οι εντολές να μην αναλύονται, όπως στην περίπτωση κατεστραμμένων δεδομένων. // αναζήτηση μέσω εντολών if (ready == 1) {if (command [0] == 'T') {command [0] = 0; Serial.print ("έλεγχος πεταλούδας στον πείρο 9 έως:"); Serial.println (χάρτης (εντολή [1], 32, 126, 2, 180), DEC); myservo.write (χάρτης (εντολή [1], 32, 126, 2, 180)); } if (εντολή [0] == 'S') {εντολή [0] = 0; Serial.print ("έλεγχος γκαζιού στον πείρο 10 έως:"); Serial.println (χάρτης (εντολή [1], 32, 126, 2, 180), DEC); myservo1.write (χάρτης (εντολή [1], 32, 126, 2, 180)); }}} ο υπόλοιπος κώδικας είναι να αναζητήσετε την εντολή για έγκυρες εντολές (Τ ή Σ.), εάν ταιριάζει, παίρνει το επόμενο byte και το στέλνει στο σερβο. περισσότερα στο χάρτη (εντολή [1], 32, 126, 2, 180) αργότερα… ο κώδικας εδώ μπορεί να επεκταθεί για οτιδήποτε άλλο χρειαστείτε (π.χ. φώτα, κινητήρες, υπέρυθρες ακτίνες κ.λπ.) αυτός ο κωδικός θα πρέπει να λειτουργεί άψογα χωρίς τροποποιήσεις.
Βήμα 4: Εγκατάσταση λογισμικού
Έχω δύο τρόπους για να εγκαταστήσω αυτό το πρόγραμμα εγκατάστασης… nsis: Κατεβάστε το πρόγραμμα αυτόματης εξαγωγής παρακάτω και εκτελέστε το. Θα έχετε την επιλογή να εγκαταστήσετε πηγές κατά την εγκατάσταση. το δυαδικό πακέτο εγκατάστασης εγκαθιστά τα βασικά c ++ dlls, ώστε να μπορεί να εκτελεστεί σε υπολογιστή χωρίς ήδη εγκατεστημένο το οπτικό c ++. Μόλις τελειώσει το πρόγραμμα εγκατάστασης, μπορείτε να το εκτελέσετε από την επιφάνεια εργασίας ή το μενού έναρξης. zip τρόπος (μη επαληθευμένος): Λήψη και εκτέλεση, θα πρέπει να λειτουργήσει. μπορεί. (Το αρχείο zip έχει την ίδια δομή φακέλου που δημιουργήθηκε από το πρόγραμμα εγκατάστασης, χωρίς πηγές. Δεν έχω ένα μηχάνημα χωρίς οπτικό στούντιο για να το δοκιμάσω, ώστε να μην λειτουργεί).
Βήμα 5: Χρησιμοποιήστε το πρόγραμμα διασύνδεσης
Για να χρησιμοποιήσετε το πρόγραμμα, πρώτα επιλέξτε το ρυθμό baud που ορίζεται στο σκίτσο του arduino. Το μη τροποποιημένο σκίτσο είναι προεπιλεγμένο σε 38400 baud, αλλά μπορεί να αλλάξει ώστε να ταιριάζει στις ανάγκες σας για πράγματα όπως ένας πιο αργός σύνδεσμος ραδιοφώνου. Σημείωση: τα ποσοστά baud υψηλότερα από 38400 δεν ήταν πολύ σταθερά, νομίζω ότι αυτό συμβαίνει επειδή το uart γεμίζει πριν από την επεξεργασία των δεδομένων. Στη συνέχεια, επιλέξτε τη θύρα COM που θα χρησιμοποιήσετε. το πρόγραμμα είναι προεπιλεγμένο σε COM4 φροντίστε να το αλλάξετε διαφορετικά το πρόγραμμα θα χαλάσει. Τέλος, κάντε κλικ στο άνοιγμα. Εάν όλα πήγαν καλά, το πρόγραμμα θα ανοίξει την επιλεγμένη σειριακή θύρα σε επιλεγμένο ρυθμό baud. Εάν όχι, το πρόγραμμα πιθανότατα θα καταρρεύσει με μια εξαίρεση χωρίς χειρισμό. βεβαιωθείτε ότι η θύρα είναι σωστή και δοκιμάστε ξανά. Χρησιμοποιήστε τα πλαίσια κειμένου για να υποβάλετε άμεσες εντολές στο arduino. Ο "χάρτης (εντολή [1], 32, 126, 2, 180)" κλιμακώνει όλες τις 94 πιθανές εντολές, * διάστημα * έως ~, που διαβάζονται από το arduino στο ASCII σε 2 έως 180 για το σερβο. τυχόν byte μικρότερο από ASCII 32 (διάστημα) ή πάνω από 126 () προεπιλογή σε 63 (?) Οι γραμμές κομματιού παρέχουν μια διεπαφή eaiser για άμεσες εντολές. κάθε βήμα στέλνει μια σειριακή εντολή στο arduino σταδιακά.
Βήμα 6: Γίνετε δημιουργικοί
Σκεφτείτε ωραία πράγματα να φτιάξετε με αυτό. Μερικές ιδέες: 1. Τηλεχειριστήριο γκαζιού για αυτοκίνητο. 2. Τρισδιάστατη βάση κάμερας 3. υποβρύχιο ρόβερ Καλή διασκέδαση !!
Συνιστάται:
Δημιουργήστε μια βάση σύνδεσης IPod από μια μικρή βάση σύνδεσης IPod: 5 βήματα
Δημιουργήστε μια βάση σύνδεσης IPod από μια μίνι βάση σύνδεσης IPod: Εξηγεί πώς να μετατρέψετε εύκολα μια παλιά βάση σύνδεσης που προορίζεται για ένα ipod mini για χρήση με ένα ipod nano (και η πρώτη και η δεύτερη γενιά μία φορά). Γιατί; Αν σας αρέσει είχα ένα iPod μίνι και πήρε την αποβάθρα για αυτό, και τώρα αγόρασε ένα iPod nano και ειλικρινά λεπτό
Walker 4 ποδιών με βάση το Servo: 12 βήματα (με εικόνες)
Ένα 4-πόδι Walker με βάση το Servo: Φτιάξτε το δικό σας (άσκοπα τεχνολογικό) ρομποτόπ με 4 πόδια ποδηλάτη! Το BEAM 4-legger μπορεί να είναι πιο εύκολο για εσάς αν δεν είστε ήδη
Δωρεάν Diy Zune, IPod, IPhone, PDA, Cell Phone ή Gadget Holder/βάση σύνδεσης/βάση: 6 βήματα
Δωρεάν Diy Zune, IPod, IPhone, PDA, Cell Phone ή Gadget Holder/βάση/βάση: Έχει ειπωθεί ότι η ανάγκη είναι η μητέρα της εφεύρεσης. Έχω διαπιστώσει ότι είναι αλήθεια συχνά. Η περασμένη εβδομάδα δεν αποτελούσε εξαίρεση. Ξοδεύω άπειρο χρόνο στον υπολογιστή μου στο κυνήγι εργασίας. Δεδομένου ότι είχα αντικαταστήσει πρόσφατα τον υπολογιστή μου με διακομιστή
Χάρτινη βάση για φορητό υπολογιστή, η φθηνότερη δυνατή βάση για φορητό υπολογιστή: 4 βήματα
Paper Laptop Stand, the Cheapest Laptop Stand Possible .: Μου αρέσει πολύ το quake3 και μάλλον ανησυχώ για την αντοχή του MacBook μου. Δεν μου έρχεται ποτέ η ιδέα να αγοράσω αυτά τα στηρίγματα φορητών υπολογιστών με ανεμιστήρες, επειδή τα MacBooks δεν έχουν καμία τρύπα στο κάτω μέρος του. Σκεφτόμουν ότι αυτές οι μισές μπάλες θα έκαναν το λάπτοπ μου
Πώς να φτιάξετε μια βάση Servo και Ardiuno: 3 βήματα
Πώς να φτιάξετε μια βάση Servo και Ardiuno: Σε αυτό το διδακτικό θα σας δείξω πώς φτιάχνω το servo stand μου. Αυτή η βάση είναι χρήσιμη εάν θέλετε να δοκιμάσετε έναν νέο τρόπο ελέγχου ενός σερβο, αλλά δεν θέλετε να χρησιμοποιήσετε ένα σερβο στο ρομπότ σας ή κάτι τέτοιο. κάντε Για αυτό το έργο θα χρειαστείτε; 1 σερ