erro: "IRrecv`does not name a type

694 views
Skip to first unread message

Tiago Anjinho

unread,
Dec 21, 2011, 8:20:51 PM12/21/11
to arduino-brasilia
#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}

void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
irrecv.resume(); // Receive the next value
}
}





galera nao to conseguindo upar o comando IR
alguem conhece esse erro ai?

Webert Oliveira

unread,
Dec 21, 2011, 9:48:50 PM12/21/11
to arduino-...@googlegroups.com
Tiago qual modelo de arduino você está usando?
Tive problemas ao usar o atmega8 para o 168 e 328 vai normal, eu usei
o pino 9 tanta mudar de pino.
Qualquer coisa te mando meu codigo.

2011/12/21, Tiago Anjinho <tf.s...@hotmail.com>:

> --
> Você recebeu esta mensagem porque está inscrito no
> Grupo "arduino-brasília" nos Grupos do Google.
> E-mail: arduino-...@googlegroups.com
> Url: http://groups.google.com.br/group/arduino-brasilia?hl=pt-BR
> Sair: arduino-brasil...@googlegroups.com
>

--
Enviado do meu celular

Angelo Cnop

unread,
Dec 21, 2011, 10:28:53 PM12/21/11
to arduino-...@googlegroups.com

RAPAZ... IRCV does not name a type... revisa essa biblioteca sua... talvez tenha algum problema... eu mexo com arduino já a algum tempo
ultimamente tenho usado o ir pra controlar as aplicaçoes do windows.... sim funciona....

se tu quiser testar aih vou te mandar um código de ir funcionando
eu comentei tudo pra ti aih... foi de um carro que eu fiz a uns tempos atras qndo eu ainda tinha vida.... :P




#include <IRremote.h>                                         // biblioteca do sensor
#include <Servo.h>


int sens = 12;                                                 // pino de saida do piezo
int IR = 8;                                                 //ENTRADA DE DADOS DO SENSOR 
 float control;                                             // variavel usada pra guardar o valor já decodificado do sinal ir
int motor = 2;
Servo direcao;

int onoff;
float num;
int opcao;
int sens1;

IRrecv irrecv(IR);   // nessa linha eu defino que o pino que vai decodificar a informaçao do sensor eh o pino de entrada dele o 8 receive pin


decode_results results;                                      // chamada a funçao de decodificar o sinal ir com base nos intervalos de tempo

void setup() {

  Serial.begin(9600);                                          // a taxa de transferencia do sinal via serial
  irrecv.enableIRIn();                                     // começar o receptor do sinal
  pinMode(IR,INPUT);                         // configurado a entrada de dados do pino ir
  pinMode(13,OUTPUT);
 pinMode(12, INPUT);  // configurado a saida  pelo pino6
  pinMode(motor,OUTPUT);
  onoff = 0;
  digitalWrite(motor,LOW);                       // atribuindo os valores de "desligado" logo no inicio do programa embora nao exista necessidade disso... é melhor assim pra me situar
  direcao.attach(9);
  }



