Fartyget kontrolleras av bluetooth. (4 / 6 steg)
Steg 4: Arduino kod
int motor1Pin2 = 4; stift 7 på L293D IC
int enable1Pin = 6; stift 1 på L293D IC
int motor2Pin1 = 8; stift 10 på L293D IC
int motor2Pin2 = 9; stift 15 på L293D IC
int enable2Pin = 11; stift 9 på L293D IC
int staten.
int flagga = 0; ser till att följetongen skrivs bara en gång staten
int stateStop = 0;
void setup() {
ställer in stiften som resultat:
pinMode (motor1Pin1, produktionen);
pinMode (motor1Pin2, produktionen);
pinMode (enable1Pin, produktionen);
pinMode (motor2Pin1, produktionen);
pinMode (motor2Pin2, produktionen);
pinMode (enable2Pin, produktionen);
anger enable1Pin och enable2Pin höga så att motorn kan aktivera:
digitalWrite (enable1Pin, hög);
digitalWrite (enable2Pin, hög);
initiera seriell kommunikation på 9600 bitar per sekund:
Serial.BEGIN(9600);
}
void loop() {
om några datum skickas, läser den och sparar i staten
IF(Serial.available() > 0) {
State = Serial.read();
flagga = 0;
}
om staten '1' att DC-motor gå framåt
om (statligt == '1') {
digitalWrite (motor1Pin1, hög);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, hög);
IF(Flag == 0) {
Serial.println ("gå framåt!");
Flagga = 1;
}
}
om staten '2' att motorn gå vänster
annars om (statligt == '2') {
digitalWrite (motor1Pin1, hög);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, låg);
IF(Flag == 0) {
Serial.println ("sväng vänster");
Flagga = 1;
}
Delay(1500);
State = 3;
stateStop = 1;
}
om staten är '3' stoppas motorn
annars om (statligt == '3' || stateStop == 1) {
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, låg);
IF(Flag == 0) {
Serial.println("stop!");
Flagga = 1;
}
stateStop = 0;
}
om staten "4" att motorn gå rätt
annars om (statligt == '4') {
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, hög);
IF(Flag == 0) {
Serial.println ("sväng höger");
Flagga = 1;
}
Delay(1500);
State = 3;
stateStop = 1;
}
om staten är "5" att motorn omvända
annars om (statligt == "5") {
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, hög);
digitalWrite (motor2Pin1, hög);
digitalWrite (motor2Pin2, låg);
IF(Flag == 0) {
Serial.println("reverse!");
Flagga = 1;
}
}
För felsökning syfte
Serial.println(State);
}