Android App kontrollerade ATR (alla terrrain racer) (3 / 8 steg)
Steg 3: Arduino kod
int ldir = 2; vänster riktning pin
int lpwm = 5; rätt PWM stift
int rdir = 3; vänster riktning pin
int rpwm = 6; rätt PWM stift
int rs = 255; mitt huvudsakliga hastighet
int ls = 255; vänster huvudsakliga hastighet
int rts = 200. högersväng hastighet
int lts = 200. vänstersväng hastighet
#define f digitalWrite (ldir, hög); analogWrite (lpwm, ls); digitalWrite (rdir, hög); analogWrite (rpwm, rs); vidarebefordra #define b digitalWrite (ldir, låg); analogWrite (lpwm, ls); digitalWrite (rdir, låg); analogWrite (rpwm, rs); bakåt
#define l digitalWrite (ldir, låg); analogWrite (lpwm, lts); digitalWrite (rdir, hög); analogWrite (rpwm, rts); vänstra #define r digitalWrite (ldir, hög); analogWrite (lpwm, lts); digitalWrite (rdir, låg); analogWrite (rpwm, rts); rätt #define s analogWrite (lpwm, 0); analogWrite (rpwm, 0); Stanna
#define d delay(50);
int staten.
int flagga = 0; ser till att följetongen skrivs bara en gång staten
void setup()
{
pinMode (ldir, produktionen);
pinMode (lpwm, produktionen);
pinMode (rdir, produktionen);
pinMode (rpwm, produktionen);
Serial.BEGIN(9600); initiera seriell kommunikation på 9600 bitar per sekund
}
void loop()
{
om några datum skickas, läser den och sparar i staten
IF(Serial.available() > 0)
{
State = Serial.read();
flagga = 0;
}
om (statligt == 'w' || staten == "f")
{
f; d;
IF(Flag == 0)
{
Serial.println("forward");
Flagga = 1;
}
}
om (statligt == 's' || staten == "b")
{
b; d;
IF(Flag == 0)
{
Serial.println("reverse");
Flagga = 1;
}
}
om (statligt == 'a' || staten == "r")
{
l; d;
IF(Flag == 0)
{
Serial.println("left");
Flagga = 1;
}
}
om (statligt == hade ' || staten == 'l')
{
r; d;
IF(Flag == 0)
{
Serial.println("Right");
Flagga = 1;
}
}
annat
{
s;
IF(Flag == 0)
{
Serial.println("");
Flagga = 1;
}
}
}