PWM con arduino Mega

Per impostare Pwm su arduino duemilanove si fa riferimento
http://www.arduino.cc/playground/Main/TimerPWMCheatsheet

invece per chi com eme ha arduino Mega le impostazioni per la pwm per il timer due sono pressochè identiche a meno di cambaire il pin.
Ho pensato di condividere questa informazione spero sia utile

/*PWM valido per  arduino Mega 
Pins 9 and 10: controlled by timer 2

Setting       Divisor       Frequency
0x01              1              31250
0x02              8              3906.25
0x03              32              976.5625
0x04              64              488.28125
0x05              128              244.140625
0x06              256              122.0703125
0x07              1024              30.517578125

TCCR2B = TCCR2B & 0xF8 | <setting>;

Pins 4 and 13 controlled by timer 2

Setting       Divisor       Frequency
0x01              1              976.5625
0x02              8              976.5625
0x03              32              976.5625
0x04              64              976.5625
0x05              128              976.5625
0x06              256              976.5625
0x07              1024              976.5625

per qualunque setting ho sempre 976.5625 Hz






*/


#define  LED 13
 
void setup()

{
TCCR2B = TCCR2B & 0xF8 | 3 ;
  pinMode(LED, OUTPUT);

}

void loop()
{
  analogWrite(LED, 127);

}

Completo i possibili utilizzi con i tre timer

Pins 13 and 4: controlled by Timer 0

Setting Divisor Frequency
0x01 1 62500
0x02 8 7812.5
0x03 64 976.5625
0x04 256 244.140625
0x05 1024 61.03515625

TCCR0B = TCCR0B & 0b11111000 | ;

Pins 11 and 12 : controlled by timer 1

Setting Divisor Frequency
0x01 1 31250
0x02 8 3906.25
0x03 64 488.28125
0x04 256 122.0703125
0x05 1024 30.517578125

TCCR1B = TCCR1B & 0b11111000 | ;

Pins 9 and 10: controlled by timer 2

Setting Divisor Frequency
0x01 1 31250
0x02 8 3906.25
0x03 32 976.5625
0x04 64 488.28125
0x05 128 244.140625
0x06 256 122.0703125
0x07 1024 30.517578125

TCCR2B = TCCR2B & 0xF8 | ;

Pins 4 and 13 controlled by timer 2

Setting Divisor Frequency
0x01 1 976.5625
0x02 8 976.5625
0x03 32 976.5625
0x04 64 976.5625
0x05 128 976.5625
0x06 256 976.5625
0x07 1024 976.5625

per qualunque setting ho sempre 976.5625 Hz.
Di default per se mi utilizzo un pin che non rientra nei casi di cui sopra, ottengo una frequenza di 490 HZ

:slight_smile: :slight_smile: :wink: