Inhaltsverzeichnis:

Arduino gesteuerter Roboterarm von Lego Mindstorm - Gunook
Arduino gesteuerter Roboterarm von Lego Mindstorm - Gunook

Video: Arduino gesteuerter Roboterarm von Lego Mindstorm - Gunook

Video: Arduino gesteuerter Roboterarm von Lego Mindstorm - Gunook
Video: LEGO Roboter mit dem Arduino weicht Hindernissen aus 2024, Juli
Anonim
Image
Image

Verwandeln Sie zwei alte Lego Mindstorm-Motoren in einen Greiferarm, der von einem Arduino Uno gesteuert wird.

Dies ist ein Hack Sioux Falls-Projekt, bei dem wir Kinder herausgefordert haben, mit einem Arduino etwas Cooles zu bauen.

Schritt 1: Benötigte Teile

Vorräte werden gebraucht:

  • 2 große Lego ev3 Mindstorm Motoren
  • Eine Auswahl an Lego-Technikteilen und -Zahnrädern
  • Ein Arduino Uno
  • Motorplatine
  • Ein Stück Perfboard
  • Lange Drähte
  • 4 Widerstände
  • 4 Tasten
  • Eine tragbare USB-Batterie
  • Ein USB-Ladegerät
  • Lötzinn und Lötkolben
  • Schraubendreher-Set
  • Ein Drahtschneider

Schritt 2: Motorgehäuse entfernen

Entfernen Sie zunächst die Schrauben auf der Rückseite beider Motoren und entfernen Sie dann die weißen Kappen. Sie können sie dann verwerfen.

Ziehen Sie die Motoren heraus und achten Sie darauf, dass keine Zahnräder im Inneren entfernt werden. Wenn Sie eines der Zahnräder entfernen, stecken Sie es einfach wieder ein.

Nachdem die Motoren entfernt wurden, schneiden Sie den Stecker am Ende des Motors mit einem Drahtschneider ab.

Schritt 3: Löten auf längeren Drähten

Motoren zur Motorplatine hinzufügen
Motoren zur Motorplatine hinzufügen

Löten Sie einen neuen, längeren Draht an. Dies ist viel einfacher als es aussieht und dauert nur wenige Sekunden, wenn Sie wissen, was Sie tun.

Setzen Sie den Motor wieder in das Kunststoffgehäuse ein und schrauben Sie ihn wieder ein. Sie können nun mit dem Bau des Arms beginnen. Sie können Ihr eigenes Design erstellen oder von dem auf dem Bild abweichen.

Schritt 4: Motoren zur Motorplatine hinzufügen

Verwenden Sie einen Kreuzschlitzschraubendreher, um die von den Motoren kommenden Drähte wie in der Abbildung gezeigt in die Motorplatine zu stecken. Stecken Sie dann die Platine in das Arduino Uno.

Schneiden Sie das USB-Ladegerät in zwei Hälften und legen Sie das Kabel im Inneren frei. Die Isolierung abisolieren, dann die beiden positiven und negativen Leitungen abisolieren. Dann stecken Sie es in die Motorplatine

Schritt 5: Schalttafel aufbauen

Schalttafel bauen
Schalttafel bauen
Schalttafel bauen
Schalttafel bauen
Schalttafel bauen
Schalttafel bauen

Löten Sie die Widerstände, Schalter und Drähte wie im Bild auf das Perfboard.

Fügen Sie ein paar weibliche Steckerstifte auf dem Perfboard und der Motorplatine hinzu, wie im Bild gezeigt, und verbinden Sie dann die beiden.

Schritt 6:

Bild
Bild
Bild
Bild

Schließen Sie das Arduino an einen Computer an und laden Sie diesen Code in das Arduino hoch.

Wir haben diese Motortreiberbibliothek von Adafruit verwendet, aber eine andere Treiberbibliothek würde auch funktionieren.

#einspielen

int buttonLeft = A0;int buttonRight = A1; int buttonOpen = A2; int buttonClose = A3; AF_DCMotor motorRotate(1); AF_DCMotor motorGrabber(2); Void setup () { Serial.begin (9600); // serielle Bibliothek mit 9600 bps einrichten Serial.println ("Motortest!"); pinMode (ButtonLeft, INPUT); pinMode (TasteRight, INPUT); pinMode (ButtonOpen, INPUT); pinMode (ButtonClose, INPUT); // Motor einschalten motorRotate.setSpeed (200); motorGrabber.setSpeed(200); motorRotate.run(RELEASE); motorGrabber.run(RELEASE); aufrechtzuerhalten. Void Schleife () { Int buttonStateLeft = digitalRead (buttonLeft); int buttonStateRight = digitalRead (buttonRight); int buttonStateOpen = digitalRead(buttonOpen); int buttonStateClose = digitalRead(buttonClose); if (buttonStateLeft == HIGH) { Serial.println ("Button Left"); motorRotate.run (RÜCKWÄRTS); Verzögerung (250); motorRotate.run(RELEASE); aufrechtzuerhalten. Sonst if (buttonStateRight == HIGH) { Serial.println ("Button Right"); motorRotate.run(FORWARD); Verzögerung (250); motorRotate.run(RELEASE); aufrechtzuerhalten. Sonst if (buttonStateOpen == HIGH) { Serial.println ("Button Open"); motorGrabber.run (RÜCKWÄRTS); Verzögerung (150); motorGrabber.run(RELEASE); aufrechtzuerhalten. Sonst if (buttonStateClose == HIGH) { Serial.println ("Button Close"); motorGrabber.run(FORWARD); Verzögerung (150); motorGrabber.run(RELEASE); } }

Empfohlen: