Stap 2: Arduino code
#define CON_MOTOR1 0
#define CON_MOTOR2 0
Motor shield gebruik vier pins - 4, 5, 6, 7 voor het beheren van de motoren
4 en 7 — voor richting, 5 en 6 — voor snelheid
#define SPEED_1 5
#define DIR_1 4
#define SPEED_2 6
#define DIR_2 7
Snelkoppelingen voor mogelijke robot bewegingen
#define FORWARD 0
#define NEERWAARTS 1
#define links 2
#define recht 3
Variabele voor bluetooth buffer
int RX_buff;
/ * * Deze functie wordt gebruikt voor het beheren van werkelijke bewegingen * /
VOID go (int newDirection, int snelheid) {}
Boolean motorDirection_1, motorDirection_2;
schakelaar (newDirection) {}
kast naar voren: motorDirection_1 = true; motorDirection_2 = true; breken;
geval van achterwaarts: motorDirection_1 = false; motorDirection_2 = false; breken;
kast links: motorDirection_1 = true; motorDirection_2 = false; breken;
kast rechts: motorDirection_1 = false; motorDirection_2 = true; breken;
}
In het geval van motor set-up fouten alleen de nummers wijzigen
motorDirection_1 = CON_MOTOR1 ^ motorDirection_1;
motorDirection_2 = CON_MOTOR2 ^ motorDirection_2;
Laten we verder gaan!
analogWrite (SPEED_1, snelheid);
analogWrite (SPEED_2, snelheid);
digitalWrite (DIR_1, motorDirection_1);
digitalWrite (DIR_2, motorDirection_2);
}
VOID Setup {}
Serial.begin(9600);
Sets pins 4, 5, 6, 7 naar de uitvoermodus
for (int i = 4; ik < 8; i ++)
pinMode (ik, OUTPUT);
delay(5000);
}
void loop {}
Bluetooth-gegevens lezen
RX_buff = Serial.read();
Reageren op bluetooth-gegevens
Als (RX_buff == 1) {}
Go (vooruit, 125);
delay(1000);
}
Als (RX_buff == 2) {}
gaan (links, 80);
delay(1500);
}
Als (RX_buff == 4) {}
gaan (BACKWARD, 70);
delay(1500);
}
Als (RX_buff == 3) {}
gaan (rechts, 80);
delay(1500);
}
Stop, indien nodig
Als (RX_buff == 5 || RX_buff == 0) {}
analogWrite (SPEED_1, 0);
analogWrite (SPEED_2, 0);
}
}