Untitled
unknown
plain_text
4 years ago
2.6 kB
11
Indexable
#define IN1 4
#define IN2 5
#define IN3 6
#define IN4 7
#define EN_A 10
#define EN_B 9
int velocidade = 150;
int atraso = 10;
void parar(){
Serial.println("PARAR");
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
}
void frente(){
parar();
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(EN_A, velocidade);
analogWrite(EN_B, velocidade);
}
void atras(){
parar();
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(EN_A, velocidade);
analogWrite(EN_B, velocidade);
}
void direita(){
parar();
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
analogWrite(EN_A, velocidade);
}
void esquerda(){
parar();
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
analogWrite(EN_B, velocidade);
}
void atras_direita(){
parar();
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
analogWrite(EN_A, velocidade);
}
void atras_esquerda(){
parar();
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
analogWrite(EN_B, velocidade);
}
void aumenta_velocidade(){
velocidade = 250;
}
void diminui_velocidade(){
velocidade = 140;
}
void setup() {
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(EN_A, OUTPUT);
pinMode(EN_B, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()){
char x = Serial.read();
Serial.println(x);
switch(x){
case 'F':
frente();
delay(atraso);
break;
case 'B':
atras();
delay(atraso);
break;
case 'R':
direita();
delay(atraso);
break;
case 'L':
esquerda();
delay(atraso);
break;
case 'G':
esquerda();
frente();
delay(atraso);
break;
case 'I':
direita();
frente();
delay(atraso);
break;
case 'H':
atras_esquerda();
atras();
delay(atraso);
break;
case 'J':
atras_direita();
atras();
delay(atraso);
break;
case 'X':
aumenta_velocidade();
break;
case 'x':
diminui_velocidade();
break;
case 'S':
parar();
break;
default:
parar();
break;
}
}
}Editor is loading...