コンテンツにスキップ

#211 7Segment LED I2C Brick

Overview

7セグメントLEDを使ったBrickです。

I2Cで表示パターンを制御できます。

接続

I2Cコネクタへ接続します。

TLC59208F Datasheet

Document
TLC59208F Datasheet

Register

A0 A1 A2 Slave Address
LOW LOW LOW 0x20

FaBo Brickでは、初期値に0x20が設定されています。Brick裏面のソルダージャンパーで設定を変更できます。

回路図

Library

ライブラリ名:「FaBo 211 7Segment LED TLC59208F」

ソースコード

PWM出力値は、"0x02"でほぼ視認できる明るさで点灯されます。あまり高い数値にすると、点灯しなくなるおそれがあります。

ソースコード1

I2Cコネクタに7Segment LED Brickを接続し、「0〜9を順番に表示させます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*************************************************** 
 This is an Example for the FaBo 7Seg I2C Brick.

  http://fabo.io/211.html

 author:FaBo<info@fabo.io>
 maintainer:Hideki Yamauchi<yamauchi@fabo.io>

 Released under APACHE LICENSE, VERSION 2.0
  http://www.apache.org/licenses/
 ****************************************************/

#include <Wire.h>
#include <FaBo7Seg_TLC59208.h>

FaBo7Seg_TLC59208 fabo_7seg;

void setup() {
  Serial.begin(9600);
  Serial.println("RESET");
  Serial.println();

  Serial.println("configuring device.");
  if (fabo_7seg.configure()) {
    Serial.println("configured FaBo 7Seg Brick");
  } else {
    Serial.println("device error");
    while(1);
  }
}

void loop() {
  for (int i = 0; i<10; i++) {
    fabo_7seg.showNumber(i); // show a number
    delay(1000);
  }
}

ソースコード2

それぞれの部位を光らせます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*************************************************** 
 This is an Example for the FaBo 7Seg I2C Brick.

  http://fabo.io/211.html

 author:FaBo<info@fabo.io>
 maintainer:Hideki Yamauchi<yamauchi@fabo.io>

 Released under APACHE LICENSE, VERSION 2.0
  http://www.apache.org/licenses/
 ****************************************************/

#include <Wire.h>
#include <FaBo7Seg_TLC59208.h>

FaBo7Seg_TLC59208 fabo_7seg;

void setup() {
  Serial.begin(9600);
  Serial.println("RESET");
  Serial.println();

  Serial.println("configuring device.");
  if (fabo_7seg.configure()) {
    Serial.println("configured FaBo 7Seg Brick");
  } else {
    Serial.println("device error");
    while(1);
  }
}

void loop() {
  fabo_7seg.showPattern(TLC59208_LED_PIN_A|TLC59208_LED_PIN_G|TLC59208_LED_PIN_D);
  delay(1000);

  for (int i = 0; i<10; i++) {
    fabo_7seg.showPattern(TLC59208_LED_PWM5);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM4);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM2);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM1);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM0);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM6);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM5);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM4);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM2);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM1);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM0);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM6);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_PWM5);
    delay(50);
    fabo_7seg.showPattern(TLC59208_LED_OFF);
    delay(50);

    fabo_7seg.showNumber(i);
    delay(1000);
    fabo_7seg.showDot();
    delay(1000);
    fabo_7seg.showPattern(TLC59208_LED_OFF);
    delay(100);
  }
}

Parts

  • 7セグメントLED
  • Texas Instruments TLC59208F

GitHub

  • https://github.com/FaBoPlatform/FaBo/tree/master/211_7seg