第 7 章 家電音声化システム・家電操作の実証
7.4 家電 LED の読み取り目的と原理
実証用家電のボタンをうまくコントロールできるようにSwitch Emulation Boardを制御 するソフトウェアを通信ボード上に実装した。
7.3.3 ボタン入力エミュレーションソフトウェアの概要
Explorer16 から電圧(ON⇒1、OFF⇒0)を入力して、ボタンの入力のエミュレーションを
実現する。
IOa_0、IOa_1 、IOb_0 、IOb_1の4つ線の各自の2つ状態を組み合わせて、2x2x2x2=16 状態までに出力できる。
下表は4つピンの入力とコントロールボタンの機能の対照表である。
表 7.1 入力ピンとボタン対照表
IOb・IOa 00 01 10 11
00 ボタンを離す ― ― ―
01 コーヒー(SW10) 10分(SW4) 時(SW7) 取り消し(SW1) 10 トースト(SW11) 予約(SW5) 時計(SW8) スタート(SW2) 11 卵焼き(SW12) 濃(SW6) 淡(SW9) アラーム(SW3)
横はIOa_0とIOa_1の組み合わせである。
縦はIOb_0とIOb_1の組み合わせである。
7.3.4 ボタン入力エミュレーションソフトウェアの実装
Explorer16の4つ空いている出力Portを選択して、Oa_0、IOa_1 、IOb_0 、IOb_1に
入力する。Explorer16の出力をソフトウェアでコントロールして、ボタン入力のコントロー ル目的を達成する。
受信する命令をエミュレーションでボタンの操作のかわりをする時、ソフトウェアの実装 に対して、注意するところがある。
(1)連続的な幾つかのボタン操作命令の場合、次のボタン操作のエミュレーションをする前 に、実機(おまかせミールさん)は先のボタンを読み取るまでに、先のボタン動作状態をそ のまま保持する必要がある。実機がボタンを読み取った後は、次のボタン操作のエミュレー ションをしても大丈夫である。そうしないと、先のボタン操作を読み落とすことが発生する はず。
(2)次のボタンを押す前に、前のボタンを離す必要がある。ボタンを離すコードは0000で
ある。
(3) IOaとIObの4bitは同時に変化されなければならない、設定する過程に間違った入力
値は認識される可能性がある。つまり、4bitを一括設定する。
以上の注意点に従って、エミュレーションソフトウェアのソースを実装した。
7.4.1 1つLEDの点灯原理
多LEDダイナミック点灯原理を説明する前に1つLEDの点灯原理を説明する。
図 7-12 1つLEDの点灯原理
上図は1つ数字を表示できるLEDの点灯原理図である、家電のマイコンはONとOFFの 命令をLEDの入力ピンに送ってLEDの表示をコントロールする。ONとOFF命令につい ては、ON=High/OFF=LowとON=Low/OFF=Highのような2 パタンがある、これは実証 用家電によって違うことである。
これからの LED 読み取り部分の説明は ON=Low/OFF=Highの場合で例として行う。普 段の1つLED の入力に対して1つ8Bitのマイコンの出力Port(これからLED入力Portと 呼ぶ)を用意する。LED入力Portは1つint8の変数として使うと、LEDの点灯の内容をコ ントロールできる。下表は1つLED入力Port各Bitの意味の一例である。
表 7.2 LED入力Port
Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 a b c d e f g dp
a~gの順番が逆にする並び方とdpをBit7に置く並び方もある。上表の並び方で考えると、
ON=Low=0/OFF=High=1の場合にLED入力Portの値と表示数字の関係は下表で示す。
表 7.3 LED入力Portの値と表示数字の対照表
表示数字 入力値(Bit7~Bit1) 0 0000001
1 1001111 2 0010010 3 0000110 4 1001100 5 0100100 6 0100000 7 0001111 8 0000000 9 0000100
上表のような数字の以外は、部分のローマ字も表示できる。下表で幾つの例を挙がる。
表 7.4 LED入力Portの値と部分ローマ字の対照表
ローマ字 入力値(Bit7~Bit1) A 0001000
b 1100000 C 0110001 d 1000010 E 0110000 F 0111000
O 数字の 0 と同じ
ここ以上は1つLEDの点灯の原理である。しかし、1つLEDだけ使っている家電が尐な い、大部分の家電はLEDを使う目的は時間の表示である。時間を表示するため、4つLED を同時に使用する家電が多い。今回の実証用家電のLED(図 7-5SharpのGL-3P404)もこの ような形である。
GL-3P404は4つDigit Segmentで構造するLEDである。こらから、GL-3P404のDigit
SegmentはDig.1~Dig4を呼ぶ。次は実証用家電の中にGL-3P404のダイナミック方式を説
明する。
7.4.2 LED/SW ボードとGL-3P404のダイナミック読み取りの関係
実証用家電はGL-3P404と直接に繋がる部分がLED/SWボードである、LED/SWボード とマザーボードが 15 芯のフラットケーブルで結線されているので。このフラットケーブル の LED をコントロールしているピンの出力値を読むと、GL-3P404 のダイナミックを読み 取りできる。フラットケーブルのピンとGL-3P404の繋がり方を下図で示す。
図 7-13 フラットケーブルのピンとGL-3P404の繋がり方
実証用家電のフラットケーブルはピン1~8はGL-3P404の各Digit Segmentの表示内容 をコントロールしている。ピン 9~15はボタン入力が使っているピンである(7.3 に説明があ る)。しかし、ピン1~8の8Bitの入力で4つDigit Segmentをうまくコントロールするこ とは、ピン9~12の入力も考える必要がある。
ピン9はONの時 ⇒ ピン1~8はDig.4をコントロールする ピン10はONの時 ⇒ ピン1~8はDig.3をコントロールする ピン11はONの時 ⇒ ピン1~8はDig.2をコントロールする ピン12はONの時 ⇒ ピン1~8はDig.1をコントロールする
ピン9~12 は周期に繰り返してON に変わる。この周期は十分速いなら、人はLEDを見
ると、4つDigit Segmentは全部表示している様子に成れる。
ここまでは実証用家電の LED ダイナミック点灯原理を紹介したが、4 つDigit Segment の表示をうまく読み取る前に、ピン9~12の入力も考える必要があるので、実装する前の事 前調査で調べた。