char blueToothVal; //value sent over via bluetooth int speedIncreaseM1 = 0; int speedIncreaseM2 = 0; const int ledBack1 = 13; const int ledBack2 = 2; const int ledFront1 = 12; const int ledFront2 = A3; const int rev = A2; const int enableM1 = 11; const int input1M1 = 10; const int input2M1 = 9; const int enableM2 = 3; const int input1M2 = 5; const int input2M2 = 6; void setup() { Serial.begin(9600); pinMode(input1M1, OUTPUT); pinMode(input2M1, OUTPUT); pinMode(input1M2, OUTPUT); pinMode(input2M2, OUTPUT); pinMode(enableM1, OUTPUT); pinMode(enableM2, OUTPUT); pinMode(ledBack1, OUTPUT); pinMode(ledBack2, OUTPUT); pinMode(ledFront1, OUTPUT); pinMode(ledFront2, OUTPUT); pinMode(rev, OUTPUT); // pull the enable pin LOW to start digitalWrite(enableM1, HIGH); digitalWrite(enableM2, HIGH); digitalWrite(ledBack1, LOW); digitalWrite(ledBack2, LOW); digitalWrite(ledFront1, LOW); digitalWrite(ledFront2, LOW); digitalWrite(rev, LOW); // put your setup code here, to run once: } void loop() { findBluVal(); speedIncreaseM1 = 51; speedIncreaseM2 = 51; if(blueToothVal=='a') { goForward(); } else if(blueToothVal=='b') { goBackward(); } else if(blueToothVal=='d') { goLeft(); } else if(blueToothVal=='e') { goRight(); } else if(blueToothVal=='c') { turnOff(); } /* put your main code here, to run repeatedly: digitalWrite(enableM1, HIGH); digitalWrite(enableM2, HIGH); delay(1000); digitalWrite(input1M1, HIGH); digitalWrite(input2M1, LOW); digitalWrite(input1M2, HIGH); digitalWrite(input2M2, LOW); delay(1000); digitalWrite(input1M1, LOW); digitalWrite(input2M1, HIGH); digitalWrite(input1M2, LOW); digitalWrite(input2M2, HIGH); delay(1000); digitalWrite(input1M1, LOW); digitalWrite(input2M1, LOW); digitalWrite(input1M2, LOW); digitalWrite(input2M2, LOW);*/ } void goForward() { speedIncreaseM1 = speedIncreaseM1+51; speedIncreaseM2 = speedIncreaseM2+51; digitalWrite(enableM1, speedIncreaseM1); digitalWrite(enableM2, speedIncreaseM2); digitalWrite(input1M1, HIGH); digitalWrite(input2M1, LOW); digitalWrite(input1M2, HIGH); digitalWrite(input2M2, LOW); analogWrite(enableM1,255); analogWrite(enableM2,255); digitalWrite(ledBack1, HIGH); digitalWrite(ledBack2, HIGH); digitalWrite(ledFront1, LOW); digitalWrite(ledFront2, LOW); digitalWrite(rev, HIGH); tone(rev, 1000,4000000); } void goBackward() { speedIncreaseM1 = speedIncreaseM1+51; speedIncreaseM2 = speedIncreaseM2+51; digitalWrite(enableM1, speedIncreaseM1); digitalWrite(enableM2, speedIncreaseM2); digitalWrite(rev, LOW); tone(rev,0,1); digitalWrite(input1M1, LOW); digitalWrite(input2M1, HIGH); digitalWrite(input1M2, LOW); digitalWrite(input2M2, HIGH); digitalWrite(ledBack1, LOW); digitalWrite(ledBack2, LOW); digitalWrite(ledFront1, HIGH); digitalWrite(ledFront2, HIGH); } void goLeft() { digitalWrite(rev, LOW); tone(rev,0,1); digitalWrite(input1M1, HIGH); digitalWrite(input2M1, LOW); digitalWrite(input1M2, LOW); digitalWrite(input2M2, HIGH); analogWrite(enableM1,255); analogWrite(enableM2,255); digitalWrite(ledBack1, HIGH); digitalWrite(ledBack2, LOW); digitalWrite(ledFront1, HIGH); digitalWrite(ledFront2, LOW); digitalWrite(rev, LOW); } void goRight() { digitalWrite(rev, LOW); tone(rev,0,1); digitalWrite(input1M1, LOW); digitalWrite(input2M1, HIGH); digitalWrite(input1M2, HIGH); digitalWrite(input2M2, LOW); analogWrite(enableM1,255); analogWrite(enableM2,255); digitalWrite(ledBack1, LOW); digitalWrite(ledBack2, HIGH); digitalWrite(ledFront1, LOW); digitalWrite(ledFront2, HIGH); digitalWrite(rev, LOW); } void turnOff() { digitalWrite(rev, LOW); tone(rev,0,1); digitalWrite(input1M1, LOW); digitalWrite(input2M1, LOW); digitalWrite(input1M2, LOW); digitalWrite(input2M2, LOW); digitalWrite(ledBack1, LOW); digitalWrite(ledBack2, LOW); digitalWrite(ledFront1, LOW); digitalWrite(ledFront2, LOW); digitalWrite(rev, LOW); } void findBluVal() { if(Serial.available()) {//if there is data being recieved Serial.println("give me a letter between a and c"); blueToothVal=Serial.read(); //read it Serial.print(blueToothVal); if(blueToothVal!='a'&&blueToothVal!='b'&&blueToothVal!='c') { Serial.println("give me a letter between a and c"); } } }