telecommande infrarouge


bonjour, je voudrais savoir pourquoi mon programme ne fonctionne pas, les erreurs qu'elles sont elles? car je pouvais rajouter à ma bibliothéque le irremote.h mais quand je le faisais cela me méttait des erreurs comme quoi des variables n'étaient pas définits. c'est pour cela que j'ai directement rajouté tous le programme et plus le programme que je devais écrire. donc maintenat les variablent sont bien définient mais les erreurs ont bien changées.
le programme etait celui la:
/*
   reception infrarouge
*/

#include <irremote.h>

int broche_reception = 11; // broche 11 utilisée
irrecv reception_ir(broche_reception); // crée une instance
decode_results decode_ir; // stockage données reçues

void setup()
{
  serial.begin(9600);
  reception_ir.enableirin(); // démarre la réception
}

void loop()
{
  if (reception_ir.decode(&decode_ir))
  {
    serial.println(decode_ir.value, hex);
    reception_ir.resume(); // reçoit le prochain code
  }
}
les erreurs sont:

sketch_may02a:8: error: 'irrecv' not name type
sketch_may02a:9: error: 'decode_results' not name type
sketch_may02a.ino: in function 'void setup()':
sketch_may02a:14: error: 'reception_ir' not declared in scope
sketch_may02a.ino: in function 'void loop()':
sketch_may02a:19: error: 'reception_ir' not declared in scope
sketch_may02a:19: error: 'decode_ir' not declared in scope


mais j'ai rajouté tous le irremote.h:
/*
   reception infrarouge
*/



/*
* irremote
* version 0.1 july, 2009
* copyright 2009 ken shirriff
* details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.htm http://arcfn.com
* edited mitra add new controller sanyo
*
* interrupt code based on necirrcv joe knapp
* http://www.arduino.cc/cgi-bin/yabb2/yabb.pl?num=1210243556
* influenced http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/
*
* jvc , panasonic protocol added kristian lauszus (thanks zenwheel , other people @ original blog post)
*/

#ifndef irremote_h
#define irremote_h

// following compile-time library options.
// if change them, recompile library.
// if debug defined, lot of debugging output printed during decoding.
// test must defined irtest unittests work.  make some
// methods virtual, slower, why optional.
// #define debug
// #define test

// results returned decoder
class decode_results {
public:
  int decode_type; // nec, sony, rc5, unknown
  unsigned int panasonicaddress; // used decoding panasonic data
  unsigned long value; // decoded value
  int bits; // number of bits in decoded value
  volatile unsigned int *rawbuf; // raw intervals in .5 ticks
  int rawlen; // number of records in rawbuf.
};

// values decode_type
#define nec 1
#define sony 2
#define rc5 3
#define rc6 4
#define dish 5
#define sharp 6
#define panasonic 7
#define jvc 8
#define sanyo 9
#define mitsubishi 10
#define unknown -1

// decoded value nec when repeat code received
#define repeat 0xffffffff

// main class receiving ir
class irrecv
{
public:
  irrecv(int recvpin);
  void blink13(int blinkflag);
  int decode(decode_results *results);
  void enableirin();
  void resume();
private:
  // these called decode
  int getrclevel(decode_results *results, int *offset, int *used, int t1);
  long decodenec(decode_results *results);
  long decodesony(decode_results *results);
  long decodesanyo(decode_results *results);
  long decodemitsubishi(decode_results *results);
  long decoderc5(decode_results *results);
  long decoderc6(decode_results *results);
  long decodepanasonic(decode_results *results);
  long decodejvc(decode_results *results);
  long decodehash(decode_results *results);
  int compare(unsigned int oldval, unsigned int newval);

}
;

// used testing; can remove virtual shorter code
#ifdef test
#define virtual virtual
#else
#define virtual
#endif

class irsend
{
public:
  irsend() {}
  void sendnec(unsigned long data, int nbits);
  void sendsony(unsigned long data, int nbits);
  // neither sanyo nor mitsubishi send implemented yet
  //  void sendsanyo(unsigned long data, int nbits);
  //  void sendmitsubishi(unsigned long data, int nbits);
  void sendraw(unsigned int buf[], int len, int hz);
  void sendrc5(unsigned long data, int nbits);
  void sendrc6(unsigned long data, int nbits);
  void senddish(unsigned long data, int nbits);
  void sendsharp(unsigned long data, int nbits);
  void sendpanasonic(unsigned int address, unsigned long data);
  void sendjvc(unsigned long data, int nbits, int repeat); // *note instead of sending repeat constant if want jvc repeat signal sent, send original code value , change repeat argument 0 1. jvc protocol repeats skipping header not sending separate code value nec does.
  // private:
  void enableirout(int khz);
  virtual void mark(int usec);
  virtual void space(int usec);
}
;

// useful constants

#define usecpertick 50  // microseconds per clock interrupt tick
#define rawbuf 100 // length of raw duration buffer

// marks tend 100us long, , spaces 100us short
// when received due sensor lag.
#define mark_excess 100

#endif


int broche_reception = 11; // broche 11 utilisée
irrecv reception_ir(broche_reception); // crée une instance
decode_results decode_ir; // stockage données reçues

void setup()
{
  serial.begin(9600);
  reception_ir.enableirin(); // démarre la réception
}

void loop()
{
  if (reception_ir.decode(&decode_ir))
  {
    serial.println(decode_ir.value, hex);
    reception_ir.resume(); // reçoit le prochain code
  }
}
mais maintenat les erreurs sont:

programme_arduino_ir.cpp.o: in function `__static_initialization_and_destruction_0':
c:\arduino-1.0.5/programme_arduino_ir.ino:128: undefined reference `irrecv::irrecv(int)'
programme_arduino_ir.cpp.o: in function `loop':
c:\arduino-1.0.5/programme_arduino_ir.ino:139: undefined reference `irrecv::decode(decode_results*)'
c:\arduino-1.0.5/programme_arduino_ir.ino:142: undefined reference `irrecv::resume()'
programme_arduino_ir.cpp.o: in function `setup':
c:\arduino-1.0.5/programme_arduino_ir.ino:134: undefined reference `irrecv::enableirin()'

ouais euh pourquoi recréer un topic ?


Arduino Forum > International > Français (Moderators: jfs, Snootlab) > telecommande infrarouge


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support