Sensore ir e riceitore, stesso arduino


ciao tutti! sono alle prime armi con il mio arduino uno, ho collegato il mio ricevitore ir e il mio led ir all'arduino. ho utilizzato la libreria irremote per il ricevitore e, premendo un pulsante sul telecomando della mia tv, vedo il codice esadecimale del relativo tasto, non riesco invece vedere le informazioni relative al mio led collegato all'arduino. io voglio semplicemente fare in modo che se io metto un ostacolo (per esempio una mano) fra led e ricevitore si accenda un'altro led. ovviamente devo fare tutto questo con lo stesso arduino.

non serve mandare un codice ma solo pilotare il led con la frequenza giusta per il ricevitore.
sotto lo sketch per un ricevitore da 38khz. (spero che sia funzionante visto che ho tolto l' uso dela libreria tinkerkit)
ciao uwe


code: [select]
//pin definitions

#define rxb 14    //pin a0; tinkerkit i0 tsop
#define tx 11      //tinkerkit o0 line ir led  transmitter

//flag
boolean hitb = true; //same above beam b
boolean transmitting_ir; //transmission flag

// turn_off , turn_on, detect functions come from
// http://www.eng.utah.edu/~cs1410/labs/lab09.html
void turn_off_ir ()
{
  // instead of adjusting output on pin 11, code also
  // turns off timer controlling pwm output on pin 11
 
  tccr2a = 0; // disconnect pwm
  tccr2b = 0; // stops timer
  ocr2a = 0;  // no timer top
  digitalwrite(11, low);  // ensure output off
 
  transmitting_ir = false;
}

void turn_on_ir ()
{
  //   set timer2 (which can connected pins 3 , 11)
  //   for full details, see:
  //   arduino.cc/en/tutorial/secretsofarduinopwm
  //   the syntax here has me baffled, patterns of usage
  //   are clear if @ atmega328 diagrams.
  //   _bv appears stand 'bit value'
  //   different bits need set control each timer
  //   refer diagrams clarity

  tccr2a = _bv(wgm21) | _bv(com2a0); // mode toggles output once per timer cycle
  tccr2b = _bv(cs20);  // not scale clock down - use 16 mhz timer rate.
  ocr2a = 210; // divide sys. clock 210, 1/2 cycle = 76 khz, 1 cycle = 38 khz
 
  // output pin 11 should emitting 38 khz signal.
 
  transmitting_ir = true;
}


void detectir()
{
    if(digitalread(rxb)){
    digitalwrite(13, low);
    }else{
    digitalwrite(13, high);
    }
}


void setup(){ 
  pinmode(tx, output);
  pinmode(rxb, input);
  pinmode(13, output);
  delay(100);
}

void loop(){
  detectir(); // search ir
  delay(50); 
}


Arduino Forum > International > Italiano > Software (Moderator: leo72) > Sensore ir e riceitore, stesso arduino


arduino

Comments

Popular posts from this blog

invalid use of void expresion in FlexiTimer2 library

error: a function-definition is not allowed here before '{' token

LED Strip Code