Machen einen kriechenden Roboter Zombie mit abgetrennten Beinen (18 / 22 schritt)

Schritt 18: Code: Planung


Bewegung in Servo-Positionen zu übersetzen

Es ist leicht zu beschreiben, wie die Arme bewegen sich um die Zombot bewegen machen müssen nach vorne, aber wie wir das in Servo Bewegungen umwandeln?

Zunächst können Sie beschreiben, wie wir uns bewegen würden, dass vorwärts wenn wir auf dem Boden lagen und nur konnte unsere Arme zu benutzen.

  1. Arm aus dem Boden zu erhöhen
  2. Erweitern Sie Arm so weit vorne wie möglich
  3. Unteren arm und schnappen Sie sich den Boden
  4. Ziehen Sie uns nach vorn (Pull Arm zurück)

Wir konnten dies mit beiden Armen (wie Schwimmen Schmetterling) synchronisiert oder mit anderen Armen (wie Crawl Schwimmen) tun.

Ich werde daran arbeiten, das Beispiel mit der Crawl-Option, können Sie leicht das gleiche Verfahren zur Generateother Bewegungsmuster.

Den linken ArmRechter Arm
Aufgewachsen, zog zurückGesenkt, verlängert sich nach vorne
Angehoben, nach vorne verlängertSenkte, zog sich zurück
Gesenkt, verlängert sich nach vorneAufgewachsen, zog zurück
Wieder nach unten gezogenAngehoben, nach vorne verlängert

Der logischste Weg, was, dem ich denken konnte dies in Code implementiert, war, eine Reihe von "Frames" enthielt die Position der Servos zu einem bestimmten Zeitpunkt zu definieren. Durchlaufen die Frames mit einer bestimmten Rate geben uns eine Bewegung Animation.

Ich überlege hier Erhöhung/Erweiterung als "Maximum" und als "Minimum" Senkung/einfahren.

FrameLinke SchulterEllenbogen linksRechte SchulterRechten Ellbogen
1MaxMinMinMax
2MaxMaxMinMin
3MinMaxMaxMin
4MinMinMaxMax

Servo-Grenzen zu bestimmen

Bevor Sie schreiben Code, um unsere Phantasie neue Frame-by-Frame-Animation verwenden können, müssen wir die minimale und maximale für jedes Servo zu bestimmen. Es gibt zwei wichtige Faktoren zu berücksichtigen

  • Gäbe es eine körperliche Behinderung. Wenn Ihre mechanische Montage nicht ist Ihre Servo möglich, soweit Ihre Softwareanfragen zu machen kann das Servo beschädigt werden.
  • Wir müssen "min" und "max" in Millisekunden zu übersetzen, und diese sind gegenüber auf beiden Seiten des Körpers. Zum Beispiel: die Schulter-Servo (Blick von vorne) auf der rechten Seite drehen im Uhrzeigersinn, um den Arm zu heben muss, aber auf der linken Seite im Uhrzeigersinn senken Sie den Arm.

Ich schrieb das folgende kleine Stück Code, um die Bewegungsfreiheit eines Servos festzustellen. Einfach laden Sie sie auf Ihrem Arduino und schließen Sie einen Servo an die angegebene Pin (Pin 3 im Beispiel).

  • Verwenden Sie einen seriellen Anschluss (Ich bevorzuge Kitt) Verbindung mit dem Arduino (9600 Baud).
  • Taste "Q" das Servo an min (1000 Mikrosekunden) senden
  • Taste "w", um das Servo zu zentrieren
  • Taste "e", das Servo (2000 Mikrosekunden) Max senden
  • Verwendung ' o ' und 'p' Incrememnt oder Dekrement der aktuellen Position von 5 Mikrosekunden
  • Notieren Sie sich wie viele Mikrosekunden zurückgezogen/gesenkt entsprechen
  • Notieren Sie sich wie viele Mikrosekunden erweitert/angehoben entsprechen

Sobald Sie festgestellt haben, wie viele Mikrosekunden entsprechen zurückgezogen/gesenkt und erweitert/erhöht, gehen Sie genauso für alle anderen Servos.

 // 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); } 

In Verbindung stehende Artikel

Tamiya-Kits für Roboter Hack & machen einen einfachen Roboter!

Tamiya-Kits für Roboter Hack & machen einen einfachen Roboter!

Wenn Sie wie ich sind, Sie wurden gelegentlich zu Hobby Läden und Sie sehen, dieses und jenes, aber nie wirklich etwas kaufen.  Ich sorge mich um Geld für etwas, was ich nicht nutzen kann und ehrlich gesagt einige von dem Hobby-Zeug ist teuer!  Eine
Machen einen hölzernen Stift mit einem Namen auf es

Machen einen hölzernen Stift mit einem Namen auf es

In diesem Tutorial erfahren Sie, wie Sie einen hölzernen Stift auf einer Drehbank und passen Sie es mit einem Holzofen Werkzeug. Diesen Prozess können Sie erstellen Sie personalisierte Kugelschreiber mit Namen, Daten oder Nachrichten eingraviert. Die
Machen einen Instructable Roboter-Stempel

Machen einen Instructable Roboter-Stempel

ich mag machen, Briefmarken und andere Dinge. Und ich mag auch die Instructables-Roboter. Hier ist also ein Instructable Roboter-Stempel!Schritt 1: Was Sie brauchen Benötigen Sie:MoosgummiKleberSchereSaft-Flasche oder ähnlichesStiftNicht gezeigt, abe
Machen einen Spielzeug-Roboter-Bausatz

