Maak een Crawling Robot Zombie met afgehakte benen (18 / 22 stap)

Stap 18: Code: Planning


Translate beweging in Servo posities

Het is gemakkelijk om te beschrijven hoe de wapens nodig om naar de zombot verplaatsen maken stuurt, maar hoe we dat omzetten in servo bewegingen?

Ten eerste, kunt beschrijven hoe we verder vooruit als we waren liggend op de grond en kon alleen gebruiken onze armen zou gaan.

  1. Verhogen van de arm van de grond
  2. Arm zo ver naar voren als we kunnen uitbreiden
  3. Lager arm en pak de grond
  4. Trek zelf vooruit (pull arm terug)

We kunnen dit doen met beide armen gesynchroniseerd (zoals zwemmen dagvlinder) of met alternatieve armen (zoals crawl zwemmen).

Ik zal werken in het voorbeeld met de crawl-optie, kunt u gemakkelijk gebruiken dezelfde procedure generateother patronen van beweging.

Arm linksRechter Arm
Verhoogd, getrokken terugVerlaagd, uitgebreid naar voren
Aan de orde gesteld, uitgebreid naar vorenVerlaagd, trok zich terug
Verlaagd, uitgebreid naar vorenVerhoogd, getrokken terug
Naar beneden trok zich terugAan de orde gesteld, uitgebreid naar voren

De meest logische manier die ik bedenken kon om dit te implementeren in code moest een aantal "frames" die de positie van alle de servo's op een gegeven moment te definiëren. Doorlopen van de frames in een bepaald tempo geeft ons een animatie van de beweging.

Ik overweeg hier verhogen/uitbreiding als "maximum" en verlagen/intrekken als "minimum".

FrameLinks van de schouderLinks van de elleboogRechterschouderRechter elleboog
1MaxMinMinMax
2MaxMaxMinMin
3MinMaxMaxMin
4MinMinMaxMax

Servo grenzen te bepalen

Voordat we code schrijven kunnen om te gebruiken van onze mooie nieuwe frame-voor-frame animatie, moeten we bepalen de minimum en maximum voor elke servo. Er zijn twee belangrijke factoren te overwegen

  • Kan er een fysieke obstructie. Als uw mechanische assemblage staat niet toe dat uw servo te schakelen zoveel uw software aanvragen kan het schadelijk zijn voor de servo.
  • We moeten "min" en "max" omgezet in milliseconden, en dit zijn de tegenovergestelde aan beide zijden van het lichaam. Bijvoorbeeld: de servo van de schouder (zoek van de voorkant) aan de rechterkant moet Draai rechtsom om de arm, maar op de linkerhand de kant met de klok mee de arm zal verlagen.

Ik schreef het volgende kleine stukje code om te bepalen van het bereik van de beweging van een servo. Gewoon uploaden naar je arduino en sluit een servo naar de opgegeven pin (pin 3 in het voorbeeld).

  • Gebruik een seriële terminal (ik liever putty) verbinden met de Arduino (9600 Baud).
  • Druk op 'q' verzenden van de servo naar min (1000 microseconden)
  • Druk op 'w' naar het midden van de servo
  • Druk op 'e' voor het verzenden van de servo naar max (2000 microseconden)
  • Gebruik ' o ' en 'p' incrememnt of decrement de huidige positie door 5 microseconden
  • Noteer hoeveel microseconden ingetrokken/verlaagd correspondeert
  • Noteer hoeveel microseconden verlengd/verhoogd correspondeert

Zodra u hebt bepaald hoeveel microseconden overeenkomen met ingetrokken/verlaagd en verlengd/verhoogd, doe hetzelfde voor de andere servo's.

 // By Jason Suter 2014 // This example code is in the public domain. #include <Servo.h> //pin details int servoPin = 3; static int minMicros = 1000; static int midMicros = 1500; static int maxMicros = 2000; Servo servoUnderTest; // create servo object to control a servo int posMicros = 1500; // variable to store the servo position void setup() { servoUnderTest.attach(servoPin); //configure serial port Serial.begin(9600); } void loop() { if (Serial.available() > 0) { char inByte = Serial.read();; //incoming serial byte if (inByte == 'q') { posMicros = minMicros; } else if (inByte == 'w') { posMicros = midMicros; } else if (inByte == 'e') { posMicros = maxMicros; } else if (inByte == 'o') { posMicros = max(posMicros-5,minMicros); } else if (inByte == 'p') { posMicros = min(posMicros+5,maxMicros); } } //report current position Serial.print(posMicros); servoUnderTest.write(posMicros); } 

Gerelateerde Artikelen

Maak een draadloze Robot met een Android telefoon

Maak een draadloze Robot met een Android telefoon

In dit Instructable we gonna een MouseBot bouwen.De MouseBot is een klein draadloos arduino robot die u met een computer beheren kunt. Het vereist geen een Wi-Fi-module. In plaats daarvan gebruikt het een android telefoon zelf verbinden met het inter
Maak een zelfbalancerende Robot met Arduino UNO

Maak een zelfbalancerende Robot met Arduino UNO

