OmniWorm: een Omni-directionele Robot Inchworm (5 / 5 stap)

Stap 5: Programma, vervolgens geniet van uw nieuwe Robot!


/*

Hieronder is het vermijden van belemmering code voor OmniWorm! Voel je vrij om dienovereenkomstig aan te passen.
------------------------------------------------------------------------------------

Wat u ook wilt wijzigen:
------------------------

SERVO CODE: Twee servo's kunnen verschillende richtingen voor elke hoek draaien
verzonden. Daarom, test elke servo apart. Stel hen op de
Max hoek voordat dat aangekoppeld hen om ervoor te zorgen de robot zal Vouw in
een vak en dat de servo's niet zal duwen aparte richtingen. Ook,
u wellicht gebruiken de zesde servo (servoFront2) afhankelijk van de
gewicht van uw ontwerp. Mijne is slechts 3 kg totaal dus ik hoef het: P

Servo's: 313WP servo's gaan van 20 tot 160 graden zonder het bewerken van de
Servo-bibliotheek. 140 graden is goed genoeg voor deze toepassing
Hoewel. Als u verschillende servo's gebruikt, kan je meer of minder dan
140 graden. Als de servo wordt beoordeeld voor 180 graden en je krijgt een
veel minder, gebruik maken van pwm of proberen het veranderen van de min en max pulsewidths
in de bibliotheek van de servo (servo.h). Voor het bewerken van het bestand, downoad Notepad ++

MOTOR CODE: Ik ben met behulp van een half-broken ruige motor coureur uit ruige
schakelingen veroorzaken. De pin labelled EM is vastgesoldeerd aan map2 op het schild als de
normale pin was niet veranderen van richting. Als u van hetzelfde gebruikmaakt
schild, vervolgens wissen EM en voort te zetten! Als u van een h-brug gebruikmaakt,
dan voel je vrij om te pinnen 3, 11-13 te gebruiken of kies uw eigen. Wees voorzichtig
niet te overweldigen het circuit al! Hieronder vindt u links naar tutorials.
De laatste schakel is waar u het schild dat mij ben using kunt kopen!

http://ITP.NYU.edu/physcomp/Labs/DCMotorControl

http://www.ECS.umass.edu/ECE/M5/tutorials/H-Bridge_tutorial.html

http://www.societyofrobots.com/schematics_h-bridgedes.shtml

http://www.ruggedcircuits.com/Motor-Control/Rugged-motor-driver

MOTOREN: Doe uw portemonnee een groot plezier en merknaam niet scheuren
Parallex servo's voor stormloop zoals DC-motoren (tenzij als ze gebroken waren
Als de mijne waren). Als u hen kappen, gewoon schroef de rug,
Trek de drie draden af, plaats de schroeven terug in te houden de
versnellingsbak samen (sommige hotglue kan helpen), en zorgvuldig soldeer een
draad daartoe elke DC motor alleen. Overtollige soldeer misschien stam de setup.
Maar ik zou gewoon kopen gele robot wielen/gearboxs van ebay.
Zoek voor "robot wiel" en zij zal opduiken. Alternativly, gebruik
de 360 graden servos as... Nou... servo's! U kunt toevoegen of
hoeken voor vooruit/achteruit verkeer aftrekken.

FUNCTIES: U moet bewerken van de functies (of spelen met draden)
ertoe brengen om te werken met uw ontwerp. Wat goede oude trial and error
zal verrichten naar de truc!

Een paar woorden van advies:
----------------------

Als u een externe voedingsbron voor uw servo's gebruikt, sluit
de grond aan de arduino is gemalen. Ook wees voorzichtig niet om aan te sluiten
de batterij in backwords of korte het uit... het kan gemakkelijk dodelijk zijn
uw servo's. Bovendien, als u een servo overweldigen kan het sterven. Start
uw servo's af bij lage macht en werk je weg omhoog. Mijn setup is
duwen hetâ €¦ > :)

Ik stel voor dat u vinden (of zorg!) uw eigen h-brug naar contol
uw motoren. Ook sluit de grond aan de arduino. Wees voorzichtig om
niet overmeesteren je setup! Tot slot houdt een het terugstellenfunctie de setup
van de kortsluiting.

Vergeet niet dat u sensoren moet kantelen als je gaat om te stoppen met de kant
wielen verplaatsen bij het opstellen van de huidige!

Voel me niet beperkt tot de pinnen die ik gebruik. Kies uw eigen digitale
pinnen!

Mijn code is overgenomen uit:
------------------------

http://www.ruggedcircuits.com/Rugged-motor-driver

http://Arduino.CC/en/Reference/ServoWrite

http://arduinobasics.blogspot.com/2012/11/arduinobasics-HC-sr04-ultrasonic-sensor.html

*/

#include < Servo.h >
Omvatten van de Servo-bibliotheek, zodat we niet hoeven te gebruiken PWM

Servo servoFront;
Servo servoFront2;
Servo servoTail;
Servo servoTail2;
Servo servoBack;
Servo servoBack2;

Dit bepaalt onze servo namen (servoFront enz.)

Inschakelen (PWM) uitgangen (ruige Shield)
#define EN1_PIN 3
#define EN2_PIN 11

Richting uitgangen (ruige Shield)
#define DIR1_PIN 12
#define DIR2_PIN 13
#define EM 10 //Cause 13 niet willen werken. Ongelukkige nummer! =/

#define echoPin 8 / / Echo Pin (voor ultrasone sensor)
#define trigPin 9 / / Trigger Pin (voor ultrasone sensor)

int maximumRange = 200; Grensdetectiewijdte van nodig (kan veranderen)
int minimumRange = 0; Minimale afstand nodig (kan veranderen)
lange duur, afstand; Zolang zij worden gebruikt voor het berekenen van de afstand

VOID Setup {}

servoFront.attach(6);
servoTail.attach(1);
servoTail2.attach(2);
servoBack.attach(4);
servoBack2.attach(5);

pinMode (EN1_PIN, uitvoer);
digitalWrite (EN1_PIN, laag);
pinMode (EN2_PIN, uitvoer);
digitalWrite (EN2_PIN, laag);
pinMode (DIR1_PIN, uitvoer);
digitalWrite (DIR1_PIN, laag);
pinMode (DIR2_PIN, uitvoer);
digitalWrite (DIR2_PIN, laag);

pinMode (trigPin, OUTPUT);
pinMode (echoPin, INPUT);

Opstelling van de in-/ uitgangen voor motoren/servo's / sensor

closed();
vertraging (1000);

Houdt de robot gevouwen voordat de lus begint.
}

void loop {}
Reset;
delay(50);
closed();
Scan(); meet afstand via Ultrasoon sensor
delay(90);

Als (afstand < = 20 & & afstand > = 0) {//if de afstand is minder dan 15 cm
opened();
delay(1000);
Reset();
delay(50);
spin_right();
opened();
delay(1500);
closed();
delay(1000);
Scan();
delay(800);
Als (afstand < = 15 & & afstand > = 0) {}
opened();
delay(1000);
Reset();
delay(50);
spin_left();
opened();
delay(2200);
}
else {}
Reset();
delay(50);
inch();
inch();
inch();
inch();
inch();
}
}

else {//if de afstand groter is dan 15 cm
Reset();
delay(50);
closed();
vooruit();
delay(1000);
}
}

/*
Hieronder zijn de functies we via onze lus roepen. Het maakt het leven veel
gemakkelijker, aangezien u meerdere spelden en servo's tegelijk kunt!
*/

ongeldig closed() {}
servoFront.write(20);
servoTail.write(20);
servoTail2.write(160);
servoBack.write(20);
servoBack2.write(160);
}

ongeldig opened() {}
servoFront.write(140);
servoTail.write(20);
servoTail2.write(160);
servoBack.write(100);
servoBack2.write(80);
}

ongeldig inch() {}
closed();
delay(1000);
servoTail.write(160);
servoTail2.write(20);
delay(1000);
servoTail.write(160);
servoTail2.write(20);
servoBack.write(160);
servoBack2.write(20);
delay(1000);
servoTail.write(20);
servoTail2.write(160);
servoBack.write(160);
servoBack2.write(20);
delay(1000);
servoFront.write(140);
delay(1000);
}

ongeldig spin_right() {}
digitalWrite (DIR1_PIN, hoge);
analogWrite (EN1_PIN, 255);
digitalWrite (DIR2_PIN, hoge);
analogWrite (EN2_PIN, 255);
digitalWrite (EM, hoge);
}

ongeldig spin_left() {}
digitalWrite (DIR1_PIN, laag);
analogWrite (EN1_PIN, 255);
digitalWrite (DIR2_PIN, hoge);
analogWrite (EN2_PIN, 255);
digitalWrite (EM, laag);
}

ongeldig backward() {}
digitalWrite (DIR1_PIN, hoge);
analogWrite (EN1_PIN, 255);
digitalWrite (DIR2_PIN, laag);
digitalWrite (EM, hoge);
analogWrite (EN2_PIN, 255);
}

ongeldig vooruit() {}
digitalWrite (DIR2_PIN, hoge);
analogWrite (EN2_PIN, 255);
digitalWrite (DIR1_PIN, laag);
analogWrite (EN1_PIN, 255);
digitalWrite (EM, hoge);
}

VOID reset() {}
analogWrite (EN2_PIN, 0);
analogWrite (EN1_PIN, 0);
delay(15);
}

ongeldig scan() {}
digitalWrite (trigPin, laag);
delayMicroseconds(2);

digitalWrite (trigPin, hoge);
delayMicroseconds(10);

digitalWrite (trigPin, laag);
duur = pulseIn (echoPin, hoge);

Berekenen van de afstand (in cm) op basis van de snelheid van het geluid.
afstand = duur/58.2;

delay(50);
}

Gerelateerde Artikelen

Hoe maak je een bal Balancing Robot

Hoe maak je een bal Balancing Robot

vorig jaar, ik heb deze bal balancing robot. Het kan door het systeem van het saldo van zichzelf op een bal stabiel staan.Er is slechts één verbinding punt tussen de robot en de grond, dus het is flexibeler dan de traditionele wielen robot. Het kunt
Robo-Mobile - een zelfgemaakte Bluetooth-Robot

Robo-Mobile - een zelfgemaakte Bluetooth-Robot

