Innholdsfortegnelse:
Video: Arduino kontrollert robotarm fra Lego Mindstorm: 6 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Bruk to gamle Lego Mindstorm -motorer til en gripearm som styres av en Arduino Uno.
Dette er et Hack Sioux Falls -prosjekt der vi utfordret barna til å bygge noe kult med en Arduino.
Trinn 1: Nødvendige deler
Nødvendig rekvisita:
- 2 store Lego ev3 minstorm motorer
- Et utvalg av Lego -teknikkstykker og gir
- En Arduino Uno
- Motorbrett
- Et stykke perfboard
- Lange ledninger
- 4 motstander
- 4 knapper
- Et bærbart USB -batteri
- En usb lader
- Lodde og loddejern
- Sett med skrutrekkere
- En trådkutter
Trinn 2: Fjern motorhuset
Start med å fjerne skruene på baksiden av begge motorene, og fjern deretter de hvite hettene. Du kan deretter kaste dem.
Trekk motorene ut, og pass på at du ikke fjerner noen av tannhjulene på innsiden. Hvis du fjerner noen av tannhjulene, er det bare å sette dem på plass igjen.
Når motorene er fjernet, kutter du pluggen på enden av motoren med en trådkutter.
Trinn 3: Lodding på lengre ledninger
Lodd på en ny, lengre ledning. Dette er mye lettere enn det ser ut og tar bare noen få sekunder hvis du vet hva du gjør.
Sett motoren tilbake i plasthuset, og skru den inn igjen. Du kan nå starte konstruksjonen av armen. Du kan lage ditt eget design eller gå ut av det på bildet.
Trinn 4: Legg til motorer i Motor Board
Bruk en stjerneskrutrekker til å koble ledningene som kommer fra motorene til motorbordet som vist på bildet. Koble deretter brettet til Arduino Uno.
Kutt USB -laderen i to, og avslør ledningen inni. Fjern isolasjonen, og fjern deretter de to positive og negative ledningene. Koble den deretter til motorbrettet
Trinn 5: Bygg bryterkort
Lodd på motstandene, bryterne og ledningene på perfboardet som bildet.
Legg til noen hunkontaktpinner på perfboardet og motorkortet som bildet viser, og koble deretter de to.
Trinn 6:
Koble Arduino til en datamaskin og last opp denne koden til Arduino.
Vi brukte dette motordriverbiblioteket fra Adafruit, men et annet sjåførbibliotek ville også fungere.
#inneslut
int buttonLeft = A0; int buttonRight = A1; int buttonOpen = A2; int -knappLukk = A3; AF_DCMotor motorRotate (1); AF_DCMotor motorGrabber (2); ugyldig oppsett () {Serial.begin (9600); // sette opp seriebibliotek på 9600 bps Serial.println ("Motortest!"); pinMode (buttonLeft, INPUT); pinMode (buttonRight, INPUT); pinMode (buttonOpen, INPUT); pinMode (buttonClose, INPUT); // slå på motor motorRotate.setSpeed (200); motorGrabber.setSpeed (200); motorRotate.run (RELEASE); motorGrabber.run (RELEASE); } void loop () {int buttonStateLeft = digitalRead (buttonLeft); int buttonStateRight = digitalRead (buttonRight); int buttonStateOpen = digitalRead (buttonOpen); int buttonStateClose = digitalRead (buttonClose); if (buttonStateLeft == HIGH) {Serial.println ("Knapp venstre"); motorRotate.run (BACKWARD); forsinkelse (250); motorRotate.run (RELEASE); } annet hvis (buttonStateRight == HIGH) {Serial.println ("Knapp høyre"); motorRotate.run (FORWARD); forsinkelse (250); motorRotate.run (RELEASE); } annet hvis (buttonStateOpen == HIGH) {Serial.println ("Button Open"); motorGrabber.run (BACKWARD); forsinkelse (150); motorGrabber.run (RELEASE); } annet hvis (buttonStateClose == HIGH) {Serial.println ("Button Close"); motorGrabber.run (FREM); forsinkelse (150); motorGrabber.run (RELEASE); }}