Taula de continguts:

Braç robòtic controlat per Arduino de Lego Mindstorm: 6 passos
Braç robòtic controlat per Arduino de Lego Mindstorm: 6 passos

Vídeo: Braç robòtic controlat per Arduino de Lego Mindstorm: 6 passos

Vídeo: Braç robòtic controlat per Arduino de Lego Mindstorm: 6 passos
Vídeo: Three-motor robot arm from ‘Make And Program Your Own Robots’ 2024, De novembre
Anonim
Image
Image

Reutilitzeu dos motors Lego Mindstorm antics en un braç de captura controlat per un Arduino Uno.

Es tracta d’un projecte de Hack Sioux Falls on vam desafiar els nens a construir alguna cosa divertida amb un Arduino.

Pas 1: parts necessàries

Subministraments necessaris:

  • 2 grans motors Lego ev3 mindstorm
  • Un assortiment de peces i engranatges tècnics de Lego
  • Un Arduino Uno
  • Tauler motor
  • Un tros de perfboard
  • Filferros llargs
  • 4 resistències
  • 4 botons
  • Una bateria USB portàtil
  • Un carregador USB
  • Soldador i soldador
  • Conjunt de tornavisos
  • Un tallador de filferro

Pas 2: traieu la carcassa del motor

Comenceu traient els cargols de la part posterior dels dos motors i traieu els taps blancs. A continuació, podeu descartar-los.

Traieu els motors, assegurant-vos de no treure cap dels engranatges de l'interior. Si traieu algun dels engranatges, simplement torneu a col·locar-los al seu lloc.

Un cop eliminats els motors, talleu el connector de l’extrem del motor amb un tallador de filferro.

Pas 3: soldar en cables més llargs

Afegiu motors a Motor Board
Afegiu motors a Motor Board

Soldar en algun cable nou i més llarg. Això és molt més fàcil del que sembla i només triga uns quants segons si sap el que està fent.

Torneu a posar el motor a la carcassa de plàstic i torneu-lo a cargolar. Ara podeu començar la construcció del braç. Podeu crear el vostre propi disseny o sortir del que apareix a la imatge.

Pas 4: afegiu motors al motor Board

Utilitzeu un tornavís Phillips per connectar els cables que provenen dels motors a la placa del motor, tal com es mostra a la imatge. A continuació, connecteu la placa a l'Arduino Uno.

Tallar el carregador USB per la meitat, deixant al descobert el cable. Retireu l'aïllament i, a continuació, retireu els dos conductors positius i negatius. A continuació, connecteu-lo a la placa del motor

Pas 5: Compreu el tauler de commutació

Build Switch Board
Build Switch Board
Build Switch Board
Build Switch Board
Build Switch Board
Build Switch Board

Soldeu les resistències, els interruptors i els cables al tauler de perfils, com la imatge.

Afegiu uns quants pins de connector femella al tauler de perfecció i al tauler del motor com es mostra a la imatge i, a continuació, connecteu-los.

Pas 6:

Imatge
Imatge
Imatge
Imatge

Connecteu l'Arduino a un ordinador i pengeu aquest codi a l'Arduino.

Hem utilitzat aquesta biblioteca de controladors de motors d’Adafruit, però també funcionaria una altra biblioteca de controladors.

#inclou

int buttonLeft = A0; int buttonRight = A1; int buttonOpen = A2; int buttonClose = A3; AF_DCMotor motorRotate (1); AF_DCMotor motorGrabber (2); configuració nul·la () {Serial.begin (9600); // configureu la biblioteca sèrie a 9600 bps Serial.println ("Prova del motor!"); pinMode (buttonLeft, INPUT); pinMode (buttonRight, INPUT); pinMode (buttonOpen, INPUT); pinMode (buttonClose, INPUT); // activar motor motorRotate.setSpeed (200); motorGrabber.setSpeed (200); motorRotate.run (LLANÇAMENT); motorGrabber.run (LLANÇAMENT); } bucle buit () {int buttonStateLeft = digitalRead (buttonLeft); int buttonStateRight = DigitalRead (buttonRight); int buttonStateOpen = DigitalRead (buttonOpen); int buttonStateClose = digitalRead (buttonClose); if (buttonStateLeft == HIGH) {Serial.println ("Botó esquerre"); motorRotate.run (BACKWARD); retard (250); motorRotate.run (LLANÇAMENT); } else if (buttonStateRight == HIGH) {Serial.println ("Botó dret"); motorRotate.run (FORWARD); retard (250); motorRotate.run (LLANÇAMENT); } else if (buttonStateOpen == HIGH) {Serial.println ("Botó obert"); motorGrabber.run (BACKWARD); retard (150); motorGrabber.run (LLANÇAMENT); } else if (buttonStateClose == HIGH) {Serial.println ("Botó Tanca"); motorGrabber.run (FORWARD); retard (150); motorGrabber.run (LLANÇAMENT); }}

Recomanat: