Tryck Rollbot
Detta är min push och rulle robot gjord av ett enda servo, en tilt sensor (VTI SCA610 vinkelgivare accelerometer) och en Arduino Uno. Andra halvan av videon ger några detaljer om hur det fungerar.
Här är Arduino program:
Push rullande robot med enda servo, tilt-sensor och Arduino Uno
av Jim Demello 1/12/2015
#include
Servo myservo2;
int framåt = 1;
int rollCntr = 0;
int val; variabel att läsa värdet från det analoga stiftet
int gyroPin = 5; tiltmeter VTI SCA610 vinkelgivare chip (gyro?)
int gyroVal = 0;
void setup()
{
myservo2.attach(9); bifoga servo pin 9
myservo2.writeMicroseconds(1500); Center servo
Delay(15);
Serial.BEGIN(9600);
Serial.println ("programmet start...");
}
void loop()
{
Val = 90. servo centrerad i 90 grader
gyroVal = analogRead(gyroPin);
gyroVal = karta (gyroVal, 0, 1023, 0, 180); skala den att använda den med servo (värde mellan 0 och 180)
Delay(10);
IF(rollCntr > 4) {om (framåt) {framåt = 0;} / / omvänd riktning
annars framåt = 1;
rollCntr = 0;}
om (fram & & (gyroVal > (val - 5) och gyroVal < (val + 25)))
{myservo2.write(40); delay(500); myservo2.write(90); / / gå framåt
rollCntr = rollCntr + 1.
}
IF (!. Fram & & (gyroVal > (val - 25) och gyroVal < (val + 5)))
{myservo2.write(150); delay(500); myservo2.write(90); / / gå bakåt
rollCntr = rollCntr + 1.
}
Serial.Print ("nivå @:"); Serial.Print(val); Serial.Print ("vinkel:"); Serial.Print(gyroVal);
Serial.Print ("framåt:"); Serial.println(rollCntr);
Delay(40); //