void loop() {
  
  sens1 = digitalRead(sens);
  if (sens1 == LOW) {
    digitalWrite(motor,LOW);

  }
  if (irrecv.decode(&results)) {                // se o sinal enviado pelo controle... for traduzido entao
    int count = Serial.available();               // caso a porta serial esteja aberta para a leitura
    float control = Serial.read();                 // a variavel control vai receber a info mandada pra ela;
    Serial.println(results.value, DEC);           // é impresso o valor do resultado decodificado em decimal
    
    Serial.println(control,DEC);                    // e o valor da variavel control em decimal... aqui geralmente 0 caso nao exista dados [ ou esteja em espera]
    digitalWrite(IR,HIGH);                           // aqui o pino do sensor infra liga pra mandar o sinal via porta digital ao arduiino
     
    control = results.value;                         // a variavel control recebe o resultado do sinal decodificado
    
    if (control == 16753245.00){                     // caso a variavel control seja igual ao valor correspondente ao botao liga [ que é interpretado como este valor ]
    opcao = 1;    }
    
     if (control == 16736925.00){                    // caso a variavel control seja igual ao valor correspondente ao botao mode [ que é interpretado como este valor ]
    opcao = 2;   }

  if (control == 16769565.00){                       //caso a variavel control seja igual ao valor correspondente ao botao sound [ que é interpretado como este valor ]
    opcao = 3;   }

  if (control == 16720605.00){                       //caso a variavel control seja igual ao valor correspondente ao botao sound [ que é interpretado como este valor ]
    opcao = 4;   }
 

    switch (opcao) {                                 // a variavel opcao é um valor gatilho para o switch que realiza as açoes pelas quais o arduino fica responsavel
                                                     // como ligar o motor em um pino ou um led em outro
    case 1:
   if (onoff==0){
   digitalWrite(motor,HIGH);
   onoff = 1;}
   else {
   digitalWrite(motor,LOW);
   onoff = 0;
   }
   break;                                               // case 1 o pino led[pino digital 7] liga durante alguns segundos 
                                                          
    case 2:                                                 
     direcao.write(92); 
    break;
    
    case 3:
     direcao.write(33);
    break;
    
    case 4:
    direcao.write(155);
    
    break;
     
    }
  Serial.println(opcao);                          // aparece na tela o valor da variavel opcao
    
    
    irrecv.resume();                             // chama a fun~cao da biblioteca que deixa o arduino em repouso até receber o proximo sinal
  }
}
 
  
_____________________________________________
Best Regards,
Angelo Cnop

Skype MeT!    Entrar com o Twitter  

"Iluminado é aquele que conhece a si mesmo como conhece a palma de sua mão" 
Siddharta Gautama



> Date: Thu, 22 Dec 2011 00:48:50 -0200
> Subject: Re: [arduino-brasilia] erro: "IRrecv`does not name a type
> From: wertol...@gmail.com
> To: arduino-...@googlegroups.com

Tiago Anjinho

unread,
Dec 22, 2011, 7:32:01 AM12/22/11
to arduino-brasilia
Webert to usando o atmega8
mas um colega meu conseguiu usando o atmega8
to na duvida aqui, se talvez nao seja a minha biblioteca IR que esteja
comrropida pois tentei
rodar o codigo do ANGELO CNOP e deu o mesmo erro
Alguem tem uma biblioteca IR testada pra me mandar?


