■リモート・リモコンは造りこみを継続中。リモコンの赤外線信号にはPWMによる39KHz発振を使っていて、今まではOC1A(PB1ポート)を使って実装していた。ただ、コントロール対象は複数あるので、送信器が物理的に1つだけだとちょっと不便で複数欲しい。そこでもう1つOC1B(PB2ポート)を使って実装することにした。
PB1は赤外線LEDにTLN233を使うことを想定して、TLN233の直流最大定格の100mAに合わせて、100mA程度を流す設計にしていた。ただ、入手できる赤外線LEDでは直流最大定格が50mAであるものが多く、追加するPB2については50mA程度になるように変更した。変更したと行っても、PWMで制御するn-FETのドライブ回路はそのままで、赤外LEDへの給電ラインに挿入する抵抗値を大きくしただけ。
どちらかと言えばファームウェアの方が課題かもしれない。家電製品の赤外線リモコンのプロトコルはメーカーごとに異なっていて、操作する家電ごとにプロトコルを切り替えることが必要なのに加えて、さらにポートの切り替えもできるようにしたい。そうでないとちょっと不便だし。
物理的なレイヤーとしてはA,B2つのポートがあり、その上に家電メーカーごとのプロトコルがあり、そのもう1つ上に信号データそのものが乗る形にして、上位のレイヤーは下位のレイヤーの実装を意識しないように作る。そうしておくと扱いやすい。本当はオブジェクト指向な記述でまとめられるとすっきりするのだけど、それはできないので愚直にライブラリを積み上げていく構造でプログラムは実装することになります。
Copyright (C) 2008-2015 Satosh Saitou. All rights reserved.