leo72:
Puoi in alternativa utilizzare il timer 1 impostato per generare un segnale PWM a 38 kHz.
Attualmente per attivare i 38khz e poi disattivarli uso queste due funzuini.
void turn_on_IR ()
{
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.
}
void turn_off_IR ()
{
// TCCR2A = 0; // Disconnect PWM
//TCCR2B = 0; // Stops the timer
//OCR2A = 0; // No timer top
digitalWrite(irLED, LOW); // Ensure output is off
}
Quindi utilizzo il timer 2 per generare i 38khz. Se volessi quindi utilizzare il timer1 come dovrei procedere per modificare le due funzioni, o meglio, a questo punto solo l'accensione visto che turnOff() spegne solo il led..
Queste funzioni aimè sono copia e incolla quindi non saprei dove mettere mani..![]()
Grazie