Ola pessoal to fazendo um projeto um simples robo com controlhe infra vermelho so que eu preciso que quando eu eu aperta um botao do controlhe e motor ligue e quando eu soltar o botao ele desligue to fazendo com o l293d e nao coloque os numeros certo dos botoes ainda mas me ajude ai o codigo e esse 

#include <IRremote.h>
int RECV_PIN = 2; // Diz que o receptor IR esta conectado no pino 12

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600); // Abre a porta serial.
irrecv.enableIRIn(); // Inicia o receptor IR.
pinMode(3, OUTPUT); // Pino do Motor 1
pinMode(4, OUTPUT); // Pino do Motor 1
pinMode(5, OUTPUT); // Pino do Notor 2
pinMode(6, OUTPUT); // Pino do Motor 2

}
void loop(){
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC); // Envia o codigo do botão pressionado para a porta serial.
irrecv.resume();
}
// Motor Reto

if (results.value == 10000000){ digitalWrite(3, HIGH);} //Motor_1 reto

if (results.value == 10000000){ digitalWrite(4, LOW);} //Motor_1 reto

if (results.value == 10000000){ digitalWrite(5, HIGH);} //Motor_2 reto

if (results.value == 10000000){ digitalWrite(6, LOW);} //Motor_2 reto

// Motor Ré

if (results.value == 20000000){ digitalWrite(3, LOW);} //Motor_1 Ré

if (results.value == 20000000){ digitalWrite(4, HIGH);} //Motor_1 Ré

if (results.value == 20000000){ digitalWrite(5, LOW);} //Motor_2 Ré

if (results.value == 20000000){ digitalWrite(6, HIGH);} //Motor_2 Ré

// Motor para direita

if (results.value == 30000000){ digitalWrite(3, HIGH);} //Motor_1 direita

if (results.value == 30000000){ digitalWrite(4, LOW);} //Motor_1 direita

if (results.value == 30000000){ digitalWrite(5, LOW);} //Motor_2 esquerda

if (results.value == 30000000){ digitalWrite(6, HIGH);} //Motor_2 esquerda

// Motor para Esquerda

if (results.value == 40000000){ digitalWrite(3, LOW);} //Motor_1 esquerda

if (results.value == 40000000){ digitalWrite(4, HIGH);} //Motor_1 esquerda

if (results.value == 40000000){ digitalWrite(5, HIGH);} //Motor_2 direita

if (results.value == 40000000){ digitalWrite(6, LOW);} //Motor_2 direita

// Motor Freio

if (results.value == 50000000){ digitalWrite(3, LOW);} //Motor_1 parar

if (results.value == 50000000){ digitalWrite(4, LOW);} //Motor_1 parar

if (results.value == 50000000){ digitalWrite(5, LOW);} //Motor_2 parar

if (results.value == 50000000){ digitalWrite(6, LOW);} //Motor_2 parar
}

Exibições: 232

Responder esta

Respostas a este tópico

Ae amigo tlvz ajude.:

#include <IRremote.h>
int RECV_PIN = 2; // Diz que o receptor IR esta conectado no pino 12

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600); // Abre a porta serial.
irrecv.enableIRIn(); // Inicia o receptor IR.
pinMode(3, OUTPUT); // Pino do Motor 1
pinMode(4, OUTPUT); // Pino do Motor 1
pinMode(5, OUTPUT); // Pino do Notor 2
pinMode(6, OUTPUT); // Pino do Motor 2

}
void loop(){
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC); // Envia o codigo do botão pressionado para a porta serial.
irrecv.resume(); 

}


// Motor Reto

if (results.value == 10000000)

   {

    digitalWrite(3, HIGH);} //Motor_1 reto
    digitalWrite(4, LOW);} //Motor_1 reto
    digitalWrite(5, HIGH);} //Motor_2 reto 
    digitalWrite(6, LOW);} //Motor_2 reto
   }

else{


  digitalWrite(3, LOW);} //Motor_1 parar
  digitalWrite(4, LOW);} //Motor_1 parar
  digitalWrite(5, LOW);} //Motor_2 parar
  digitalWrite(6, LOW);} //Motor_2 parar

   }


// Motor Ré

if (results.value == 20000000)

   {

    digitalWrite(3, LOW);} //Motor_1 reto
    digitalWrite(4, HIGH);} //Motor_1 reto
    digitalWrite(5, LOW);} //Motor_2 reto 
    digitalWrite(6, HIGH);} //Motor_2 reto
   }

