Stap 6: Arduino schets en mohawk
De mohawk: Neem de 3" in. kwast en crazyglue, giet het bij ongeveer 1 1/4" in. vanaf het einde van het penseel. Geniet van beide zijden (sommige handschoenen dragen) en laat het drogen voor 20 min... Eenmaal gedroogd gesneden 1 1/2" uit het einde van de borstel, neem nu dat stuk en lijm deze op het hoofd met behulp van een pvc-cement of een andere plastic lijm.
Sluit je Arduino naar uw computer downloaden de schets hieronder. Felicitaties hebt finish bouw van de TurtleDuino.
TurtleDuino obstakels vermijden Robot door: RobDavinci
#include < Servo.h > //include Servo bibliotheek
Const int RForward = 0;
Const int RBackward = 180;
Const int LForward = RBackward;
Const int LBackward = RForward;
Const int RNeutral = 90;
Const int LNeutral = 90; constanten voor de motorsnelheid
Const int pingPin = 7;
Const int irPin = 0; Scherpe infraroodsensor pin
Const int dangerThresh = 10; drempel voor obstakels (in cm)
int leftDistance, rightDistance; afstanden aan weerszijden
Servo panMotor;
Servo leftMotor;
Servo rightMotor; verklaren van motoren
lange duur; de tijd het neemt om te ontvangen van PING))) signaal
VOID Setup
{
rightMotor.attach(11);
leftMotor.attach(10);
panMotor.attach(6); motoren koppelen aan de juiste pinnen
panMotor.write(90); set PING))) pan om te centreren
}
void loop
{
int distanceFwd = ping();
Als (distanceFwd > dangerThresh) //if pad is duidelijk
{
leftMotor.write(LForward);
rightMotor.write(RForward); vooruit
}
anders //if pad is geblokkeerd
{
leftMotor.write(LNeutral);
rightMotor.write(RNeutral);
panMotor.write(0);
delay(500);
rightDistance = ping(); scannen naar rechts
delay(500);
panMotor.write(180);
delay(700);
leftDistance = ping(); scannen naar links
delay(500);
panMotor.write(90); terug naar centrum
delay(100);
compareDistance();
}
}
VOID compareDistance()
{
Als (leftDistance > rightDistance) //if links minder wordt belemmerd
{
leftMotor.write(LBackward);
rightMotor.write(RForward); Sla linksaf
delay(2000);
}
anders als (rightDistance > leftDistance) //if recht minder wordt belemmerd
{
leftMotor.write(LForward);
rightMotor.write(RBackward); Sla rechtsaf
delay(2000);
}
anders //if die ze even zijn geblokkeerd
{
leftMotor.write(LForward);
rightMotor.write(RBackward); 180 graden draaien
delay(2000);
}
}
lange ping()
{
Sturen PING))) signaal pulse
pinMode (pingPin, OUTPUT);
digitalWrite (pingPin, laag);
delayMicroseconds(2);
digitalWrite (pingPin, hoge);
delayMicroseconds(5);
digitalWrite (pingPin, laag);
Krijgen van de duur die nodig is om te ontvangen van echo
pinMode (pingPin, INPUT);
duur = pulseIn (pingPin, hoge);
Duur converteren naar afstand
retourneren van duur / 29 / 2;
}
Ik hoop dat dit instructable was leuk om u zoals het was voor mij terwijl de bouw van het. Als u extra moet helpen laat het me weten en ik zal meer dan blij om te helpen u uw robot te bouwen.