Stap 3: Arduino code
int ldir = 2; links richting pin
int lpwm = 5; juiste PWM pin
int rdir = 3; links richting pin
int rpwm = 6; juiste PWM pin
int rs = 255; recht belangrijkste snelheid
int ls = 255; linker belangrijkste snelheid
int rts = 200; rechtsaf snelheid
int lts = 200; linker draai snelheid
#define f digitalWrite (ldir, hoge); analogWrite (lpwm, ls); digitalWrite (rdir, hoge); analogWrite (rpwm, rs); voorwaartse #define b digitalWrite (ldir, laag); analogWrite (lpwm, ls); digitalWrite (rdir, laag); analogWrite (rpwm, rs); achteruit
#define l digitalWrite (ldir, laag); analogWrite (lpwm, lts); digitalWrite (rdir, hoge); analogWrite (rpwm, rts); linker #define r digitalWrite (ldir, hoge); analogWrite (lpwm, lts); digitalWrite (rdir, laag); analogWrite (rpwm, rts); juiste #define s analogWrite (lpwm, 0); analogWrite (rpwm, 0); Stop
#define d delay(50);
int status;
int vlag = 0; zorgt ervoor dat de seriële eenmaal de staat alleen afgedrukt
VOID Setup
{
pinMode (ldir, OUTPUT);
pinMode (lpwm, OUTPUT);
pinMode (rdir, OUTPUT);
pinMode (rpwm, OUTPUT);
Serial.begin(9600); initialiseren van seriële communicatie met 9600 bits per seconde
}
void loop
{
Als een tijdstip wordt verzonden, het leest en bewaart in staat
if(Serial.available() > 0)
{
staat = Serial.read();
vlag = 0;
}
Als (staat 'w' == || staat == 'f')
{
f; d;
if(Flag == 0)
{
Serial.println("Forward");
vlag = 1;
}
}
Als (staat == de ' || staat == 'b')
{
b; d;
if(Flag == 0)
{
Serial.println("reverse");
vlag = 1;
}
}
Als (staat == 'a' || staat == 'r')
{
l; d;
if(Flag == 0)
{
Serial.println("left");
vlag = 1;
}
}
Als (staat == had' || staat == 'l')
{
r; d;
if(Flag == 0)
{
Serial.println("right");
vlag = 1;
}
}
anders
{
s;
if(Flag == 0)
{
Serial.println("");
vlag = 1;
}
}
}