JavaScript が無効です。有効にしてください。
ななよんのホームページ
トップ > 電子工作 > 鉄道部品制御のすすめ > LUM-616CU500 の使い方

LUM-616CU500 の使い方

最終更新日さいしゅうこうしんび:2023-09-04
表示例

 秋月電子通商のお楽しみ袋に、LUM が入っていました。11 x 56 ドットの赤単色ですが、解析しましたので使い方を残しておきます。

2023-09-04 このページのアクセスが急増しているので少し追記しました。またお楽しみ袋が販売されたのでしょうか?

ピン配置

ピン配置図

 基板裏面の、三角印がついているピンを 1 番としたときのピン配置です。ただし間違いがあるかもしれません。

 /LLED、/RLED は、それぞれ L レベルで左右の白 LED が点灯します。

 LDATA は左半分、RDATA は右半分のデータです。1 で点灯、0 で消灯。

 CLOCK、LATCH、/ENABLE は左右で共通です。

 A0~A3 は電車の LUM と同じように、アドレス指定なので 4520 等でインクリメントすればいいです。

 電源は、測定していませんが LED が多いので 1~2 A 以上は欲しいかと思います。なお、5 V です。

制御方法

 アドレスは、行を指定します。例えばアドレス 0b0000 では一番上が選択されます。左右それぞれ(LDATA、RDATA)でそれぞれ 28 ドットずつのデータを書き込み、ラッチを入れると表示します。イネーブル信号は点灯・消灯を選択できますが、点灯しっぱなしにするとゴーストが生じるため、制御する必要があります。

Arduino サンプルスケッチ

 4520 は使用せず、Arduino でアドレスを指定していますが、ちらつきは気になりませんでした。配線はマクロ定義を参照してください。

// アドレス線
#define A0      2
#define A1      3
#define A2      4
#define A3      5
// マトリクス部制御用
#define CLOCK   6
#define LATCH   7
#define ENABLE  8
#define LDATA   9
#define RDATA   10
// 左右の LED 制御用
#define LLED    11
#define RLED    12

// 左右の LED を点滅させるための変数
uint32_t millisOld;
bool ledStatus = 0;

// 表示データ
// 当サイトの3色 LED 用変換ツールで赤色のみのデータを取り込ませ、型を bool に書き換える
const bool data[11][56] PROGMEM = {
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,1,0,},
{0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0,1,1,0,},
{0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,1,0,1,0,},
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,1,0,1,0,},
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,1,1,1,1,1,0,0,0,1,0,1,1,1,0,0,0,1,1,1,1,0,0,1,1,0,0,1,0,0,0,1,0,},
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,1,1,1,0,1,1,1,0,0,1,},
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,},
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,1,1,1,0,0,1,0,0,1,0,1,},
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,},
{0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,0,0,1,},
};

void setup() {
  pinMode(A0, OUTPUT);
  pinMode(A1, OUTPUT);
  pinMode(A2, OUTPUT);
  pinMode(A3, OUTPUT);
  pinMode(CLOCK, OUTPUT);
  pinMode(LATCH, OUTPUT);
  pinMode(ENABLE, OUTPUT);
  pinMode(LDATA, OUTPUT);
  pinMode(RDATA, OUTPUT);
  pinMode(LLED, OUTPUT);
  pinMode(RLED, OUTPUT);
}

void loop() {
  for(uint8_t address=0; address<11; address++) {
    // アドレス指定
    if(address&0b0001) {
      digitalWrite(A0, HIGH);
    } else {
      digitalWrite(A0, LOW);
    }
    if(address&0b0010) {
      digitalWrite(A1, HIGH);
    } else {
      digitalWrite(A1, LOW);
    }
    if(address&0b0100) {
      digitalWrite(A2, HIGH);
    } else {
      digitalWrite(A2, LOW);
    }
    if(address&0b1000) {
      digitalWrite(A3, HIGH);
    } else {
      digitalWrite(A3, LOW);
    }

    // 表示データ送出
    for(uint8_t x=0; x<28; x++) {
      if(pgm_read_byte(&data[address][x])) {
        digitalWrite(LDATA, HIGH);
      } else {
        digitalWrite(LDATA, LOW);
      }
      if(pgm_read_byte(&data[address][x+28])) {
        digitalWrite(RDATA, HIGH);
      } else {
        digitalWrite(RDATA, LOW);
      }
      digitalWrite(CLOCK, HIGH);
      digitalWrite(CLOCK, LOW);
    }
    digitalWrite(LATCH, HIGH);
    digitalWrite(LATCH, LOW);
    digitalWrite(ENABLE, LOW);
    delayMicroseconds(500);
    digitalWrite(ENABLE, HIGH);
  }

  // 左右 LED 点滅用変数の切り替え
  if(millis() > millisOld+500) {
    ledStatus = !ledStatus;
    millisOld = millis();
  }

  // 左右 LED 制御
  if(ledStatus) {
    digitalWrite(LLED, HIGH);
    digitalWrite(RLED, LOW);
  } else {
    digitalWrite(LLED, LOW);
    digitalWrite(RLED, HIGH);
  }
}

戻る
広告

右メニュー

【表示がおかしい・崩れる場合】PC では Shift と F5 を同時押し。スマホではキャッシュを削除してみてください。



とうサイトでは Cookieくっきー使用しようします。くわしくは上記じょうきの「プライバシーポリシー・免責事項等めんせきじこうとう」もご確認かくにんください。



上へ戻る