目次
7セグメントLEDガイド
TM1637 ICを内蔵した4桁の7セグメント表示器(FND)を、ILOGICS Arduino SDKの内蔵関数で制御できます。
SDKをインストールしていない場合は、ILOGICS Arduino SDKダウンロードページからインストールしてください。MPINO STUDIO2ではインストールは不要です。
1. 使用する7セグメントLEDを確認する
2. 製品に接続する
接続する前に、製品とモジュールの電源を切ってください。
下はMPINO-8A4R-SにMolex 4ピン(5264-04)ケーブルで7セグメント表示器(FND)を接続した例です。ケーブルの色は変わることがあるため、色ではなくピン名を見て接続してください。
製品別の配線
下の端子は1台目(装置0)のものです。最大台数までの配線は製品名を開いて確認してください。
| 配線図 | 最大台数 | LEDのCLKに接続する端子 | LEDのDIOに接続する端子 | 同時に使用できない機能 |
|---|---|---|---|---|
| MPINO-8A4R(T)-S | 2 | FND/ENCO CLK (D24) | FND/ENCO DIO (D25) | 同じ端子のエンコーダ・割り込み入力 |
| MPINO-8A4R-SU | 4 | FND/ENCO CLK (D24) | FND/ENCO DIO (D25) | 同じ端子のエンコーダ・割り込み入力 |
| MPINO-8A8R(T)-S | 4 | ENC/FND CLK (D24) | ENC/FND DIO (D25) | 同じ端子のエンコーダ・割り込み入力 |
| MPINO-16A16R | 2 | ENC/FND CLK (D24) | ENC/FND DIO (D25) | 同じ端子のエンコーダ・割り込み入力 |
| MPINO-8A8R | 3 | PWM7 (D7) | PWM8 (D8) | 同じ端子のPWM出力 |
| MPINO-16A8R | 2 | A(2)(Arduino A2) | A(3)(Arduino A3) | 同じ端子のアナログ入力 |
| MPINO-16A8R8T | 2 | P(5)(Arduino D5) | P(2)(Arduino D2) | 同じ端子のPWM出力 |
| MPAINO-8A8R(T) | 1 | UART TXD (D14) | UART RXD (D15) | Serial3 UART |
MPINO-8A8T-S: 標準品はD24・D25の4.7kΩプルダウン抵抗のため、ENC/FNDコネクタで7セグメント(TM1637)を制御できません。ご注文時に「7セグメント制御」オプションを選択すると、10kΩプルアップ抵抗に変更してお届けします。PWM端子には影響しないため、標準品でも最大3台を接続できます。
その他のMPAINOモデルとK・K2モジュール: このガイドは現在、MPAINO-8A8R(T)に1台接続する場合を対象としています。その他のMPAINOモデルに接続する場合や、K・K2パルス出力モジュールで台数を増やす場合は、事前にお問い合わせください。
3. ILOGICS内蔵関数
| 関数 | 機能 | 使用例 |
|---|---|---|
| IsegBegin(clkPin, dioPin) | LEDのCLK・DIOに接続したArduinoピンを指定 | IsegBegin(24, 25); |
| IsegBrightness(brightness) | 明るさを設定(0~7、数字が大きいほど明るい) | IsegBrightness(7); |
| IsegDecimal(number) | 整数を10進数で表示 | IsegDecimal(123); |
| IsegHex(number) | 整数を16進数で表示 | IsegHex(0xABCD); |
| IsegClear() | 4桁の表示を消去 | IsegClear(); |
| IsegWrite(segments) | 桁ごとのセグメント値を直接表示 | 下の123Vの例を参照 |
| IsegEncodeDigit(digit) | 数字1桁をセグメント値に変換 | IsegEncodeDigit(1) |
IsegBegin()のtrueは、指定した設定値が有効であるという意味です。実際のLEDの応答は、続けて呼び出す通信関数の戻り値で確認できます。
4. 例:123を表示する
MPINO-8A4R(T)-SのFND/ENCOコネクタにLEDを1台接続した例です。
Arduino IDEで新しいスケッチにコードを入力し、ボードとポートを選択してから、検証(✓) → 書き込み(→)の順に実行してください。
void setup() { IsegBegin(24, 25); // FND/ENCO: D24 → CLK, D25 → DIO IsegBrightness(7); // LEDの明るさを7に設定 IsegDecimal(123); // 123を表示 } void loop() { }
書き込みが終わったら、LEDに123が表示されることを確認してください。左の空いた桁には何も表示されません。
表示を変える例
次の呼び出しは、上のコードのIsegDecimal(123);の代わりに一度に一つずつ使用してください。
IsegDecimal(123, true); // 先頭の0を含めて0123を表示 IsegDecimal(123, true, 2); // 小数点型のLEDで01.23を表示 IsegHex(0xABCD); // 16進数4桁を表示 IsegClear(); // 4桁を消去
123Vを表示するには、setup()のIsegDecimal(123);の代わりに下のコードを使用してください。0x3Eは文字Vにあたる、F・E・D・C・Bセグメントの値です。
uint8_t displayData[4] = { IsegEncodeDigit(1), IsegEncodeDigit(2), IsegEncodeDigit(3), 0x3E }; IsegWrite(displayData);
複数台を使用する
複数のLEDを使用するには、それぞれに装置番号を割り当てます。装置番号はIsegBegin()の第4引数と、表示関数の最後の引数です。省略すると0になります。関数が受け付ける装置番号は0~6で、製品ごとの接続台数は上の表のとおりです。装置番号ごとのピン設定は製品別の配線ページに記載しています。この例はMPINO-8A4R(T)-S用です。
void setup() { IsegBegin(24, 25, 100, 0); // 装置0: FND/ENCO IsegBegin(21, 22, 100, 1); // 装置1: PWM IsegBrightness(7, true, 0); IsegBrightness(7, true, 1); IsegDecimal(1234, false, 0, 4, 0, 0); // 装置0に1234を表示 IsegDecimal(5678, false, 0, 4, 0, 1); // 装置1に5678を表示 } void loop() { }
5. 表示されないときの確認
- Arduino IDEで、実際の製品に合ったILOGICSボードとCOMポートを選択しているか確認してください。
- プログラムが先に
IsegBegin()を呼び出しているか、IsegDecimal()に4桁で表示できる数値を指定しているかを確認してください。4桁の場合、IsegDecimal()が表示できるのは-999~9999です。範囲を超える数値は表示されず、関数はfalseを返します。