AchtergrondDeze robot is een die ik heb gebouwd om te leren. Voordat dit project kreeg ik mijn voeten nat met een paar kleine schaal Arduino projecten zoals een ultrasone robot, (die zou gaan naar achteren totdat het was een bepaalde afstand van de m
DIY Omni wielen robot

DIY Omni wielen robot

Onlangs heb ik deze omni wielen robot, die op de grond agilely bewegen kan ontworpen. Dit idee werd geïnspireerd door een elektronische afval kan één of twee jaar geleden gemaakt door een Japanse kerel, die in de video is het gooien van afvalpapier a
Hoe maak je een zeer eenvoudige robot

Hoe maak je een zeer eenvoudige robot

dit is mijn 1e instructable, dus vertel me als het goed is.zo im die gaat tonen hoe te om een zeer eenvoudige robot te maken: de kever robot!het gebruikt geen chip, geen programation, alleen de eenvoudige 3e verbindingStap 1: Haal alle materialen nod
Hoe het bouwen van een eenvoudige bewegende robot(beginners)

Hoe het bouwen van een eenvoudige bewegende robot(beginners)

Een zeer eenvoudige robot met zeer fundamentele onderdelen die worden gebruikt die uw belangen in robotica zou ontbranden. Geniet van het maken!Stap 1: Hulpprogramma's en onderdelen Laten we beginnen met het verzamelen is alle onderdelen. U kunt stap
Opnieuw een koele oude Robot

Opnieuw een koele oude Robot

Voldoen aan Arlan, een leuke robot met een heleboel van de persoonlijkheid. Hij woont in mijn zus haar klas (ze is een 5e rang wetenschap leraar). Ik herbouwd hem tot de mascotte voor haar klasse robotica team, hij is ook de helper van de klas. De ki
Lucht spieren: Maak een kunstmatige spier Robot Controller

Lucht spieren: Maak een kunstmatige spier Robot Controller

hier zijn twee manieren om een controller die artificiële lucht spieren kunt bepalen. De intro foto toont de meer uitgebreide versie die maximaal 11 lucht spieren met behulp van de robot neuronen kunt beheren. Het blijkt dat het activeren van een luc
De Crawli - een eenvoudige zachte Robot lopen

De Crawli - een eenvoudige zachte Robot lopen

Zachte Robotics is een jonge veld van robotica die blijven groeien elke dag. Veel zachte robotica projecten in de Gemeenschap zijn echter eenvoudige actuatoren of zachte sensoren, niet volledig zacht robots. Dit is de Crawli. Het is een kruipende zac
Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

Maak een Web aangesloten Robot (voor ongeveer $500) (met behulp van een Arduino en Netbook)

dit Instructable zal u tonen hoe te bouwen van uw eigen Web aangesloten Robot (met behulp van een Arduino micro-controller en de Asus eee pc).Waarom zou u een Web aangesloten Robot willen? Om mee te spelen natuurlijk. Rijd uw robot van hele kamer of
Maak een 3R (verminderen, hergebruiken, recyclen) campagne voor uw kantoor (met een R/C robot en junkbots)

Maak een 3R (verminderen, hergebruiken, recyclen) campagne voor uw kantoor (met een R/C robot en junkbots)

ten minste in Colombia, wanneer u in een bedrijf werkt, u altijd zien de zelfde soort milieu campagnes: Gooi geen afval op de grond, gooien het afval naar de prullenmand kunt, scheiden van het afval voor verwijdering, afdrukken het papier op beide zi
Bouwen van een eenvoudige starter robot van LEGO

Bouwen van een eenvoudige starter robot van LEGO

dit is NOTCH, een eenvoudige robot van LEGO met vele koppelingseisen punten voor het aansluiten van meer motoren en sensoren. Inkeping is ook werken met LEGO EV3 en met LEGO NXT 1.0, NXT 2.0 NXT EDUCATION edition, LEGO EV3 woonplaats uitgave en EV3 E
Hobbelig, een Mini Tweebenig robot

Hobbelig, een Mini Tweebenig robot

lange tijd geleden, ik wilde het bouwen van een multi servo robot, zoals een membraan of een hexapod hexapod. Na het zien van de OddBot Mini Tweebenig robot, wilde ik bouwen gewoon voor de lol totdat ik veroorloven kon om het aantal servo's nodig voo
Bouwen van een zeer kleine Robot: Maak de wereld de kleinste Robot met een grijper wielen.

Bouwen van een zeer kleine Robot: Maak de wereld de kleinste Robot met een grijper wielen.

Bouwen van een robot 1/20 kubieke inch met een grijper die kan oppakken en verplaatsen van kleine objecten. Het wordt beheerd door een Picaxe microcontroller. Op dit punt in de tijd, ik denk dat dit kan robot van de wereld kleinste op wielen met een
Hoe maak je een Mini Bug Robot?

Hoe maak je een Mini Bug Robot?

https://www.YouTube.com/watch?v=bpISq6RRdMk&feature=Youtu.beStap 1: Om te doen een mini bug robot moet u!!! In de huidige video laat ik je zien een interessant idee over hoe maak je een bug robot!Vooral met behulp van alleen oude details, bijvoorbeel