A ideia principal é quando apertar o botão o motor gire uma quantidade x ( que eu possa determinar depois) para a esquerda e pare o motor. Quando eu apertar o mesmo botão ele gire para a direita a mesma quantidade X e pare o motor. E faz esses processos toda vez que o botão for acionado.
int motor_left[] = {5, 6};
int motor_right[] = {4, 3};
int botao = 1;
int estadoBotao = 0;
int var = 0;
int var2 = 0;
void setup() {
// Setup motors
int i;
for(i = 0; i < 2; i++){
pinMode(motor_left[i], OUTPUT);
pinMode(motor_right[i], OUTPUT);
pinMode(botao, INPUT);
}
}
void loop() {
var=digitalRead(botao);
if ((var == HIGH) && (var2 == LOW)) {
estadoBotao = 1 - estadoBotao;
delay(20);
}
var2=var;
if(estadoBotao == 1) {
digitalWrite(motor_left[0], HIGH);
digitalWrite(motor_left[1], LOW);
digitalWrite(motor_right[0], HIGH);
digitalWrite(motor_right[1], LOW);
delay(1000);
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], LOW);
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], LOW);
delay(10000);
} else {
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], HIGH);
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], HIGH);
delay(1000);
digitalWrite(motor_left[0], LOW);
digitalWrite(motor_left[1], LOW);
digitalWrite(motor_right[0], LOW);
digitalWrite(motor_right[1], LOW);
delay(25);
}
}
Consegui chegar nessa parte. Agora não consigo mais
Tags:
As respostas para este tópico estão encerradas.
Tá organizado o código. Não entendi
Você colou o codigo na area de texto, o certo é anexar, leia e entenda melhor por favor.
Obrigado por colaborar.
PD: Não percebi que o colega Eduardo Marcondes já havia esclarecido isso.
Abs.
CK
E esse codigo não ficou bom ? Ta parecendo que ele faz isso que vc falou.
Como está e como deveria ser ?
O comentário do Carlos kwiek é em função de vc ter colocado o codigo no texto da questão. A sugestão dele é que seja anexado, assim os caracteres especiais são preservados e em um click quem vai te ajudar já está testando o programa. O controlC ControlV costuma dar problemas.
Eu testei no tinkercad antes da fazer a montagem da maquete e não está funcionando eu realmente não entendo o por que.
Posso fazer um vídeo corrigindo e comentando esse seu código? foi você mesmo quem fez?
Pode adoraria.
São dois motores que rodam um em sentido contrario ao outro? Vai usar esse ponta H mesmo?
É um motor só e a ponte é esse mesmo
No código tem dois erros graves, a porta de leitura do botão não pode ser 1, pois as portas 0 e 1 são usadas na comunicação serial com arduino. e o código não para de executar a função pois estadoBotao está sempre 0 ou 1 ou seja, sempre vai estar executando uma das operações e nunca parado
Boa tarde JVBS,
sugestões:
1. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
2. Remova seu sketch da área de texto do seu tópico;
3. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.
RV
valeu,fiz isso!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por