This is my first large line of code and I continue to run into issues. A main one is
"not within a switch statement". Please help
//www.elegoo.com
#include <Servo.h> //servo
Servo myservo; //servo
#define ENA 5
#define ENB 6
#define IN1 7
#define IN2 8
#define IN3 9
#define IN4 11
#define LED1 13
int pos = 90;
unsigned char carSpeed = 250;
bool state = LOW;
char getstr;
void forward(){
myservo.write(pos);
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
Serial.println("Forward");
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void back(){
myservo.write(pos);
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
Serial.println("Back");
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void left(){
myservo.write(pos);
analogWrite(ENA,carSpeed);
analogWrite(ENB,carSpeed);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
Serial.println("Left");
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void right(){
myservo.write(pos);
analogWrite(ENA,carSpeed);
analogWrite(ENB,carSpeed);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
Serial.println("Right");
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void RightForwardSlow(){
for (pos = 90; pos <= 135; pos += 1)
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
Serial.println("RightForwardSlow");
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void RightForwardFast(){
for (pos = 90; pos <= 160; pos += 1)
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW); //RightForwardFast
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
Serial.println("RightForwardFast");
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void LeftForwardSlow(){
for (pos = 90; pos <= 45; pos += 1)
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
Serial.println("LeftForwardSlow");
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void LeftForwardFast(){
for (pos = 90; pos <= 20; pos += 1)
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH);
Serial.println("LeftForwardFast");
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void stop(){
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
Serial.println("Stop!");
}
void BackSlowRight(){
for (pos = 90; pos <= 135; pos += 1)
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
Serial.println("BackSlowRight");
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void BackFastRight(){
for (pos = 90; pos <= 160; pos += 1)
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
Serial.println("BackFastRight");
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void BackFastLeft(){
for (pos = 90; pos <= 20; pos += 1)
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
Serial.println("BackFastLeft");
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void BackSlowLeft(){
for (pos = 90; pos <= 45; pos += 1)
digitalWrite(ENA,HIGH);
digitalWrite(ENB,HIGH);
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH);
digitalWrite(IN3,HIGH);
digitalWrite(IN4,LOW);
Serial.println("BackSlowLeft");
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
}
void stateChange(){
state = !state;
digitalWrite(LED1, state);
Serial.println("Light");
}
void DontGo(){
myservo.write(pos);
digitalWrite(ENA,LOW);
digitalWrite(ENB,LOW);
Serial.println("stop");
}
void setup() {
Serial.begin(9600);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
pinMode(LED1, OUTPUT); //this down to stop is motor
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
pinMode(ENA,OUTPUT);
pinMode(ENB,OUTPUT);
stop();
}
void loop() {
getstr = Serial.read();
Serial.print(getstr);
switch(getstr)
case 'f': forward(); return;
case 'm': back(); return;
case 'l': left(); return;
case 'r': right(); return;
case 'n': RightForwardSlow(); return;
case 'o': RightForwardFast(); return;
case 'd': LeftForwardSlow(); return;
case 'h': LeftForwardFast(); return;
case 'k': BackSlowRight(); return;
case 'g': BackFastRight(); return;
case 'u': BackFastLeft(); return;
case 'w': BackSlowLeft(); return;
case 'a': stateChange(); return;
case 's': DontGo(); return;
default: return;
}