• ベストアンサー

[AVR] PWMの共有?

セグメントLEDを使った時計を作りたいと思っています。 ちょっとケタ数が多いので、制御部と表示部に分けて作ります。 IIC通信でデータを送ろうと思っていますが、確定はしていません。 (表示部には3台のマイコンを使います) しかし、ここで問題が発生します。 明るさをボタンから設定できるようにしたいのですが、 明るさの情報(Duty比)はどのように共有するのでしょうか。 可能な限り効率的な方法を教えていただけると幸いです。 ATmega88P-20PU, ATmega644p

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

「共有」と考えるから話が難しく思えるだけでしょう。 AVRともPWMとも関係ない一般論的な設計方針の問題になりますが、 制御部から表示部に伝送するデータの中に、表示情報だけでなく明るさ情報も入れるだけの話です。(制御部からは各表示部に宛てて、個別に明るさ情報を3回送信する) 表示内容の更新頻度が十分高く、また転送速度的にデータ量増加が問題にならないのであれば、毎回伝送するデータの中に明るさ情報も入れてしまうのが簡単確実です。 表示内容の更新頻度が低い場合は、明るさ変更ボタン操作時にも、明るさの設定変更を表示側に伝える必要がありますので、 ・表示データ伝送と、明るさデータ伝送と、二種類のデータを送れるようにプロトコル設計し、普段は表示データ伝送を行い、明るさボタン操作時には明るさデータ伝送を行う。 ・明るさボタン操作時にも画面更新する(明るさデータも含めた画面表示内容の伝送を行う) のどちらかになるかと思います。 ちなみに、私も AVR で、制御部+表示部×3の時計を作ったことがありますが、 その時は、表示内容は毎秒更新して、そのデータの中に明るさ情報も入れるようにしました。 http://taka2.info/20110228/clock/

Erorin
質問者

お礼

やはり明るさの情報を直接データに載せる方式になるのですね。 転送スピードを気にしていたので懸念していたのですが・・・ 回答有り難うございました。

関連するQ&A

専門家に質問してみよう