Boa Tarde !

Caros,

Estou tentando utilizar o controle de IR que comprei esses dias mais estou tento problemas, pois criei o código porem não estou tendo sucesso, vocês podem analisar o código e observar aonde é que errei ? Obrigado a todos.

Aqui tentei criar um código junto com o controle dos motores DC ligados a uma ponte H para controlar o Robo via controle remoto com o básico frente, trás, direita e esquerda.

#include <IRremote.h>

int SemSinal = 0;
int M1 = 4;
int M2 = 6;
int receiver = A0;

IRrecv irrecv(receiver);
decode_results results;

void setup(){
pinMode(M1, OUTPUT);
pinMode(M2, OUTPUT);
pinMode(receiver, INPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}

void loop(){

if (irrecv.decode(&results)){
SemSinal = 0;
switch(results.value){

case 0xff00:{ // Mode
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
Serial.println("IR - FRENTE");
break;
}
case 0xFE01:{ // >>/
digitalWrite(M1,HIGH);
digitalWrite(M2,LOW);
Serial.println(" GIRAR HORARIO ");
break;
}
case 0xfd02:{ // >//
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
Serial.println("GIRAR ANTI-HORARIO");
break;
}
case 0xfb04:{ // VOL -
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
Serial.println("IR - TRAS");
break;
}

}
delay(100);
irrecv.resume();
}
SemSinal++;
if (SemSinal == 100) // Se passou 100 vezes e não teve sinal, desliga os motores.
{
digitalWrite(M1,LOW);
digitalWrite(M2,LOW);
}

}

 

Exibições: 286

Responder esta

Respostas a este tópico

Cara, para cada ponte H não necessários 2 pinos de acionamento? pelo que entendi vc usa 2 motores, e vi somente 2 pinos de controle, M1 e M2. Não são necessários 4?


...
case 0xfd02:{ // >//
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
Serial.println("GIRAR ANTI-HORARIO");
break;
}
case 0xfb04:{ // VOL -
digitalWrite(M1,LOW);
digitalWrite(M2,HIGH);
Serial.println("IR - TRAS");
break;
...

no trecho acima não está ocorrendo o mesmo acionamento para condições diferentes do switch?

Bom dia !

Fabio, não sabia que a ponte H com dois motores precisava de 4 pinos de controle vou incluir, referente as condições diferentes do switch não entendi direito pois novo nesse assunto, você consegue me explicar ?

Muito obrigado.

Abs

Leonardo, vou tentar ajudar, mas também não conheço muito, caso fale alguma besteira depois alguém por favor corrija...

O que sei de ponte H é só teoria, e pelo q entendo vc precisa de uma ponte H para cada motor, se quiser acioná-los individualmente, e para cada ponte H vc precisaria de dois pinos de acionamento para ter 4 situações possíveis

1- motor girando sentido horário

2- motor girando no sentido anti-horário

3- motor parado

4- condição proibida, na qual seria gerado um curto-circuito na ponte H

 

e com relação as condições do switch, pelo que vi no seu código, por exemplo, para 0xfd02 e 0xfb04, os pinos estão sendo acionados da mesma forma( M1,LOW e M2,HIGH).

 

Pessoal, caso eu tenha dito alguma besteira, me perdoem.

 

abraços a todos

 

 

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço