テキサス・インスツルメンツのTLC5940はPWM出力の数を増やしたいときに便利なICです。16チャネルのPWM出力を持ち、ディーティ比を12ビット(0-4095)で制御できます。また、6ビットの電流制御機構、デイジーチェーン接続が可能なシリアルインタフェイスなどを備えています。データシートは次のURLから取得できます。http://www.ti.com/lit/gpn/tlc5940 【インストール方法】 次のURLから最新版をダウンロードしてください。 http://code.google.com/p/tlc5940arduino/downloads/list ダウンロードしたzipファイルを展開すると現れるTlc5940フォルダを<Arduinoフォルダ>/hardware/libraries/に移動します。 【ハードウエアの接続方法】 この図は2つのTLC5940NTをデイジチェーン接続して、32個のLEDをコントロールする例です。TLC5940を1つだけ使う場合は、上のTLC5940は無視してください。 2個以上のTLC5940を接続するときは、tlc_config.hの定数NUM_TLCSを変更する必要があります。 2KΩの抵抗によって、各チャネルの出力は20mAに設定されます。電流値の求め方は次の式のとおりです。 l = 39.06 / R 例: 39.06 / 2000Ω = 0.020A 10KΩのプルアップ抵抗は、Arduinoボードがリセット状態のとき、出力をオフ(BLANK)にするためのものです。 【ライブラリの主な機能】 Tlc.init(int initialValue) タイマを設定するため、最初に実行します。initialValueは0から4095の値で、デフォルトは0(全チャネルがオフ)です。 Tlc.clear() 全チャネルをオフにします。設定を反映させるために、Tlc.update()を実行する必要があります。 Tlc.set(uint8_t channel, int value) デューティ比を設定します。LEDを接続する場合は階調データに相当します。channelは0から15です。2つ以上のTLC5940を接続する場合は、0から NUM_TLCS * 16 - 1となります。valueは0から4095です。設定を反映させるために、Tlc.update()を実行する必要があります。 Tlc.setAll(int value) すべてのチャネルの値をvalueに設定します。設定を反映させるために、Tlc.update()を実行する必要があります。 uint16_t Tlc.get(uint8_t channel) 指定したチャネルのデータを取得します。 Tlc.update() Tle.setやTlc.clearによって行われた変更を反映させます。 【例】 ナイトライダー風にLEDが点滅します。 #include "Tlc5940.h" void setup() { Tlc.init(); // 初期化 } void loop() { int8_t direction = 1; for (TLC_CHANNEL_TYPE channel = 0; channel < NUM_TLCS * 16; channel += direction) { Tlc.clear(); // 全出力のグレースケール値(明るさ)を0に設定 Tlc.set(channel, 4095); // グレースケールを設定する。0がオフ、4095で100% Tlc.update(); // この命令が実行されたときにLEDの状態が変化する delay(75); if (channel == NUM_TLCS * 16 - 1) direction = -1; } } [目次へ戻る] |
Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください
[ドキュメント一覧]