Schritt 2: Arduino code
#define CON_MOTOR1 0
#define CON_MOTOR2 0
Motor Shield nutzt vier Pins - 4, 5, 6, 7, um die Motoren zu verwalten
4 und 7 – für die Regie, 5 und 6 — für Geschwindigkeit
#define SPEED_1 5
#define DIR_1 4
#define SPEED_2 6
#define DIR_2 7
Shortcuts für mögliche Roboterbewegungen
#define vorwärts 0
#define rückwärts 1
#define Links 2
#define rechts 3
Variable für Bluetooth-Puffer
Int RX_buff;
/ * * Diese Funktion dient zur Verwaltung von tatsächlichen Bewegungen * /
Go (Int NewDirection, Int Speed) {} void
Boolesche motorDirection_1, motorDirection_2;
Schalter (NewDirection) {}
Fall nach vorne: motorDirection_1 = True; motorDirection_2 = True; zu brechen;
Fall rückwärts: motorDirection_1 = False; motorDirection_2 = False; zu brechen;
Fall von links: motorDirection_1 = True; motorDirection_2 = False; zu brechen;
Fall Recht: motorDirection_1 = False; motorDirection_2 = True; zu brechen;
}
Bei motor Setup Fehler nur ändern Sie die Zahlen
motorDirection_1 = CON_MOTOR1 ^ motorDirection_1;
motorDirection_2 = CON_MOTOR2 ^ motorDirection_2;
Lassen Sie uns bewegen!
AnalogWrite (SPEED_1, Geschwindigkeit);
AnalogWrite (SPEED_2, Geschwindigkeit);
DigitalWrite (DIR_1, motorDirection_1);
DigitalWrite (DIR_2, motorDirection_2);
}
void setup() {}
Serial.Begin(9600);
Sets pins 4, 5, 6, 7, Ausgabemodus
für (Int ich = 4; ich < 8; i ++)
PinMode (ich, OUTPUT);
Delay(5000);
}
void loop() {}
Bluetooth-Daten lesen
RX_buff = Serial.read();
Reaktion auf Bluetooth-Daten
Wenn (RX_buff == 1) {}
gehen (nach vorne, 125);
Delay(1000);
}
Wenn (RX_buff == 2) {}
gehen (links, 80);
Delay(1500);
}
Wenn (RX_buff == 4) {}
gehen (rückwärts, 70);
Delay(1500);
}
Wenn (RX_buff == 3) {}
gehen (rechts, 80);
Delay(1500);
}
Stop, wenn nötig
Wenn (RX_buff == 5 || RX_buff == 0) {}
AnalogWrite (SPEED_1, 0);
AnalogWrite (SPEED_2, 0);
}
}