int motorPin1 = 8;
int motorPin2 = 10;
int enablePin = 5;
int state;
int flag=0; //makes sure that the serial only prints once the state
void setup() {
// sets the pins as outputs:
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(enablePin, OUTPUT);
// sets enablePin high so that motor can turn on:
digitalWrite(enablePin, HIGH);
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
void loop() {
//if some date is sent, reads it and saves in state
if(Serial.available() > 0){
state = Serial.read();
flag=0;
}
// if the state is '0' the DC motor will turn off
if (state == '0') {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);
if(flag == 0){
Serial.println("Motor: off");
flag=1;
}
}
// if the state is '1' the motor will turn right
else if (state == '1') {
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);
if(flag == 0){
Serial.println("Motor: right");
flag=1;
}
}
// if the state is '2' the motor will turn left
else if (state == '2') {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);
if(flag == 0){
Serial.println("Motor: left");
flag=1;
}
}
else if (state == '3') {
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, HIGH);
if(flag == 0){
Serial.println("Motor: both");
flag=1;
}
}
}
Comments