Stap 4: Arduino code
int motor1Pin2 = 4; pin 7 op L293D IC
int enable1Pin = 6; pin 1 op L293D IC
int motor2Pin1 = 8; pin 10 op L293D IC
int motor2Pin2 = 9; pin 15 op L293D IC
int enable2Pin = 11; pin 9 op L293D IC
int status;
int vlag = 0; zorgt ervoor dat de seriële eenmaal de staat alleen afgedrukt
int stateStop = 0;
VOID Setup {}
Hiermee stelt u de pinnen als uitgang:
pinMode (motor1Pin1, OUTPUT);
pinMode (motor1Pin2, OUTPUT);
pinMode (enable1Pin, OUTPUT);
pinMode (motor2Pin1, OUTPUT);
pinMode (motor2Pin2, OUTPUT);
pinMode (enable2Pin, OUTPUT);
enable1Pin en enable2Pin hoge wordt zo ingesteld dat motor kunt inschakelen:
digitalWrite (enable1Pin, hoge);
digitalWrite (enable2Pin, hoge);
Initialiseer seriële communicatie met 9600 bits per seconde:
Serial.begin(9600);
}
void loop {}
Als een tijdstip wordt verzonden, het leest en bewaart in staat
if(Serial.available() > 0) {}
staat = Serial.read();
vlag = 0;
}
Indien de staat is '1' zal de gelijkstroommotor doorgaan
Als (staat == '1') {}
digitalWrite (motor1Pin1, hoge);
digitalWrite (motor1Pin2, laag);
digitalWrite (motor2Pin1, laag);
digitalWrite (motor2Pin2, hoge);
if(Flag == 0) {}
Serial.println ("Ga voorwaarts!");
vlag = 1;
}
}
Als de status '2' zal de motor linksaf
anders als (staat == '2') {}
digitalWrite (motor1Pin1, hoge);
digitalWrite (motor1Pin2, laag);
digitalWrite (motor2Pin1, laag);
digitalWrite (motor2Pin2, laag);
if(Flag == 0) {}
Serial.println ("links afslaan");
vlag = 1;
}
delay(1500);
staat = 3;
stateStop = 1;
}
Als de status '3' stopt de motor
anders als (staat '3' == || stateStop == 1) {}
digitalWrite (motor1Pin1, laag);
digitalWrite (motor1Pin2, laag);
digitalWrite (motor2Pin1, laag);
digitalWrite (motor2Pin2, laag);
if(Flag == 0) {}
Serial.println("Stop!");
vlag = 1;
}
stateStop = 0;
}
Als de status '4' zal de motor rechtsaf
anders als (staat == '4') {}
digitalWrite (motor1Pin1, laag);
digitalWrite (motor1Pin2, laag);
digitalWrite (motor2Pin1, laag);
digitalWrite (motor2Pin2, hoge);
if(Flag == 0) {}
Serial.println ("rechtsaf");
vlag = 1;
}
delay(1500);
staat = 3;
stateStop = 1;
}
Als de status '5' zal de motor omkeren
anders als (staat == '5') {}
digitalWrite (motor1Pin1, laag);
digitalWrite (motor1Pin2, hoge);
digitalWrite (motor2Pin1, hoge);
digitalWrite (motor2Pin2, laag);
if(Flag == 0) {}
Serial.println("reverse!");
vlag = 1;
}
}
Voor het debuggen van doel
Serial.println(State);
}