Machen einen Spielzeug-Roboter-Bausatz

Regentag Spielzeug für Kinder. Schnipp, Einwegkameras mit Zinn-Scheren, Scheren, Drahtschneider, Nagel Trimmer. Alte Kameras sind frei für die Frage an Foto-Shops. Runden Sie scharfe Ecken, Schutzbrille tragen während des Schneidens - glauben Sie mir
Machen Sie eine Roboter-Lampe (mit ausrangierten Lautsprecher und einem Sieb)

Machen Sie eine Roboter-Lampe (mit ausrangierten Lautsprecher und einem Sieb)

Dies ist mein erstes Projekt als Artist in Residence auf Instructables. Ich bin nur entdecken, wie man Dinge in dieser Stadt finden, so dass ich anfing zu arbeiten mit eine kleine Schachtel mit e-Müll von Instructables Mitarbeitern gehalten. Vielen D
Machen einen portable Barcode-Scanner mit einem Arduino und ein Cuecat

Machen einen portable Barcode-Scanner mit einem Arduino und ein Cuecat

um die Wende des Jahrhunderts, gab es ein Unternehmen, deren Geschäftsmodell inklusive verlost Kostenlose Barcode-Scanner , die Tastaturen zu emulieren.    Eine relativ einfache mod, diese Cuecat Scanner entfernt die Verschlüsselung und machte sie zu
Machen einen angeschlossenen Würfel mit TimeSquAir

Machen einen angeschlossenen Würfel mit TimeSquAir

Verwenden Sie einen NFC-Tag, um einen Würfel zu startenSchritt 1: Holen Sie sich Bilder eines Würfels: Schritt 2: Gehen Sie auf Knoten-rot: Fügen Sie zunächst erstellen Sie einen neuen Arbeitsbereich, dann den Knoten «Go» zu beginnen. Fügen Sie eine
Machen einen Stop-Motion-Stummfilm mit Powerpoint

Machen einen Stop-Motion-Stummfilm mit Powerpoint

ESL Level: Low-MidDiese instructable ist für meine chinesischen ESL Low-Mid englische Schule Mittelschicht gemacht.Es ist der letzte Teil eines Projekts der 4 Teil:(1) erstellen einen Dialog zwischen zwei Personen zu einem Thema der Lehrer hat sich e
Machen einen einfachen Lasercut-Box mit einem unterstützenden Boden

Machen einen einfachen Lasercut-Box mit einem unterstützenden Boden

ich war müde von der Arbeit mit meinem unordentlichen Schreibtisch-Schublade, also nach der Arbeit mit einem Laser-Cutter für ein paar Wochen habe ich beschlossen, um das Problem zu lösen, indem man eine ordentlich Aufbewahrungsbox, die alles einen P
Machen einen IoT-Cloud-Dienst mit ARM Mbed Plattform und IBM Bluemix

Machen einen IoT-Cloud-Dienst mit ARM Mbed Plattform und IBM Bluemix

IoT-Cloud-Plattform gibt Ihnen die Werkzeuge, um Verbindungen zu skalieren, sammeln Daten und bieten zuverlässige Kunden Erfahrungen, die Hardware-Geräte erfordern. IBM Bluemix hat einen Service, der seinen Katalog zum Herstellen der IBM IoT Cloud ge
Machen einen schönen Kreisel mit norwegischen Kronen.

Machen einen schönen Kreisel mit norwegischen Kronen.

Ich fühle mich reich, weil ich mein eigenes Spielzeug machen kann.Machen Sie es, kaufen Sie nicht nur!Schritt 1: Das sind alles was Sie brauchen:- Das sind alles was Sie brauchen:-(1) eine norwegische 1 Krone oder eine Münze mit einem Loch(2) eine ve
Machen einen hausgemachte Luftgewehr-Trigger mit Metall Kugelhahn und Gummibänder (DIY-Idee)

Machen einen hausgemachte Luftgewehr-Trigger mit Metall Kugelhahn und Gummibänder (DIY-Idee)

Die Schritte sind in dem Video ***Erklärung des Mechanismus (Grundsatz der Mechanik)>> Der Trigger verwendet Kraftmoment. Kraft, Kugelhahn drehen wird durch Spannung aus Kautschuk geliefert.>>der senkrechte Abstand ist jedoch Null. So Moment g
Machen einen hypnotischen Datenträger mit einem Arduino und kleine DC motor.

Machen einen hypnotischen Datenträger mit einem Arduino und kleine DC motor.

Meine Aufmerksamkeit wurde durch einen alten Film sah ich vor kurzem angehoben. Es zeigte sich eine rotierende Spirale-Festplatten, die Menschen in eine hypnotische Trance zu versetzen. Also beschloss ich, einen zu bauen. Natürlich hat meine "hypnoti
Machen Sie einen selbstausgleichende Roboter mit Arduino UNO

Machen Sie einen selbstausgleichende Roboter mit Arduino UNO

Self balancing Roboter ist sehr interessant. Viele Freunde um uns herum versuchten zu machen ein, aber sie bemerkten viele Chanllenges einschließlich des Mangels an die einfache Montage-Strukturen, die geeigneten elektronischen Schaltungen und Progra