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; } } }