Sensore ir e riceitore, stesso arduino

ciao a 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 a 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

//pin definitions

#define RXB 14    //Pin A0; Tinkerkit I0 TSOP 
#define TX 11      //Tinkerkit O0 line for the IR LED  transmitter

//flag
boolean hitB = true; //same as above for beam B
boolean transmitting_IR; //transmission flag

// turn_off , turn_on, detect functions come as is from
// http://www.eng.utah.edu/~cs1410/Labs/lab09.html
void turn_off_IR ()
{
  // Instead of just adjusting the output on pin 11, this code also
  // turns off the timer controlling the PWM output on pin 11
  
  TCCR2A = 0; // Disconnect PWM
  TCCR2B = 0; // Stops the timer
  OCR2A = 0;  // No timer top
  digitalWrite(11, LOW);  // Ensure output is off
  
  transmitting_IR = false;
}

void turn_on_IR ()
{
  //   Set up Timer2 (which can be connected to pins 3 and 11)
  //   For full details, see:
  //   arduino.cc/en/Tutorial/SecretsOfArduinoPWM
  //   The syntax here has me baffled, but the patterns of usage
  //   are clear if you look at the ATMega328 diagrams.
  //   _BV appears to stand for 'bit value'
  //   Different bits need to be set to control each timer
  //   Refer to diagrams for clarity

  TCCR2A = _BV(WGM21) | _BV(COM2A0); // This mode toggles output once per timer cycle
  TCCR2B = _BV(CS20);  // Do not scale the clock down - use 16 MHz timer rate.
  OCR2A = 210; // Divide sys. clock by 210, 1/2 cycle = 76 khz, 1 cycle = 38 khz
  
  // Output pin 11 should now be emitting a 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 for IR
  delay(50);  
}

Grazie Uwe! non Ho capito 2 cose, cos'è tinkerkit e cosa ci deve essere collegato nel pin 11 Grazie di nuovo ;)

Il Tinkerkit é questo http://store.arduino.cc/index.php?main_page=product_info&products_code=K000001 un sistema a moduli per Arduino. Sono usati solo i pin PWM e quelli delle entrate analogiche. Avevo scritto il sketch per quello e ho modificato il codice da non usare la libreria. Se ho fatto tutto giusto dovrebbe funzionare senza libreria.

Sul pin 11 va il LED IR e sul pin A1 il ricevitore IR. il pin 11 non é modificabile perché la frequenza viene generata dal timer che gestiece quello e un altro pin. Il ricevitore puó essere collegato a qualsiasi pin.

Ciao Uwe