この写真は試作基板です。


  • SPI/I2Cで制御できる4チャネルのディジタル調光器です。標準プログラムでは本機だけの単独使用はできません。
  • #115と違い、制御回路はAC100Vから絶縁されています(マイコン回路に接続する用途のため)。
  • 白熱電球タイプ、LEDタイプのチューブ・ライト、LEDライトに使用できます。
  • 通常の白熱電球(蛍光灯は不可)などにも使用できます。

I2C/SPIシリーズ

【主な仕様】

【関連、類似品】

【ドキュメント】

基板レイアウト

I2Cのベース・アドレスは0x60ですが、I2Cコマンドにより変更可能です(07/08/30)

ベース・アドレスが0x60の場合、ジャンパにより、スレーブアドレスを0x60〜0x63に変更できます。次表はジャンパの設定一覧です。Oはオープン、Sはショートを示します。

JP1
JP2
I2Cアドレス
O
O
0x60
O
S
0x61
S
O
0x62
S
S
0x63
I2C/SPIで受信するコマンド/データは8ビット単位で、上位2ビットがチャネル番号(0〜3)、下位6ビットが明るさデータ(ゲートのONディレイ値:0, 1〜60)です。明るさデータは小さいほど明るくなりますが、0を設定すると消灯します。 この明るさデータはトライアックのゲート・パルスがゼロ・クロス点からONするまでのディレイ時間を設定するものなので、数値と明るさは比例していません。
I2C/SPIでホスト(マスタ)から送信されるデータのフォーマットです。8ビットで1つのチャネルの明るさを設定します。

"明るさ"値
 0:OFF
 1(明)〜60(暗)

C言語プログラム ホスト(マスタ)例 プログラム例

"I2CStart()"、"I2CStop"は順にスタート・コンディション、ストップ・コンディションを発行する関数、"I2CWrite()"は1バイト マスタ送信する関数とします。初期化などは省略しています。

#143のI2CアドレスはジャンパJP1〜JP2をすべてオープンで0x60に設定しているものとします。この場合、コントロール・バイト (R/W = "W") の値は0xC0となります。

  // LCDをクリア
  I2CStart(0);      // スタート・コンディション発行
  I2CWrite(0xC0);     // CB(W) adrs=0x60
  I2CWrite(0x08);     // CH0=0x08
  I2CWrite(0x50);     // CH1=0x10
  I2CWrite(0x84);     // Ch2=0x04
  I2CWrite(0xC7);     // CH3=0x07
  I2CStop();       // ストップ・コンディション発行

上記例のように全チャネルを同時に設定することも各チャネル毎に個別に設定することもできます。

ベース・アドレスを0x20(電源周波数は60Hz)に変更する場合は、次のように、5バイトのダミーデータを送信したあとに6バイト目に設定値を送信します。

  I2CStart(0);      // スタート・コンディション発行
  I2CWrite(0xC0);     // CB(W) adrs=0x60
  I2CWrite(0x00);     // ダミーデータ
  I2CWrite(0x00);     // ダミーデータ
  I2CWrite(0x00);     // ダミーデータ
  I2CWrite(0x00);     // ダミーデータ
  I2CWrite(0x00);     // ダミーデータ
  I2CWrite(0x20);     // 設定値※
  I2CStop();       // ストップ・コンディション発行

※設定値はb7が電源周波数の指定(0: 60Hz、1:50Hz)、b6〜b0がI2Cスレーブ・ベース・アドレスとなっています。

ベース・アドレス、電源周波数を設定する際は、100V入力は接続する必要はありません。また、設定後にLEDが2回点滅します。このあと、一旦5V電源を切ってください。設定はPICのEEPROMへ記憶されます。

【使用例】

【ご注意】

【プリント基板、部品販売】