Self balancing Robot is zeer interessant. Veel vrienden om ons heen wilden maken een, maar ze encounted alot van chanllenges met inbegrip van het ontbreken van de gemakkelijk-aan-de vergadering van structuren, de geschikte elektronische schakelingen
Maak een RC Robot voor een film

Maak een RC Robot voor een film

oke misschien ik moet niet noemen een "robot" het is een robot marionetTerug in mei 2005 kreeg ik een telefoontje van collega bij Colpitts Design. Hij werd benaderd om te bouwen van een marionet voor speelfilm. Ze waren op zoek naar iemand om re
Maak een baby Samus Aran met behulp van plastic afval (speciale gasten: The Caicedo-Langer familie!)

Maak een baby Samus Aran met behulp van plastic afval (speciale gasten: The Caicedo-Langer familie!)

Mijn familie heeft een traditie: niemand gooit niets naar de vuilnisbak voordat ik besluit dat als ik het gebruiken kon voor het bouwen van spullen. Dus, dankzij mijn moeder, mijn stiefvader, mijn broer, mijn ooms en neven, heb ik een workshop vol...
Maak een Instructables Robot sleutelhanger!

Maak een Instructables Robot sleutelhanger!

Tijdens mijn laatste dag als een artiest in residentie in Instructables, ik was vastbesloten om wat last-minute-gebruik uit de ontzagwekkende tools die ik had voordat ik te zeggen had beschikbaar vaarwel.  Tijdens mijn verblijf hield ik die toegang h
Maak een Instructable Robot stempel

Maak een Instructable Robot stempel

ik postzegels en andere dingen zoals die te maken. En ik ook graag de Instructables Robot. Dus is hier de stempel van een Instructable Robot!Stap 1: Benodigdheden u nodig:Ambachtelijke schuimLijmSchaarSAP fles dop of iets dergelijksPenNiet getoond ma
Maak een iPad Mini boek met opbergvak

Maak een iPad Mini boek met opbergvak

ik denk dat ik ben oud genoeg om gewoon graag het gevoel van een goed boek in mijn hand.  Maar ik hou van lezen op mijn iPad mini en besloten om een holle boek om het te houden te maken.  Dit project geldt sommige gemeenschappelijke bandzagen vak tec
Pimp je oude Smartphone en maak een Steampunk MP3-speler met Touchscreen

Pimp je oude Smartphone en maak een Steampunk MP3-speler met Touchscreen

HoiWat kunt u doen met uw oude Smartphone? Verkopen, weggooien, zet het in de magnetron? * gg *Nee, we maken een Steampunk MP3-speler met Touchscreen ;)Stap 1: laten we beginnenWe moeten een heleboel dingen van messing, sommige elektronica en fantasi
Maak een aangepaste wasruimte ijdelheid met teruggewonnen hout!

Maak een aangepaste wasruimte ijdelheid met teruggewonnen hout!

DE WEDSTRIJD VAN HET ONTWERP VAN DE GUERRILLA! Als je deze gelieve stemming in de rechter bovenhoek! ***Ik pakte een oude jaren 1970 koffietafel en een bos van afgedankte hout uit de dumpster naast onze winkel (dumpster duiken!!!) en gehackte weg bij
Maak een header voor Twitter met Photoshop

Maak een header voor Twitter met Photoshop

Ooit wilde maken van een banner voor twitter? Vandaag zullen wij leren u hoe maak je een oog springende afbeelding voor je twitter-pagina met behulp van Adobe Photoshop CC.Voor dit project moet u ten minste 1 foto van uw keuze. Het kan zijn kunst, ee
Bouwen van een modulaire Robot Chassis met Actobotics

Bouwen van een modulaire Robot Chassis met Actobotics

Ik hield van mijn vroege kinderjaren robots. De eerste film robots ik herinner me ooit echt wens eerst, waar de drie bots "Stille Running", (nog steeds een van mijn favoriete films!) Die goofy beetje wandelen dozen bereikte een hoogtepunt van mi
Maak een knipperende lichten circuit met een 555 timer en een relais

Maak een knipperende lichten circuit met een 555 timer en een relais

I 'm gonna u hoe maak je een afwisselend pulserende circuit (met behulp van de 555 timer) uitvoeren van een relais.Afhankelijk van het Relais kan u kundig voor stormloop 120vac licht worden.Het doet dat goed met kleine condensator (ik zal later uitle
Maak een Wonder vrouw kostuum met uw kind

Maak een Wonder vrouw kostuum met uw kind

Wonder Woman is de perfecte prinses voor die kleine meisjes die zijn niet wachten rond voor een prins om hen te redden. Deze tutorial helpt u bij het maken van een kostuum met uw ontluikende amazon warrior, maar ook maak ton van herinneringen zo goed
Maak een Instructable Robot kostuum

Maak een Instructable Robot kostuum

dit zal laten zien van mijn instructies op hoe ik werd een Instructable Robot voor Halloween.Stap 1: Verzamel de materialen ik ongeveer 1,5 werven van gele en oranje stof gebruikt om het lichaam te maken.  Ik gebruikte ook rood, grijs en zwart vilt o