Stap 6: Programmeren van de Arduino
int M1_A = 4; variabele voor roterende Armor Motor
int M1_B = 5; variabele voor roterende Armor Motor
int M2_A = 8; variabele voor links aandrijving motoren
int M2_B = 9; variabele voor links aandrijving motoren
int M3_A = 10; variabele voor recht aandrijving motoren
int M3_B = 11; variabele voor recht aandrijving motoren
variabele seriële gegevens op te slaan
int incomingByte = 0;
VOID Setup
{
Begin seriële monitor 9600 bps
Serial.begin(9600); Wijzig deze waarde afhankelijk van de baud-rate van uw bluetooth-module
pinMode (M1_A, uitvoer);
pinMode (M1_B, uitvoer);
pinMode (M2_A, uitvoer);
pinMode (M2_B, uitvoer);
pinMode (M3_A, uitvoer);
pinMode (M3_B, uitvoer);
motoren standaard uitschakelen
M1_stop();
M2_stop();
M3_stop();
delay(500);
}
////////////////////////////////////
void loop
{
Als (Serial.available() > 0)
{
Lees de binnenkomende byte:
incomingByte = Serial.read();
vertraging van 25 milliseconden zodat seriële bijwerkingsfrequentie
delay(25);
Als (incomingByte == 32) / / als byte gelijk spatiebalk is, stoppen.
{
Serial.println("Stop");
M2_stop();
M3_stop();
delay(25);
}
Als (incomingByte == 67) //if binnenkomende byte van Android telefoon is gelijk aan "C", halt toe te roepen.
{
Serial.println("Stop");
M2_stop();
M3_stop();
delay(25);
}
Als (incomingByte == 99) / / als byte gelijk is aan "c", draai de Rotor
{
M1_Clock();
delay(25);
}
Als (incomingByte == 101) //if binnenkomende byte van Android telefoon is gelijk aan "e", draai de Rotor
{
M1_Clock();
delay(25);
}
Als (incomingByte == 118) / / als byte gelijk is aan "v", draai de Rotor anti-
{
M1_AntClock();
delay(25);
}
Als (incomingByte == 102) //if binnenkomende byte van Android telefoon is gelijk aan "f", draai de Rotor linksom
{
M1_AntClock();
delay(25);
}
Als (incomingByte == 120) / / als byte gelijk is aan "x", Stop Rotor draait
{
M1_stop();
delay(25);
}
Als (incomingByte == 103) //if binnenkomende byte van Android telefoon is gelijk aan "g", het stoppen van de Rotor draait
{
M1_stop();
delay(25);
}
als byte gelijk is aan "w", gaan
else if (incomingByte == 119)
{
Serial.println("Forward");
M2_forward();
M3_forward();
delay(25);
}
else if (incomingByte == 85) / / als binnenkomende byte van Android telefoon gelijk is aan 'U', vooruit
{
Serial.println("Forward");
M2_forward();
M3_forward();
delay(25);
}
als byte is gelijk aan "a", linksaf
else if (incomingByte == 97)
{
Serial.println("left");
M2_reverse();
M3_forward();
delay(25);
}
Als inkomende byte van Android telefoon is gelijk aan "L", linksaf
else if (incomingByte == 76)
{
Serial.println("left");
M2_reverse();
M3_forward();
delay(25);
}
als byte gelijk is aan "d", ga rechts
else if (incomingByte == 100)
{
Serial.println("right");
M2_forward();
M3_reverse();
delay(25);
}
Als inkomende byte van Android telefoon is gelijk aan "R", ga rechts
else if (incomingByte == 82)
{
Serial.println("right");
M2_forward();
M3_reverse();
delay(25);
}
als byte gelijk is aan "s", gaat u omgekeerde
else if (incomingByte == 115)
{
Serial.println("reverse");
M2_reverse();
M3_reverse();
delay(25);
}
Als inkomende byte van Android telefoon is gelijk aan "D", gaat u omgekeerde
else if (incomingByte == 68)
{
Serial.println("reverse");
M2_reverse();
M3_reverse();
delay(25);
}
anders
{
Serial.println("Stop");
M2_stop();
M3_stop();
delay(25);
}
}
}
VOID M1_Clock()
{
digitalWrite (M1_B, laag);
digitalWrite (M1_A, hoge);
}
VOID M1_AntClock()
{
digitalWrite (M1_A, laag);
digitalWrite (M1_B, hoge);
}
VOID M2_forward()
{
digitalWrite (M2_A, hoge);
digitalWrite (M2_B, laag);
}
VOID M2_reverse()
{
digitalWrite (M2_A, laag);
digitalWrite (M2_B, hoge);
}
VOID M3_forward()
{
digitalWrite (M3_A, hoge);
digitalWrite (M3_B, laag);
}
VOID M3_reverse()
{
digitalWrite (M3_A, laag);
digitalWrite (M3_B, hoge);
}
VOID M1_stop()
{
digitalWrite (M1_B, laag);
digitalWrite (M1_A, laag);
}
VOID M2_stop()
{
digitalWrite (M2_B, laag);
digitalWrite (M2_A, laag);
}
VOID M3_stop()
{
digitalWrite (M3_B, laag);
digitalWrite (M3_A, laag);
}