DFROBOT 3-Wire LED Module sample program.

Dependencies:   mbed

秋月電子で販売されているDFROBOT社の3-Wire LED モジュールをLPC1114FN28に接続してみました。 そのサンプルプログラムになります。

LEDモジュールとの接続方法は以下の通り。

DATA (DS) - dp9

LATCH (STCP) - dp10

CLOCK (SHCP) - dp11

Vcc - +5V

GND - GND

Committer:
kanpapa
Date:
Sun Oct 06 06:43:48 2013 +0000
Revision:
0:5e8377638086
1st release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kanpapa 0:5e8377638086 1 #include "mbed.h"
kanpapa 0:5e8377638086 2
kanpapa 0:5e8377638086 3 //Pin connected to Data in (DS) of 74HC595
kanpapa 0:5e8377638086 4 DigitalOut dataPin(dp9);
kanpapa 0:5e8377638086 5 //Pin connected to latch pin (ST_CP) of 74HC595
kanpapa 0:5e8377638086 6 DigitalOut latchPin(dp10);
kanpapa 0:5e8377638086 7 //Pin connected to clock pin (SH_CP) of 74HC595
kanpapa 0:5e8377638086 8 DigitalOut clockPin(dp11);
kanpapa 0:5e8377638086 9
kanpapa 0:5e8377638086 10 uint8_t Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};
kanpapa 0:5e8377638086 11
kanpapa 0:5e8377638086 12 void shiftOut(DigitalOut data, DigitalOut clk, int sdata) {
kanpapa 0:5e8377638086 13 for (int i = 7; i >= 0; i--) {
kanpapa 0:5e8377638086 14 clk = 0;
kanpapa 0:5e8377638086 15 if(sdata & (1 << i)){
kanpapa 0:5e8377638086 16 data = 1;
kanpapa 0:5e8377638086 17 } else {
kanpapa 0:5e8377638086 18 data = 0;
kanpapa 0:5e8377638086 19 }
kanpapa 0:5e8377638086 20 clk = 1;
kanpapa 0:5e8377638086 21 data = 0;
kanpapa 0:5e8377638086 22 }
kanpapa 0:5e8377638086 23 }
kanpapa 0:5e8377638086 24
kanpapa 0:5e8377638086 25 void leddisp(long n){
kanpapa 0:5e8377638086 26 char disp[9];
kanpapa 0:5e8377638086 27
kanpapa 0:5e8377638086 28 sprintf(disp, "%08d¥n", n);
kanpapa 0:5e8377638086 29
kanpapa 0:5e8377638086 30 for (int c = 8; c >= 0 ;c--){
kanpapa 0:5e8377638086 31 // write to the shift register with the correct bit set high:
kanpapa 0:5e8377638086 32 latchPin = 0;
kanpapa 0:5e8377638086 33 // shift the bits out:
kanpapa 0:5e8377638086 34 shiftOut(dataPin, clockPin, Tab[disp[c] - 48]);
kanpapa 0:5e8377638086 35 // turn on the output so the LEDs can light up:
kanpapa 0:5e8377638086 36 latchPin = 1;
kanpapa 0:5e8377638086 37 }
kanpapa 0:5e8377638086 38 }
kanpapa 0:5e8377638086 39
kanpapa 0:5e8377638086 40 int main() {
kanpapa 0:5e8377638086 41 long number = 0;
kanpapa 0:5e8377638086 42 while(1) {
kanpapa 0:5e8377638086 43 leddisp(number++);
kanpapa 0:5e8377638086 44 if (number > 99999999) {
kanpapa 0:5e8377638086 45 number = 0;
kanpapa 0:5e8377638086 46 }
kanpapa 0:5e8377638086 47 wait(0.1);
kanpapa 0:5e8377638086 48 }
kanpapa 0:5e8377638086 49 }