LED Bar
Contents
Introduction
This is a LED bar with Linker kit standard connection.
Features
Dimensions: 44.1×24.2×11.5mm
Net weight: 5.7g
Dimension
Schematics
Application Ideas
<syntaxhighlight lang="c">
- define PORT_Data PORTB
- define PORT_Clk PORTB
- define DATA_Pin 8 //DATA IN
- define CLK_Pin 9 //CLK IN
- define BIT_Data 0x01
- define BIT_Clk 0x02
- define CmdMode 0x0000 //Work on 8-bit mode
- define ON 0x00ff //8-bit 1 data
- define SHUT 0x0000 //8-bit 0 data
//Send 16_bit data void send16bitData(unsigned int data) {
for(unsigned char i=0;i<16;i++)
{
if(data&0x8000)
{
PORT_Data |= BIT_Data;
}
else
{
PORT_Data &=~ BIT_Data;
}
PORT_Clk ^= BIT_Clk;
data <<= 1;
}
}
//latch routine for MY9221 data exchange void latchData(void) {
PORT_Data &=~ BIT_Data;
delayMicroseconds(10);
for(unsigned char i=0;i<8;i++)
{
PORT_Data ^= BIT_Data;
}
}
//Initializing pins void setup() {
pinMode(DATA_Pin,OUTPUT); //Data pin pinMode(CLK_Pin,OUTPUT); //CLK pin
}
//Send 12 road led brightness data void sendLED(unsigned int LEDstate) {
unsigned char i;
for(i=0;i<12;i++)
{
if(LEDstate&0x0001)
send16bitData(ON);
else
send16bitData(SHUT);
// if(i!=11)
LEDstate=LEDstate>>1; }
}
//If you want turn on the first red led,you can do it like this: sendLED(0x0001); //The second led: sendLED(0x0002); void loop() {
unsigned int i=0x0000;
while(i<=0x03ff)
{
send16bitData(CmdMode); //set first LED Bar mode
sendLED(i); //send first LED Bar data
send16bitData(CmdMode); //set second LED Bar mode,if you do not use two LED Bar work together(connect one by one),you can delete this line.
sendLED(i); //send second LED Bar data,if you do not use two LED Bar work together(connect one by one),you can delete this line.
latchData(); //make it come into effect
i=i*2+1;
delay(100);
}
} </syntaxhighlight>
Sample Code
How to buy
Here to buy LED Bar on store


