char junk;
String inputString="";
long time = 0;
int state = HIGH;
int frontled = 7;
int frontled2 = 3;
int buzzer = 4;
void setup() // run once, when the sketch starts
{
Serial.begin(9600);
pinMode(3, OUTPUT);
pinMode(buzzer, OUTPUT);
pinMode(redled, OUTPUT);
pinMode(redled2, OUTPUT);
pinMode(12, OUTPUT);
pinMode(9, OUTPUT);
pinMode(13, OUTPUT);
pinMode(11, OUTPUT);
pinMode(8, OUTPUT);
pinMode(frontled, OUTPUT);
pinMode(frontled2, OUTPUT);
}
void loop()
{
if(Serial.available()){
while(Serial.available())
{
char inChar = (char)Serial.read(); //read the input
inputString += inChar; //make a string of the characters coming on serial
}
Serial.println(inputString);
while (Serial.available() > 0)
{
junk = Serial.read() ;
} // clear the serial buffer
if(inputString == "a"){ //in case of 'a' turn the LED on
if (state == HIGH)
state = LOW;
else
state = HIGH;
time = millis();
digitalWrite(frontled, state);
digitalWrite(frontled2, state);
}
else if(inputString == "f"){ //incase of 'f'= forward
digitalWrite(12, HIGH); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 255); //Spins the motor on Channel A at full speed
digitalWrite(13, HIGH); //Establishes forward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 255); //Spins the motor on Channel B at full speed
}
else if(inputString == "b"){ //incase of 'b'= brakes
digitalWrite(9, HIGH); //Engage brakes for channel A
digitalWrite(8, HIGH); //Engage brakes for channel A
}
else if(inputString == "l"){ //incase of 'l'= left
digitalWrite(12, HIGH); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 100); //Spins the motor on Channel A at half speed
digitalWrite(13, LOW); //Establishes backward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 100); //Spins the motor on Channel B at half speed
}
else if(inputString == "r"){ //incase of 'r'= right
digitalWrite(12, LOW); //Establishes backward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 100); //Spins the motor on Channel A at half speed
digitalWrite(13, HIGH); //Establishes forward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 100); //Spins the motor on Channel B at half speed
}
else if(inputString == "w"){ //incase of 'w'= backward
digitalWrite(12, LOW); //Establishes backward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 255); //Spins the motor on Channel A at full speed
digitalWrite(13, LOW); //Establishes backward direction of Channel B
digitalWrite(8, LOW); //Disengage the Brake for Channel B
analogWrite(11, 255); //Spins the motor on Channel B at full speed
}
inputString = ""; //we clear the variable for the next commande
}
}
Comments