Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
I denna Instructable bygger vi en Arcbotics Sparki -robot som kan styras med 3D -gester. Trevligt med det här projektet är att det inte behövs någon extra enhet som en smartphone eller handske för att styra roboten. För bara handen över elektroden (95 x 60 mm känsligt område). Ett MGC3130 Hillstar Development Kit från Microchip används för system för 3D -ingångsavkänning.
Steg 1: Komponenter krävs
- Arcbotics Sparki, Arduino -baserad robot. Andra Arduino -baserade robotar fungerar också.
- MGC3130 Hillstar Development Kit från Microchip, andra 3D -styrkort, till exempel Hover -originalet eller Hover 2.0 From Hover Labs, eller Flick! borde också fungera.
- Några Knex -delar (inte så mycket som på bilden)
- Silvertejp
- Bygelkablar
Steg 2: Montering
Hillstar 3D -gestkitet består av tre brädor:
- MGC3130 -modulen. detta är den viktigaste Hillstar gestkontrollenheten, den gränsar på ena sidan till en elektrod och på den andra sidan till ström och ett I2C -gränssnitt.
- En fyrlagersreferenselektrod med ett 85x60 mm känsligt område, på undersidan av denna platta är en kontakt för att ansluta MGC3130 -kortet.
- Ett I2C till USB -bryggkort. Med detta kort kan MGC3130 -modulen enkelt anslutas till en dator med USB.
I2C till USB -bryggkortet behövs inte, eftersom vi ansluter I2C på MGC3130 -modulen direkt till Robot IO -portarna, som visas i det schematiska diagrammet ovan.
En liten Knex -vagn gjordes för att stödja referenselektrodkortet. Brädet fästs på vagnen med lite tejp, och den färdiga vagnen fästs på roboten med en Ty-wrap. Slutligen är MGC3130 -modulen ansluten till robotens IO -portar med bygelkablarna.
Steg 3: Kod
Programvaran är baserad på Hover -biblioteket från Hover Labs och finns på Github (https://github.com/jspark311/hover_arduino).
Nedan är Arduino -skissen som kan laddas ner till Sparki.
Det finns en specifik Sparki IDE tillgänglig, kallad SparkiDuino, men jag föredrar att bara använda standard Arduino IDE och installera Sparki Arduino -biblioteket, som kan laddas ner från nedladdningssidan: https://arcbotics.com/downloads Det är inte lika lätt som SparkiDuino, och det kommer inte med en egen drivrutinsinstallation (Sparki -drivrutinsinstallatören finns också på nedladdningssidan), men den använder samma exempel och bibliotekskod och är lättare i kombination med andra bibliotek, som Hover i denna fall.
#inkludera // inkludera sparkibiblioteket
#include #include // Pin -deklarationer för Hover int ts = 0; int reset = 1; Hover hover = Hover (); bytehändelse; String output_string = ""; bool driving_forward = false; void setup () {delay (4000); sparki.clearLCD (); sparki.println ("Initierar Hover … vänta."); sparki.updateLCD (); hover.begin (ts, reset); sparki.clearLCD (); sparki.println ("Redo för gester !."); sparki.updateLCD (); } void loop (void) {// Kontrollera om Hover är redo att skicka gest eller peka på händelser om (hover.getStatus (ts) == 0) {// Hämta händelsen över i2c och skriv ut event = hover.getEvent (); // Det här avsnittet kan kommenteras om du inte vill se händelsen i textformat output_string = hover.getEventString (event); if (output_string! = "") {sparki.print (händelse); sparki.println ("=" + output_string); sparki.updateLCD (); } switch (händelse) {case 40: driving_forward = true; ha sönder; fall 80: sparki.moveBackward (); ha sönder; fall 36: sparki.moveLeft (); fördröjning (500); sparki.moveStop (); ha sönder; fall 34: sparki.moveRight (); fördröjning (500); sparki.moveStop (); ha sönder; fall 72: sparki.gripperOpen (); ha sönder; fall 66: sparki.gripperClose (); ha sönder; fall 68: sparki.servo (80); ha sönder; fall 65: sparki.servo (-80); ha sönder; fall 48: driving_forward = false; sparki.gripperStop (); sparki.servo (0); ha sönder; } if (driving_forward) {sparki.moveForward (); } annat {sparki.moveStop (); } // Återställ Hover för nästa händelse hover.setRelease (ts); }}
Steg 4: Njut
Lista över kommandon:
- Svep uppåt - kör framåt
- Svep bakåt - stoppa alla rörelser
- Svep åt vänster - sväng vänster
- Svep åt höger - sväng höger
- Knacka uppifrån - rotera sensorn 90 grader cw
- Tryck på botten - rotera sensorn 90 grader ccw
- Knacka vänster - stäng griparen
- Knacka till höger - öppna griparen