else{


  digitalWrite(3, LOW);} //Motor_1 parar
  digitalWrite(4, LOW);} //Motor_1 parar
  digitalWrite(5, LOW);} //Motor_2 parar
  digitalWrite(6, LOW);} //Motor_2 parar

   }




// Motor para direita

if (results.value == 30000000)

   {

    digitalWrite(3, HIGH);} //Motor_1 reto
    digitalWrite(4, LOW);} //Motor_1 reto
    digitalWrite(5, LOW);} //Motor_2 reto 
    digitalWrite(6, HIGH);} //Motor_2 reto
   }

else{


  digitalWrite(3, LOW);} //Motor_1 parar
  digitalWrite(4, LOW);} //Motor_1 parar
  digitalWrite(5, LOW);} //Motor_2 parar
  digitalWrite(6, LOW);} //Motor_2 parar

   }




// Motor para Esquerda

if (results.value == 40000000)

   {

    digitalWrite(3, LOW);} //Motor_1 reto
    digitalWrite(4, HIGH);} //Motor_1 reto
    digitalWrite(5, HIGH);} //Motor_2 reto 
    digitalWrite(6, LOW);} //Motor_2 reto
   }

else{


  digitalWrite(3, LOW);} //Motor_1 parar
  digitalWrite(4, LOW);} //Motor_1 parar
  digitalWrite(5, LOW);} //Motor_2 parar
  digitalWrite(6, LOW);} //Motor_2 parar

   }


// Motor Freio não precisa!!

}

Valeu mas ta dando um erro 

sketch_aug19a:26: error: expected constructor, destructor, or type conversion before '(' token
sketch_aug19a:26: error: expected declaration before '}' token

mas tentei assim sem as } tem algum problema no funcionamento ?

Porque ainda n testei por que o l293d ainda n chego 

#include <IRremote.h>
int RECV_PIN = 2; // Diz que o receptor IR esta conectado no pino 12
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600); // Abre a porta serial.
irrecv.enableIRIn(); // Inicia o receptor IR.
pinMode(3, OUTPUT); // Pino do Motor 1
pinMode(4, OUTPUT); // Pino do Motor 1
pinMode(5, OUTPUT); // Pino do Notor 2
pinMode(6, OUTPUT); // Pino do Motor 2

}
void loop(){
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC); // Envia o codigo do botão pressionado para a porta serial.
irrecv.resume();
}

// Motor Reto

if (results.value == 10000000)
{
digitalWrite(3, HIGH); //Motor_1 reto
digitalWrite(4, LOW); //Motor_1 reto
digitalWrite(5, HIGH); //Motor_2 reto
digitalWrite(6, LOW); //Motor_2 reto
}
else{

digitalWrite(3, LOW); //Motor_1 parar
digitalWrite(4, LOW); //Motor_1 parar
digitalWrite(5, LOW); //Motor_2 parar
digitalWrite(6, LOW); //Motor_2 parar
}

// Motor Ré
if (results.value == 20000000)
{
digitalWrite(3, LOW); //Motor_1 reto
digitalWrite(4, HIGH); //Motor_1 reto
digitalWrite(5, LOW); //Motor_2 reto
digitalWrite(6, HIGH); //Motor_2 reto
}
else{

digitalWrite(3, LOW); //Motor_1 parar
digitalWrite(4, LOW); //Motor_1 parar
digitalWrite(5, LOW); //Motor_2 parar
digitalWrite(6, LOW); //Motor_2 parar
}

// Motor para direita
if (results.value == 30000000)
{
digitalWrite(3, HIGH); //Motor_1 reto
digitalWrite(4, LOW); //Motor_1 reto
digitalWrite(5, LOW); //Motor_2 reto
digitalWrite(6, HIGH); //Motor_2 reto
}
else{

digitalWrite(3, LOW); //Motor_1 parar
digitalWrite(4, LOW); //Motor_1 parar
digitalWrite(5, LOW); //Motor_2 parar
digitalWrite(6, LOW); //Motor_2 parar
}

// Motor para Esquerda
if (results.value == 40000000)
{
digitalWrite(3, LOW); //Motor_1 reto
digitalWrite(4, HIGH); //Motor_1 reto
digitalWrite(5, HIGH); //Motor_2 reto
digitalWrite(6, LOW); //Motor_2 reto
}
else{

digitalWrite(3, LOW); //Motor_1 parar
digitalWrite(4, LOW); //Motor_1 parar
digitalWrite(5, LOW); //Motor_2 parar
digitalWrite(6, LOW); //Motor_2 parar
}
}

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço