- 追加された行はこの色です。
- 削除された行はこの色です。
#norelated
#contents
* PWMサンプル [#z3543dfc]
PWM(パルス幅変調)というAVRに内蔵されている機能を使って、LEDを明滅させてみる。~
要は、細かいON/OFFを繰り返して、そのON時間を調整することにより、時間あたりの流れる電流量を調整する技術なのかな。~
** 回路図 [#ne97aa60]
#ref(PWMTest.png,left,nowrap,PWMサンプル)
基本の回路から増えているのは、PB3から出ている、抵抗とLEDのみ。~
8bitタイマ0を使ってPWMの出力をする場合には、OC0AかOC0Bのピンを使用し、これはそれぞれPD6とPD5の兼用機能になるんだけど、PDには前回やったLCDがついてて、はずすのも面倒。~
なので、8bitタイマ2を使ってOC2AからPWM出力するようにし、これは空いてるPB3の兼用機能なので、PB3に繋いだ。~
上の回路図には、ちゃんと書かれてないけど、データシートには、PD3は(MOSI/OC2A/PCINT3)と書いてある。~
後で直しておくか……。~
実際の動作はこのムービーのような感じ。~
#u2b(V3PKjTetWa8,w=480,h=385)
** ソースコード [#seb357a6]
*** 基本動作 [#pb12880e]