TLC5940でArduino PWMを拡張: 16チャンネルLEDドライバ完全ガイド
このArduinoチュートリアルでは、TLC5940 PWMドライバをArduinoボードで使用する方法を学びます。TLC5940は16チャンネルのLEDドライバでPWM出力を提供し、ArduinoのPWM機能を拡張するのに最適です。LEDだけでなく、サーボ、DCモータなどPWM信号で制御可能な電子部品にも使用できます。 デイジーチェーンは優れた機能で、複数のTLC5940 ICを直列接続できます。これによりArduinoの同じ4ピンで16出力以上(32, 48, 64...)のPWM出力を制御可能です。 TLC5940制御にはArduinoの4ピンを使用します。Alex Leone氏作のTLC5940 Arduinoライブラリに合わせて、以下の回路図のように接続します。 上記回路図は外部電源でLEDを駆動していますが、総電流がArduinoの限度(絶対最大定格:VCC/GNDピン200mA)を超えないならArduinoのVCCからでも駆動可能です。 グラフによると、20mAが必要なLEDを制御するには2kΩ抵抗を使用します。 Alex Leone氏作のTLC5940 Arduinoライブラリをダウンロード・インストール後、付属の「BasicUse」デモ例で基本を理解できます。このチュートリアル用に16個のLEDを制御するシンプルなコードを作成しました。コメントを参照して関数の動作を理解してください。 複数のICを直列接続する場合、基本回路図は同じです。違いは最初のICのSOUT(信号出力・ピン17)を、次のICのSIN(信号入力・ピン26)に接続する点のみです。 TLC5940ライブラリフォルダ内の 応用例として、2つのTLC5940で32個のLEDを制御した「DIY LEDハートフォトフレーム - Arduinoプロジェクト」も公開しています(リンク参照)。 以上でこのチュートリアルは終了です。ご質問はコメント欄でお気軽にどうぞ。概要

基本機能
必要なコンポーネント
ArduinoとTLC5940の配線

重要な注意点

ソースコード
/*
* Arduino and TLC5940 Tutorial - Simple Example
* by Dejan Nedelkovski, www.HowToMechatronics.com
*/
#include "Tlc5940.h"
void setup() {
Tlc.init(0); // TLC5940初期化、全チャンネルOFF
}
void loop() {
// チャンネル0を最大輝度(4095)に設定
Tlc.set(0, 4095); // (出力ピン 0-15, PWM値 0-4095)
// 注意: set()だけでは出力されない。update()で反映される!
Tlc.update();
delay(1000);
// 全16チャンネルを同時に最大輝度で点灯
for (int i = 0; i < 16; i++) {
Tlc.set(i, 4095);
}
Tlc.update(); // 全チャンネル同時更新
delay(1000);
// 全チャンネルクリア(PWM値0)
Tlc.clear();
Tlc.update();
delay(1000);
// 16個のLEDを順番に点灯
for (int i = 0; i < 16; i++) {
Tlc.set(i, 4095);
Tlc.update();
delay(200);
Tlc.clear();
Tlc.update();
delay(200);
}
}主要関数の説明
Tlc.init(初期値): 初期化、全チャンネルを指定値(通常0)に設定Tlc.set(channel, value): 指定チャンネル(0-15)のPWM値(0-4095)を設定。**この時点では出力変化しない**Tlc.update(): 設定された値を実際に出力に反映Tlc.clear(): 全チャンネルを0(オフ)に設定複数のTLC5940を接続する(デイジーチェーン)

プログラミング側の変更
tlc_config.hファイルを開き、NUM_TLCSの値を接続IC数(この場合2)に変更します。これで0〜31のチャンネル番号で全LEDをアドレス指定でき、プログラミング方法は単体時と同じです。
製造プロセス
- OpenSensorsで空気質を測定: ArduinoとPythonによるガイド
- Arduinoで作るセキュアなRFIDロック – ステップバイステップガイド
- ArduinoでユニバーサルIRリモコンを自作:ステップバイステップガイド
- デジタル身長計の自作:Arduino Nanoとレーザー距離センサーで成長記録
- サーミスタを使った温度測定: Arduinoステップバイステップガイド
- Arduinoで楽器演奏:音階生成のステップバイステップガイド
- Arduino Nanoと指紋センサーで作るバイオメトリクス認証システム – 完全チュートリアル
- ArduinoでModbusをマスターする:ステップバイステップガイド
- Arduino UNOで作るミニピアノ - ステップバイステップチュートリアル
- Arduino Nanoで作るJARVIS v1 音声制御ホームオートメーション
- Arduino初心者チュートリアル01: 最初のプロジェクトを始めよう