このプログラムはEightDotMatrixLedライブラリのサンプルプログラムです。 このサンプルプログラムは8個のLEDを4組点滅制御しています。 This program is a sample program EightDotMatrixLed library. This sample program to control the LED blinks four sets of eight. 動画回路での点灯制御の説明 1番上の赤色LED(com0):点灯・消灯を1秒かけてスムーズに行います 2番目の緑色LED(com1):点灯はスムーズ。消灯は直ぐに行います。 3番目の赤色LED(com2):点灯・消灯は1番目と同じ。輝度の上限を右から左に段階的に大きくしています。 4番目の赤色LED(com3):輝度データ(gray data)を直接制御しています。 =動画 video = {{http://www.youtube.com/watch?v=aRjSfpSjA30}} =回路図 schematic = {{/media/uploads/suupen/111204exampleschematic.jpg}}

Dependencies:   mbed EightDotMatrixLed

Committer:
suupen
Date:
Sat Dec 03 23:31:01 2011 +0000
Revision:
0:d30f8a141be9
V1.01   2011 12/04  comment fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
suupen 0:d30f8a141be9 1 //============================================
suupen 0:d30f8a141be9 2 // eightDotMatrixLed Library Example
suupen 0:d30f8a141be9 3 //
suupen 0:d30f8a141be9 4 // This program is used to control the LED 32.
suupen 0:d30f8a141be9 5 //
suupen 0:d30f8a141be9 6 //
suupen 0:d30f8a141be9 7 // <schematic>
suupen 0:d30f8a141be9 8 // --|>|--
suupen 0:d30f8a141be9 9 // A K
suupen 0:d30f8a141be9 10 // seg A(p5) -----R(200[ohm])--- LED ----- com0(p13)
suupen 0:d30f8a141be9 11 // |
suupen 0:d30f8a141be9 12 // -- R(200[ohm])--- LED ----- com1(p14)
suupen 0:d30f8a141be9 13 // |
suupen 0:d30f8a141be9 14 // -- R(200[ohm])--- LED ----- com2(p28)
suupen 0:d30f8a141be9 15 // |
suupen 0:d30f8a141be9 16 // -- R(200[ohm])--- LED ----- com3(p27)
suupen 0:d30f8a141be9 17 //
suupen 0:d30f8a141be9 18 //
suupen 0:d30f8a141be9 19 // same : segB(p6), segC(p7), segD(p8), segE(p9), segF(p10), segG(p11), segH(p12)
suupen 0:d30f8a141be9 20 //
suupen 0:d30f8a141be9 21 // <Description of LED control>
suupen 0:d30f8a141be9 22 // com0 Led off to on ,on to off smooth (lighting = 0 to 100 [%]
suupen 0:d30f8a141be9 23 // com1 Led off to on smooth, on to off hard
suupen 0:d30f8a141be9 24 // com2 Led off to on, on to off smooth (lighting = 0 to gray data)
suupen 0:d30f8a141be9 25 // com3 gray data movement
suupen 0:d30f8a141be9 26 //
suupen 0:d30f8a141be9 27 //=============================================
suupen 0:d30f8a141be9 28
suupen 0:d30f8a141be9 29 #include "mbed.h"
suupen 0:d30f8a141be9 30
suupen 0:d30f8a141be9 31 #include "EightDotMatrixLed.h"
suupen 0:d30f8a141be9 32
suupen 0:d30f8a141be9 33 // common type (0:anode common 1:cathode common)
suupen 0:d30f8a141be9 34 // |
suupen 0:d30f8a141be9 35 // | segA segB segC segD segE segF segG segh com1 com2 com3 com4 (com5 to com8 = disable)
suupen 0:d30f8a141be9 36 // | | | | | | | | | | | | |
suupen 0:d30f8a141be9 37 EightDotMatrixLed segmentled(1, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p28, p27);
suupen 0:d30f8a141be9 38
suupen 0:d30f8a141be9 39 // com0 Led off to on ,on to off smooth (lighting = 0 to 100 [%]
suupen 0:d30f8a141be9 40 // com1 Led off to on smooth, on to off hard
suupen 0:d30f8a141be9 41 // com2 Led off to on, on to off smooth (lighting = 0 to gray data)
suupen 0:d30f8a141be9 42 // com3 gray data movement
suupen 0:d30f8a141be9 43
suupen 0:d30f8a141be9 44
suupen 0:d30f8a141be9 45 uint8_t D_dotGrayData[4][8] = {
suupen 0:d30f8a141be9 46 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // com0 disable
suupen 0:d30f8a141be9 47 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // com1 disable
suupen 0:d30f8a141be9 48 {0, 14, 29, 43, 57, 71, 86, 100}, // com2 enable (0 to 100 [%])
suupen 0:d30f8a141be9 49 {0, 14, 29, 43, 57, 71, 86, 100}, // com3 enable (0 to 100 [%])
suupen 0:d30f8a141be9 50 };
suupen 0:d30f8a141be9 51 uint8_t D_dotDigitalData[4][8] = {
suupen 0:d30f8a141be9 52 {0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // com0 0:off, 1:on
suupen 0:d30f8a141be9 53 {0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, // com1 0:disalbe 1:on
suupen 0:d30f8a141be9 54 {0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}, // com2 0:off, 1:on
suupen 0:d30f8a141be9 55 {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff} // com3 disable
suupen 0:d30f8a141be9 56 };
suupen 0:d30f8a141be9 57
suupen 0:d30f8a141be9 58 Timer timer; // data change timer
suupen 0:d30f8a141be9 59
suupen 0:d30f8a141be9 60 int main() {
suupen 0:d30f8a141be9 61 uint8_t seg;
suupen 0:d30f8a141be9 62 uint8_t wk0, wk1, wk2, wk3;
suupen 0:d30f8a141be9 63
suupen 0:d30f8a141be9 64 timer.start();
suupen 0:d30f8a141be9 65
suupen 0:d30f8a141be9 66 while(1) {
suupen 0:d30f8a141be9 67 // After 500[ms] to start the process
suupen 0:d30f8a141be9 68 if(timer.read_ms() >= 500){
suupen 0:d30f8a141be9 69 timer.reset();
suupen 0:d30f8a141be9 70
suupen 0:d30f8a141be9 71 // com0 Led off to on ,on to off smooth (lighting = 0 to 100 [%]
suupen 0:d30f8a141be9 72 wk0 = D_dotDigitalData[0][7];
suupen 0:d30f8a141be9 73 for(seg = 7; seg > 0; seg--){
suupen 0:d30f8a141be9 74 D_dotDigitalData[0][seg] = D_dotDigitalData[0][seg - 1];
suupen 0:d30f8a141be9 75 }
suupen 0:d30f8a141be9 76 D_dotDigitalData[0][0] = wk0;
suupen 0:d30f8a141be9 77
suupen 0:d30f8a141be9 78 // com1 Led off to on smooth, on to off hard
suupen 0:d30f8a141be9 79 wk1 = D_dotDigitalData[1][7];
suupen 0:d30f8a141be9 80 for(seg = 7; seg > 0; seg--){
suupen 0:d30f8a141be9 81 D_dotDigitalData[1][seg] = D_dotDigitalData[1][seg - 1];
suupen 0:d30f8a141be9 82 }
suupen 0:d30f8a141be9 83 D_dotDigitalData[1][0] = wk1;
suupen 0:d30f8a141be9 84
suupen 0:d30f8a141be9 85 // com2 Led off to on, on to off smooth (lighting = 0 to gray data)
suupen 0:d30f8a141be9 86 wk2 = D_dotDigitalData[2][7];
suupen 0:d30f8a141be9 87 for(seg = 7; seg > 0; seg--){
suupen 0:d30f8a141be9 88 D_dotDigitalData[2][seg] = D_dotDigitalData[2][seg - 1];
suupen 0:d30f8a141be9 89 }
suupen 0:d30f8a141be9 90 D_dotDigitalData[2][0] = wk2;
suupen 0:d30f8a141be9 91
suupen 0:d30f8a141be9 92 // com3 gray data movement
suupen 0:d30f8a141be9 93 wk3 = D_dotGrayData[3][7];
suupen 0:d30f8a141be9 94 for(seg = 7; seg > 0; seg--){
suupen 0:d30f8a141be9 95 D_dotGrayData[3][seg] = D_dotGrayData[3][seg - 1];
suupen 0:d30f8a141be9 96 }
suupen 0:d30f8a141be9 97 D_dotGrayData[3][0] = wk3;
suupen 0:d30f8a141be9 98 }
suupen 0:d30f8a141be9 99
suupen 0:d30f8a141be9 100 // This function, please repeat the process in less than 1ms.
suupen 0:d30f8a141be9 101 segmentled.EightDotMatrixLed_main((uint8_t*)D_dotGrayData, (uint8_t*)D_dotDigitalData);
suupen 0:d30f8a141be9 102
suupen 0:d30f8a141be9 103 }
suupen 0:d30f8a141be9 104 }