Bygg en gestkontrollert robot: 4 trinn (med bilder)
Bygg en gestkontrollert robot: 4 trinn (med bilder)
Anonim
Image
Image

I denne instruksjonsboken bygger vi en Arcbotics Sparki -robot som kan kontrolleres med 3D -bevegelser. En fin egenskap ved dette prosjektet er at det ikke er nødvendig med en ekstra enhet som en smarttelefon eller hanske for å kontrollere roboten. Bare flytt hånden over elektroden (95 x 60 mm sensitivt område). Et MGC3130 Hillstar Development Kit fra Microchip brukes for 3D -bevegelsesinnmatingssystemer.

Trinn 1: Komponenter påkrevd

Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
Komponenter påkrevd
  1. Arcbotics Sparki, Arduino -basert robot. Andre Arduino -baserte roboter vil også fungere.
  2. MGC3130 Hillstar Development Kit fra Microchip, andre 3D -gestavkort, for eksempel Hover -originalen eller Hover 2.0 From Hover Labs, eller Flick! burde også fungere.
  3. Noen få Knex -deler (ikke så mye som på bildet)
  4. Duct tape
  5. Jumper ledninger

Trinn 2: Montering

montering
montering
montering
montering
montering
montering

Hillstar 3D -bevegelsessettet består av tre tavler:

  1. MGC3130 -modulen. dette er den viktigste Hillstar -bevegelseskontrollenheten, den grensesnitt på den ene siden til en elektrode, og på den andre siden til strøm og et I2C -grensesnitt.
  2. En firelags referanseelektrode med et 85x60 mm sensitivt område, på bunnen av denne platen, er en kontakt for å koble MGC3130 -kortet.
  3. Et I2C til USB brokort. Med dette kortet kan MGC3130 -modulen enkelt kobles til en PC med USB.

I2C til USB -brokortet er ikke nødvendig, ettersom vi kobler I2C til MGC3130 -modulen direkte til Robot IO -portene, som vist i diagrammet ovenfor.

En liten Knex trolly ble laget for å støtte referanseelektrodebrettet. Brettet er festet til vognen med litt tape, og den ferdige vognen er festet til roboten med en Ty-wrap. Endelig er MGC3130 -modulen koblet til robotens IO -porter med hoppetrådene.

Trinn 3: Kode

Kode
Kode

Programvaren er basert på Hover -biblioteket fra Hover Labs og finnes på Github (https://github.com/jspark311/hover_arduino).

Nedenfor er Arduino -skissen som kan lastes ned til Sparki.

Det er en spesifikk Sparki IDE tilgjengelig, kalt SparkiDuino, men jeg foretrekker bare å bruke standard Arduino IDE og installere Sparki Arduino -biblioteket, som kan lastes ned fra nedlastingssiden: https://arcbotics.com/downloads Det er ikke like enkelt som SparkiDuino, og det kommer ikke med sitt eget driverinstallasjonsprogram (Sparki -driverinstallasjonsprogrammet er også på nedlastingssiden), men det bruker alle de samme eksemplene og bibliotekskoden, og det er lettere i kombinasjon med andre biblioteker, som Hover i denne sak.

#include // inkluderer sparki -biblioteket

#include #include // Pin -deklarasjoner for Hover int ts = 0; int reset = 1; Hover hover = Hover (); byte hendelse; String output_string = ""; bool driving_forward = false; ugyldig oppsett () {forsinkelse (4000); sparki.clearLCD (); sparki.println ("Initialiserer Hover … vennligst vent."); sparki.updateLCD (); hover.begin (ts, reset); sparki.clearLCD (); sparki.println ("Klar for bevegelser !."); sparki.updateLCD (); } void loop (void) {// Sjekk om Hover er klar til å sende bevegelser eller berøre hendelser hvis (hover.getStatus (ts) == 0) {// Få hendelsen over i2c og skriv den ut event = hover.getEvent (); // Denne delen kan kommenteres hvis du ikke vil se hendelsen i tekstformat output_string = hover.getEventString (hendelse); if (output_string! = "") {sparki.print (hendelse); sparki.println ("=" + output_string); sparki.updateLCD (); } switch (hendelse) {case 40: driving_forward = true; gå i stykker; sak 80: sparki.moveBackward (); gå i stykker; sak 36: sparki.moveLeft (); forsinkelse (500); sparki.moveStop (); gå i stykker; sak 34: sparki.moveRight (); forsinkelse (500); sparki.moveStop (); gå i stykker; sak 72: sparki.gripperOpen (); gå i stykker; sak 66: sparki.gripperClose (); gå i stykker; sak 68: sparki.servo (80); gå i stykker; sak 65: sparki.servo (-80); gå i stykker; sak 48: driving_forward = false; sparki.gripperStop (); sparki.servo (0); gå i stykker; } if (driving_forward) {sparki.moveForward (); } annet {sparki.moveStop (); } // Reset Hover for next event hover.setRelease (ts); }}

Trinn 4: Nyt

Image
Image

Liste over kommandoer:

  • Sveip opp - kjør fremover
  • Sveip tilbake - stopp alle bevegelser
  • Sveip til venstre - ta til venstre
  • Sveip til høyre - ta til høyre
  • Trykk øverst - roter sensor 90 grader cw
  • Trykk nederst - roter sensoren 90 grader ccw
  • Trykk til venstre - lukk griperen
  • Trykk til høyre - åpne griperen