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
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
Post a Comment