Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save arduinoboard/2870354 to your computer and use it in GitHub Desktop.
Save arduinoboard/2870354 to your computer and use it in GitHub Desktop.
The file that is currently on an Arduino Uno with a serial number of 6493534313335130C171
//Cliff Bargar 2/14/12
//CHB RC car
//Based on code by Will Langford
int input;
char serialIn;
const int forward = 9;
const int backward = 10;
const int left = 11;
const int right = 12;
void setup() {
// Set pins to input
pinMode(forward, OUTPUT);
pinMode(backward, OUTPUT);
pinMode(left, OUTPUT);
pinMode(right, OUTPUT);
Serial.begin(115200);
}
void loop() {
if(Serial.available() > 0)
{
serialIn = Serial.read();
input=serialIn;
Serial.println(input);
switch(input)
{
case 1: //forward
digitalWrite(forward, HIGH);
digitalWrite(backward, LOW);
digitalWrite(left, LOW);
digitalWrite(right, LOW);
break;
case 2: //forward right
digitalWrite(forward, HIGH);
digitalWrite(backward, LOW);
digitalWrite(left, LOW);
digitalWrite(right, HIGH);
break;
case 3: //right
digitalWrite(forward, LOW);
digitalWrite(backward, LOW);
digitalWrite(left, LOW);
digitalWrite(right, HIGH);
break;
case 4: //back right
digitalWrite(forward, LOW);
digitalWrite(backward, HIGH);
digitalWrite(left, LOW);
digitalWrite(right, HIGH);
break;
case 5: //back
digitalWrite(forward, LOW);
digitalWrite(backward, HIGH);
digitalWrite(left, LOW);
digitalWrite(right, LOW);
break;
case 6://back left
digitalWrite(forward, LOW);
digitalWrite(backward, HIGH);
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
break;
case 7: //left
digitalWrite(forward, LOW);
digitalWrite(backward, LOW);
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
break;
case 8: //forward left
digitalWrite(forward, HIGH);
digitalWrite(backward, LOW);
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
break;
case 97: //forward
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
digitalWrite(backward, LOW);
digitalWrite(forward, HIGH); // set the LED on
delay(25); // wait for a second
digitalWrite(forward, LOW); // set the LED off
delay(150); // wait for a second
digitalWrite(left, LOW);
digitalWrite(right, HIGH);
digitalWrite(forward, HIGH); // set the LED on
delay(25); // wait for a second
digitalWrite(forward, LOW); // set the LED off
delay(150); // wait for a second
break;
case 98: //forward right
digitalWrite(left, LOW);
digitalWrite(right, HIGH);
digitalWrite(backward, LOW);
digitalWrite(forward, HIGH); // set the LED on
delay(25); // wait for a second
digitalWrite(forward, LOW); // set the LED off
delay(150); // wait for a second
break;
case 99: //right
digitalWrite(forward, LOW);
digitalWrite(backward, LOW);
digitalWrite(left, LOW);
digitalWrite(right, HIGH);
break;
case 100: //back right
digitalWrite(left, LOW);
digitalWrite(right, HIGH);
digitalWrite(forward, LOW);
digitalWrite(backward, HIGH); // set the LED on
delay(25); // wait for a second
digitalWrite(backward, LOW); // set the LED off
delay(150); // wait for a second
break;
case 101: //back
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
digitalWrite(forward, LOW);
digitalWrite(backward, HIGH); // set the LED on
delay(25); // wait for a second
digitalWrite(backward, LOW); // set the LED off
delay(150); // wait for a second
digitalWrite(left, LOW);
digitalWrite(right, HIGH);
digitalWrite(backward, HIGH); // set the LED on
delay(25); // wait for a second
digitalWrite(backward, LOW); // set the LED off
delay(150); // wait for a second
break;
case 102://back left
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
digitalWrite(forward, LOW);
digitalWrite(backward, HIGH); // set the LED on
delay(25); // wait for a second
digitalWrite(backward, LOW); // set the LED off
delay(150); // wait for a second
break;
case 103: //left
digitalWrite(forward, LOW);
digitalWrite(backward, LOW);
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
break;
case 104: //forward left
digitalWrite(left, HIGH);
digitalWrite(right, LOW);
digitalWrite(backward, LOW);
digitalWrite(forward, HIGH); // set the LED on
delay(25); // wait for a second
digitalWrite(forward, LOW); // set the LED off
delay(150); // wait for a second
break;
case 0: //nothing
digitalWrite(forward, LOW);
digitalWrite(backward, LOW);
digitalWrite(left, LOW);
digitalWrite(right, LOW);
break;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment