Skip to content

Instantly share code, notes, and snippets.

@arduinoboard
Last active April 19, 2018 20:59
Show Gist options
  • Save arduinoboard/9dc3b90985e38a3fbde3cedb8fba395c to your computer and use it in GitHub Desktop.
Save arduinoboard/9dc3b90985e38a3fbde3cedb8fba395c to your computer and use it in GitHub Desktop.
The file that is currently on an Arduino/Genuino Mega or Mega 2560 with a serial number of 75438313533351010192
#define MOVETIME 1000
#define FA 10
#define BA 11
#define enFA 2
#define enBA 3
#define FB 5
#define BB 6
#define enFB 4
#define enBB 7
void setup() {
Serial.begin(115200);
pinMode(FA, OUTPUT);
pinMode(BA, OUTPUT);
pinMode(enFA, OUTPUT);
pinMode(enBA, OUTPUT);
pinMode(FB, OUTPUT);
pinMode(BB, OUTPUT);
pinMode(enFB, OUTPUT);
pinMode(enBB, OUTPUT);
pinMode(8, INPUT_PULLUP);
pinMode(9, INPUT_PULLUP);
pinMode(12, INPUT_PULLUP);
pinMode(13, INPUT_PULLUP);
/*
digitalWrite(2, HIGH);
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
*/
}
void loop() {
while(Serial.available()){
int command = Serial.read();
switch (command) {
case 'f':
digitalWrite(enFA, HIGH);
digitalWrite(enBA, HIGH);
digitalWrite(enFB, HIGH);
digitalWrite(enBB, HIGH);
digitalWrite(BA,LOW);
digitalWrite(BB,LOW);
for(int i=0; i<256; i++){
if(i<200){
analogWrite(FA,i+50);
}
//if(i<200){
analogWrite(FB,i);
//}
delay(6);
}
digitalWrite(FA,LOW);
digitalWrite(FB,LOW);
digitalWrite(enFA, LOW);
digitalWrite(enBA, LOW);
digitalWrite(enFB, LOW);
digitalWrite(enBB, LOW);
break;
case 'b':
digitalWrite(enFA, HIGH);
digitalWrite(enBA, HIGH);
digitalWrite(enFB, HIGH);
digitalWrite(enBB, HIGH);
digitalWrite(FA,LOW);
digitalWrite(FB,LOW);
for(int i=0; i<256; i++){
//analogWrite(BA,i);
if(i<200){
analogWrite(BB,i);
analogWrite(BA,i);
}
delay(6);
}
digitalWrite(BA,LOW);
digitalWrite(BB,LOW);
digitalWrite(enFA, LOW);
digitalWrite(enBA, LOW);
digitalWrite(enFB, LOW);
digitalWrite(enBB, LOW);
break;
case 'u':
digitalWrite(4, LOW);
delay(MOVETIME);
break;
case 'd':
digitalWrite(5, LOW);
delay(MOVETIME);
break;
case 'i':
digitalWrite(2, LOW);
delay(MOVETIME);
break;
case 'o':
delay(MOVETIME);
break;
}
}
if(digitalRead(8)==HIGH){ //forward
digitalWrite(enFA, HIGH);
digitalWrite(enBA, HIGH);
digitalWrite(FA,HIGH);
digitalWrite(BA,LOW);
while(digitalRead(8)==HIGH);
}
if(digitalRead(9)==HIGH){ //back
digitalWrite(enFA, HIGH);
digitalWrite(enBA, HIGH);
digitalWrite(FA,LOW);
digitalWrite(BA,HIGH);
while(digitalRead(9)==HIGH);
}
if(digitalRead(12)==HIGH){ //tilt up
digitalWrite(enFB, HIGH);
digitalWrite(enBB, HIGH);
digitalWrite(FB,HIGH);
digitalWrite(BB,LOW);
while(digitalRead(12)==HIGH);
}
if(digitalRead(13)==HIGH){ //tilt down
digitalWrite(enFB, HIGH);
digitalWrite(enBB, HIGH);
digitalWrite(FB,LOW);
digitalWrite(BB,HIGH);
while(digitalRead(13)==HIGH);
}
digitalWrite(FA,LOW);
digitalWrite(BA,LOW);
digitalWrite(FB,LOW);
digitalWrite(BB,LOW);
digitalWrite(enFA,LOW);
digitalWrite(enFB,LOW);
digitalWrite(enBA,LOW);
digitalWrite(enBB,LOW);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment