Arduino Controlled Robotic Arm From Lego Mindstorm: 6 Βήματα
Arduino Controlled Robotic Arm From Lego Mindstorm: 6 Βήματα

Βίντεο: Arduino Controlled Robotic Arm From Lego Mindstorm: 6 Βήματα

Βίντεο: Arduino Controlled Robotic Arm From Lego Mindstorm: 6 Βήματα
Βίντεο: 4.11 Κατασκευή ρομπότ Edubot 2025, Ιανουάριος
Anonim
Image
Image

Επανατοποθετήστε δύο παλιούς κινητήρες Lego Mindstorm σε βραχίονα αρπαγής που ελέγχεται από ένα Arduino Uno.

Αυτό είναι ένα έργο Hack Sioux Falls όπου ζητήσαμε από τα παιδιά να δημιουργήσουν κάτι δροσερό με ένα Arduino.

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

Προμήθειες που απαιτούνται:

  • 2 μεγάλοι κινητήρες Lego ev3 mindstorm
  • Μια ποικιλία από τεχνικά κομμάτια και εργαλεία Lego
  • Ένα Arduino Uno
  • Πλακέτα μοτέρ
  • Ένα κομμάτι από γυαλόχαρτο
  • Μακριά καλώδια
  • 4 αντιστάσεις
  • 4 κουμπιά
  • Φορητή μπαταρία USB
  • Φορτιστής usb
  • Συγκολλητικό και κολλητικό σίδερο
  • Σετ κατσαβίδια
  • Ένας κόφτης σύρματος

Βήμα 2: Αφαιρέστε το περίβλημα του κινητήρα

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

Τραβήξτε τους κινητήρες προς τα έξω, φροντίζοντας να μην αφαιρέσετε κανένα από τα γρανάζια στο εσωτερικό. Εάν αφαιρέσετε κάποιο από τα γρανάζια, απλώς τοποθετήστε τα στη θέση τους.

Μόλις αφαιρεθούν οι κινητήρες, κόψτε το πρόσθετο στο άκρο του κινητήρα με έναν κόπτη σύρματος.

Βήμα 3: Συγκόλληση σε μακρύτερα καλώδια

Προσθέστε κινητήρες στο Motorboard
Προσθέστε κινητήρες στο Motorboard

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

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

Βήμα 4: Προσθέστε μοτέρ στην πλακέτα κινητήρα

Χρησιμοποιήστε ένα κατσαβίδι Phillips για να συνδέσετε τα καλώδια που προέρχονται από τους κινητήρες στην πλακέτα του κινητήρα, όπως φαίνεται στην εικόνα. Στη συνέχεια, συνδέστε την πλακέτα στο Arduino Uno.

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

Βήμα 5: Δημιουργία πίνακα διακοπτών

Δημιουργία πίνακα διακοπτών
Δημιουργία πίνακα διακοπτών
Δημιουργία πίνακα διακοπτών
Δημιουργία πίνακα διακοπτών
Δημιουργία πίνακα διακοπτών
Δημιουργία πίνακα διακοπτών

Συγκολλήστε τις αντιστάσεις, τους διακόπτες και τα καλώδια πάνω στον πίνακα σαν την εικόνα.

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

Βήμα 6:

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Συνδέστε το Arduino σε έναν υπολογιστή και ανεβάστε αυτόν τον κώδικα στο Arduino.

Χρησιμοποιήσαμε αυτήν τη βιβλιοθήκη οδηγών από το Adafruit, αλλά θα λειτουργούσε και μια άλλη βιβλιοθήκη οδηγών.

#συμπεριλάβω

int buttonLeft = A0; int buttonRight = A1; int buttonOpen = A2; κουμπί int Κλείσιμο = A3; AF_DCMotor motorRotate (1); AF_DCMotor motorGrabber (2); void setup () {Serial.begin (9600); // ρυθμίστε τη σειριακή βιβλιοθήκη στα 9600 bps Serial.println ("Motor test!"); pinMode (buttonLeft, INPUT); pinMode (buttonRight, INPUT); pinMode (buttonOpen, INPUT); pinMode (κουμπίΚλείσιμο, ΕΙΣΟΔΟΣ); // ενεργοποιήστε τον κινητήρα motorRotate.setSpeed (200); motorGrabber.setSpeed (200); motorRotate.run (ΑΠΕΛΕΥΘΕΡΩΣΗ)? motorGrabber.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); } void loop () {int buttonStateLeft = digitalRead (buttonLeft); int buttonStateRight = digitalRead (buttonRight); int buttonStateOpen = digitalRead (buttonOpen); int buttonStateClose = digitalRead (buttonClose); if (buttonStateLeft == HIGH) {Serial.println ("Κουμπί Αριστερά"); motorRotate.run (ΠΙΣΩ) καθυστέρηση (250)? motorRotate.run (ΑΠΕΛΕΥΘΕΡΩΣΗ)? } else if (buttonStateRight == HIGH) {Serial.println ("Κουμπί δεξιά"); motorRotate.run (ΜΠΡΟΣΤΑ); καθυστέρηση (250)? motorRotate.run (ΑΠΕΛΕΥΘΕΡΩΣΗ)? } else if (buttonStateOpen == HIGH) {Serial.println ("Άνοιγμα κουμπιού"); motorGrabber.run (ΠΙΣΩ) καθυστέρηση (150)? motorGrabber.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); } else if (buttonStateClose == HIGH) {Serial.println ("Κλείσιμο κουμπιού"); motorGrabber.run (ΜΠΡΟΣΤΑ); καθυστέρηση (150)? motorGrabber.run (ΑΠΕΛΕΥΘΕΡΩΣΗ); }}