On 22 dez, 01:28, Angelo Cnop <angelo_c...@hotmail.com> wrote:
> RAPAZ... IRCV does not name a type... revisa essa biblioteca sua... talvez tenha algum problema... eu mexo com arduino já a algum tempoultimamente tenho usado o ir pra controlar as aplicaçoes do windows.... sim funciona....
>
> se tu quiser testar aih vou te mandar um código de ir funcionando
> eu comentei tudo pra ti aih... foi de um carro que eu fiz a uns tempos atras qndo eu ainda tinha vida.... :P
>
> #include <IRremote.h>                                         // biblioteca do sensor#include <Servo.h>
>
> int sens = 12;                                                 // pino de saida do piezoint IR = 8;                                                 //ENTRADA DE DADOS DO SENSOR  float control;                                             // variavel usada pra guardar o valor já decodificado do sinal irint motor = 2;Servo direcao;
> int onoff;float num;int opcao;int sens1;
> IRrecv irrecv(IR);   // nessa linha eu defino que o pino que vai decodificar a informaçao do sensor eh o pino de entrada dele o 8 receive pin
>
> decode_results results;                                      // chamada a funçao de decodificar o sinal ir com base nos intervalos de tempo
> void setup() {
>   Serial.begin(9600);                                          // a taxa de transferencia do sinal via serial  irrecv.enableIRIn();                                     // começar o receptor do sinal  pinMode(IR,INPUT);                         // configurado a entrada de dados do pino ir  pinMode(13,OUTPUT); pinMode(12, INPUT);  // configurado a saida  pelo pino6  pinMode(motor,OUTPUT);  onoff = 0;  digitalWrite(motor,LOW);                       // atribuindo os valores de "desligado" logo no inicio do programa embora nao exista necessidade disso... é melhor assim pra me situar  direcao.attach(9);  }
>
> void loop() {    sens1 = digitalRead(sens);  if (sens1 == LOW) {    digitalWrite(motor,LOW);
>   }  if (irrecv.decode(&results)) {                // se o sinal enviado pelo controle... for traduzido entao    int count = Serial.available();               // caso a porta serial esteja aberta para a leitura    float control = Serial.read();                 // a variavel control vai receber a info mandada pra ela;    Serial.println(results.value, DEC);           // é impresso o valor do resultado decodificado em decimal        Serial.println(control,DEC);                    // e o valor da variavel control em decimal... aqui geralmente 0 caso nao exista dados [ ou esteja em espera]    digitalWrite(IR,HIGH);                           // aqui o pino do sensor infra liga pra mandar o sinal via porta digital ao arduiino         control = results.value;                         // a variavel control recebe o resultado do sinal decodificado        if (control == 16753245.00){                     // caso a variavel control seja igual ao valor correspondente ao botao liga [ que é interpretado como este valor ]    opcao = 1;    }         if (control == 16736925.00){                    // caso a variavel control seja igual ao valor correspondente ao botao mode [ que é interpretado como este valor ]    opcao = 2;   }
>   if (control == 16769565.00){                       //caso a variavel control seja igual ao valor correspondente ao botao sound [ que é interpretado como este valor ]    opcao = 3;   }
>   if (control == 16720605.00){                       //caso a variavel control seja igual ao valor correspondente ao botao sound [ que é interpretado como este valor ]    opcao = 4;   }
>     switch (opcao) {                                 // a variavel opcao é um valor gatilho para o switch que realiza as açoes pelas quais o arduino fica responsavel                                                     // como ligar o motor em um pino ou um led em outro    case 1:   if (onoff==0){   digitalWrite(motor,HIGH);   onoff = 1;}   else {   digitalWrite(motor,LOW);   onoff = 0;   }   break;                                               // case 1 o pino led[pino digital 7] liga durante alguns segundos                                                               case 2:                                                      direcao.write(92);     break;        case 3:     direcao.write(33);    break;        case 4:    direcao.write(155);        break;         }  Serial.println(opcao);                          // aparece na tela o valor da variavel opcao            irrecv.resume();                             // chama a fun~cao da biblioteca que deixa o arduino em repouso até receber o proximo sinal  }}   _____________________________________________Best Regards,Angelo Cnop
>
> - Bacharel em Sistemas,             - Graduated on Inf. Systems, - Arduínoteísta,                             - Arduino Believer, and Programmer, as well as Enthusiast.- Autoditada em Eletrônica,         - Learn-alone basic eletronics,- Entusiasta de Ocarina               - Ocarina Player- Arduino logo = blog
>
> "Iluminado é aquele que conhece a si mesmo como conhece a palma de sua mão" Siddharta Gautama
>
>
>
>
>
>
>
> > Date: Thu, 22 Dec 2011 00:48:50 -0200
> > Subject: Re: [arduino-brasilia] erro: "IRrecv`does not name a type
> > From: wertolive...@gmail.com
> > To: arduino-...@googlegroups.com
>
> > Tiago qual modelo de arduino você está usando?
> > Tive problemas ao usar o atmega8 para o 168 e 328 vai normal, eu usei
> > o pino 9 tanta mudar de pino.
> > Qualquer coisa  te mando meu codigo.
>
> > 2011/12/21, Tiago Anjinho <tf.sil...@hotmail.com>:

Helton Lidio

unread,
Dec 22, 2011, 8:37:06 AM12/22/11
to arduino-...@googlegroups.com
Voce esta usando a IDE 1.0 do arduino?
att,
Helton Lìdio

Webert Oliveira

unread,
Dec 22, 2011, 9:13:55 AM12/22/11
to arduino-...@googlegroups.com

Tiago faz o seguinte teste.. Não muda nada e testa com um atmega 382.
Eu tive esse problema, e só resolvi mudando o atmega, se seu amigo conseguiu com o 8, pede a biblioteca dele.
E lembrando que mesmo sendo Atmega8, tem variações no final dele atmega8P-PU.

Tiago Anjinho

unread,
Dec 22, 2011, 6:40:53 PM12/22/11
to arduino-brasilia
Helton lidio o que seria IDE 1.0??

Helton Lidio

unread,
Dec 22, 2011, 7:23:31 PM12/22/11
to arduino-...@googlegroups.com
IDE e a versao do programa do arduino que voce baixou para fazer os programas

Qual voce esta usando? quando voce abre ele diz depois do nome arduino!

--
Você recebeu esta mensagem porque está inscrito no
Grupo "arduino-brasília" nos Grupos do Google.
E-mail: arduino-...@googlegroups.com
Url: http://groups.google.com.br/group/arduino-brasilia?hl=pt-BR
Sair: arduino-brasil...@googlegroups.com



--
att,
Helton Lìdio

Tiago Anjinho

unread,
Dec 22, 2011, 8:58:18 PM12/22/11
to arduino-brasilia
helton aqui aparece alpha

On 22 dez, 22:23, Helton Lidio <hli...@gmail.com> wrote:
> IDE e a versao do programa do arduino que voce baixou para fazer os
> programas
>
> Qual voce esta usando? quando voce abre ele diz depois do nome arduino!
>

Vinicius Rezende

unread,
Dec 23, 2011, 9:14:08 AM12/23/11
to arduino-...@googlegroups.com
Tive o mesmo problema, dentro do IRremoteint.h tem um include que você precisa substituir por #include <Arduino.h>

Não sei informar exatamente o que tinha no lugar mas fica assim:

#ifndef IRremoteint_h
#define IRremoteint_h

#include <Arduino.h>


2011/12/22 Tiago Anjinho <tf.s...@hotmail.com>

Tiago Anjinho

unread,
Dec 23, 2011, 7:50:25 PM12/23/11
to arduino-brasilia
Vinicius tem como me mandar seu codigo pronto??
ai eu posso ver melhorpq assim por auto e dificil achar o erro

On 23 dez, 12:14, Vinicius Rezende <viniciusr...@gmail.com> wrote:
> Tive o mesmo problema, dentro do IRremoteint.h tem um include que você
> precisa substituir por #include <Arduino.h>
>
> Não sei informar exatamente o que tinha no lugar mas fica assim:
>
> #ifndef IRremoteint_h
> #define IRremoteint_h
>
> #include <Arduino.h>
>
> 2011/12/22 Tiago Anjinho <tf.sil...@hotmail.com>

Vinicius Rezende

unread,
Dec 25, 2011, 5:14:26 PM12/25/11
to arduino-...@googlegroups.com
Opa jovem!

Segue anexo a biblioteca corrigida e abaixo o código que fiz para testar um controle remoto:

#include <IRremote.h>
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
IRrecv irrecv(6);
decode_results results;

void setup() {
  lcd.begin(16, 2);
  lcd.print("IR RECEIVER");
  irrecv.enableIRIn();
}

void loop() {
  lcd.setCursor(0, 1);  
  if (irrecv.decode(&results)) {
    if (results.value != 0xFFFFFFFF)
    {
    lcd.print(results.value, HEX);  
    }
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
}
}

Por algum motivo nada aparecia na COM de Serial :/ ... mas com LCD deu tudo certinho.

2011/12/23 Tiago Anjinho <tf.s...@hotmail.com>
IRremote.zip

Angelo Cnop

unread,
Dec 25, 2011, 8:55:15 PM12/25/11
to arduino-...@googlegroups.com
kra... sugestao... da proxima vez use i²c e poupe infinitos fios :P 


a biblioteca tah em anexo

sda analog 4
scl analog 5

sou usa esses 2 :P e as entradas de energia claro...
_____________________________________________
Best Regards,
"Iluminado é aquele que conhece a si mesmo como conhece a palma de sua mão" 
Siddharta Gautama




Date: Sun, 25 Dec 2011 20:14:26 -0200
Subject: Re: [arduino-brasilia] Re: erro: "IRrecv`does not name a type
From: vinici...@gmail.com
To: arduino-...@googlegroups.com
LiquidCrystal_I2C_85.zip

Vinicius Rezende

unread,
Dec 25, 2011, 9:44:03 PM12/25/11
to arduino-...@googlegroups.com
Jovem, eu nem tenho arduino(encomendei o meu mas encomenda internacional nessa época do ano é um carnaval, amigo meu não aguentou e comprou um no Lab de Garagem na mesma semana, brincamos com o dele)
Fiz baseado nos exemplos do arduino.cc mesmo :)
E pra quem tem um Arduino Mega tô tranquilo com os pinos :P 
Até por que é mais fácil usar um LCD Serial

2011/12/25 Angelo Cnop <angel...@hotmail.com>
Reply all
Reply to author
Forward
0 new messages