IsegWrite()は指定位置にセグメントデータを出力します。
bool IsegWrite(const uint8_t segments[], uint8_t length = 4, uint8_t position = 0, uint8_t device = 0)
| コマンド | 引数 | 戻り値 | 動作 |
|---|---|---|---|
IsegWrite(segments, length, position, device) | const uint8_t segments[] — 各桁のXGFEDCBAセグメントビット配列uint8_t length = 4 — 書き込む桁数1~4uint8_t position = 0 — 書き込み開始位置0~3、左端の桁が0uint8_t device = 0 — FND装置番号0~6、省略時は0 | bool | 指定位置にセグメントデータを出力します。 |
const uint8_t CLK_PIN = 14; const uint8_t DIO_PIN = 15; void setup() { IsegBegin(CLK_PIN, DIO_PIN, 100, 0); // TM1637 FNDのCLK・DIOピンとデバイス番号を設定します。 IsegBrightness(5, true, 0); // 画面の明るさと表示状態を設定します。 } void loop() { const uint16_t value = analogRead(A0); // 指定チャンネルの生のアナログ値を読み取ります。 uint8_t digits[4] = { IsegEncodeDigit((value / 1000) % 10), // 数字1桁をセグメントデータに変換します。 IsegEncodeDigit((value / 100) % 10), // 数字1桁をセグメントデータに変換します。 IsegEncodeDigit((value / 10) % 10), // 数字1桁をセグメントデータに変換します。 IsegEncodeDigit(value % 10) // 数字1桁をセグメントデータに変換します。 }; IsegWrite(digits, 4, 0, 0); // セグメントデータを指定位置に出力します。 delay(100); }
IsegBegin()の呼び出しに成功してから表示コマンドを使用します。7以上の場合は初期化されません。length + positionは4以下にしてください。範囲に合わない数値は表示せず、falseを返します。