CARRINHO ROBÔ FASE 1
Pessoal, este é o sketch 1 do nosso primeiro programa para o carrinho robô. Ele controla as rodas, fazendo com que o carrinho ande para frente, trás, direita e esquerda. Também podemos controlar a potência fornecida pelas portas PWM 3, 5, 6 e 9, fazendo com que o carrinho ande com velocidades diferentes. Todo o controle é feito via comunicação serial por meio do teclado do computador.
Vocês podem ver este programa rodando mesmo sem ter o carrinho. É só montar o arduino com LED's ligados nas portas 3, 5, 6 e 9, com resistores de 220 Ohm's. Abrindo o monitor serial vocês poderão digitar:
"f " = Faz o carrinho andar para a frente;
"r" = Carrinho anda para trás;
"d" = Carrinho vira para a direita;
"e" = Carrinho vira para a esquerda;
"h" = Faz com que as portas PWM enviem a potência máxima para os motores.
"l" = Envia uma potencia reduzida para os motores.
Vocês podem mudar o valor de l no programa, para valores menores. Se estiverem usando LED's vão poder ver que os mesmo ficam mais fracos quando "l" for digitado, e voltam a ficar fortes quando "h" for digitado.
Obs.: é só copiar o código e colar no programa do arduino.😉
SKETCH 1 CARRINHO ROBÔ:
int tempo=500;
char comando ='v';
int estado=0;
int POT = 255;
void setup()
{
Serial.begin(9600);
pinMode(3,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(9,OUTPUT);
}
void loop()
{
if(Serial.available())
{
comando = Serial.read();
if (comando=='f')
{
Serial.println("carrinho.anda para frente!");
analogWrite(3,POT);
analogWrite(6,POT);
analogWrite(9,0);
analogWrite(5,0);
delay(tempo);
analogWrite(3,0);
analogWrite(6,0);
analogWrite(9,0);
analogWrite(5,0);
}
if (comando=='r')
{
Serial.println("carrinho.anda para tras!");
analogWrite(5,POT);
analogWrite(9,POT);
analogWrite(3,0);
analogWrite(6,0);
delay(tempo);
analogWrite(3,0);
analogWrite(6,0);
analogWrite(9,0);
analogWrite(5,0);
}
if (comando=='e')
{
Serial.println("carrinho.anda para esquerda!");
analogWrite(3,POT);
analogWrite(9,POT);
analogWrite(5,0);
analogWrite(6,0);
delay(tempo);
analogWrite(3,0);
analogWrite(6,0);
analogWrite(9,0);
analogWrite(5,0);
}
if (comando=='d')
{
Serial.println("carrinho.anda para direita!");
analogWrite(5,POT);
analogWrite(6,POT);
analogWrite(3,0);
analogWrite(9,0);
delay(tempo);
analogWrite(3,0);
analogWrite(6,0);
analogWrite(9,0);
analogWrite(5,0);
}
if(comando == 'h')
{
POT = 255;
Serial.print("velocidade maxima. Pot:");
Serial.println(POT);
}
if(comando =='l')
{
POT = 200;
Serial.print("velocida media. Pot: ");
Serial.println(POT);
}
else
{
Serial.println("comando desconhecido!");
}
}
}
Nenhum comentário:
Postar um comentário