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
}
Tags:
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
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por