洋天科技洋天科技
公司簡介訂購方式匯款確認檔案下載 聯絡我們保固說明訂單查詢討論區
電子郵件:

密碼:

忘記密碼
加入會員
  首頁 | 原廠 Arduino® | 特殊服務設計 | 轉接座及轉接板/麵包板 | 開發板/燒錄器/模擬器 | 相容 For Arudino® 週邊及配件 | 旭日 RDK開發板 系列 | OKdo系列 | Saleae 系列 | Adafruit 系列 | ArduCam 系列 | Camera 攝像頭 | ROCK 系列 | Debix系列開發板 | Raspberry Pi 樹莓派 | WalnutPi 核桃派 | Banana Pi 香蕉派 | BeagleBone 狗骨頭 | M5Stack系列 | Micro:bit (BBC)系列 | NVIDIA Jetson Nano系列 | Pololu 系列 | Pycom 系列 | Seeed 系列 | Sparkfun 系列 | WeMos 系列 | 傳感器 | Cubieboard/CubieTruck系列 | Firefly 系列 | Microduino系列 | Orange Pi 香橙派 | PCB板 | PLC 系列 | Robot 機器人 | UDOO 系列 | RedBearLab 系列 | LattePanda系列 | LittleBits 系列 | Libelium 系列 | Luxonis 相機系列 | PCduino | RobotElectronics 系列 | MageDok 顯示屏 | LCD/LCM/TFT/LVDC | Dimension Engineer 系列 | 通訊模組 | 影音器材(含轉換器) | 線材/連結器/轉換器 | 測量儀器 | 馬達/馬逹控制器/電源模組 | 其他 | 焊接/維修工具 | IC零件 | LED燈-裝飾燈 | 工作站迷你電腦 mini PC | 擴大器 | 雕刻機 | 電池 | 電腦周邊 | AI 顯卡 | 停售商品
  首頁 » 商品目錄 » Pololu 系列 » Electronics » Discrete Components » LEDs » PI2162
商品搜尋 進階
 |  購物車內容  |  結帳   
商品分類
  DRVXXXX系列
  Electronics
    Audio
    Computer Interface
    Discrete Components
      LEDs
    Displays
    Electronics Kits
    Electronics Prototyping
    Motion Control Modules
    Programmable Controllers
    RC Interface
    Regulators and Power Supplies
    Sensors
    Signal Adapters and Extenders
    Switches/Buttons/Relays
    Wireless
  G2 High-Power Motor Drivers
  Mechanical Components
  Motion Control Modules
  Robot Kits
  Sensors
Arduino
Pololu
Seeed
Sparkfun
robot-electronics
dimensionengineering
libelium
adafruit
udoo
redbearlab
Arducam
goembed
Saleae
okdo
服務台
公司簡介
退換貨服務
訂購方式
聯絡我們
匯款確認
[<< 前一頁]  瀏覽相同分類產品 10 / 10  [下一頁 >>]
Headerless ShiftBrite V2.0
NT$400
運費NT$50
條碼PI2162
產品說明0

※本產品原廠代理從國外進口,有些交期較長,下訂前請詢問!

The ShiftBrite V2.0 is an RGB LED module with a built-in driver featuring 10-bit digital brightness control on each color channel (over one billion colors). Multiple modules can easily be chained together and controlled from a single microcontroller to create large LED displays. This version has several improvements over the original ShiftBrite, including mounting holes and better power handling. This configuration comes with male header pins soldered in.

 

A ShiftBrite RGB LED module can display over one billion different colors.

 

Overview

ShiftBrites are modules by macetech that integrate the Allegro A6281 3-channel constant current LED driver with a large, high-brightness RGB LED. Using just three digital output pins and a simple protocol, your microcontroller can control a long chain of these modules. Each ShiftBrite in the chain can be independently changed to any of the 1,073,741,824 possible colors to create dynamic displays and decorations. Adjustable current for each color channel lets you correct for slight differences in brightness. In addition, the LED driver is protected from overheating by automatic over-temperature shutdown.

The ShiftBrite V2.0 is a redesigned version of the original ShiftBrite that offers the following key improvements:

  • New mounting ears and large mounting holes for easier installation.
  • Better indication of polarity and data direction on both top and bottom.
  • Larger power traces for improved power handling and chaining.
  • Additional power filtering capacitor.

The ShiftBrite V2.0 comes in two configurations: one with male header pins and one without male header pins. The pin spacing is 0.1", making ShiftBrites compatible with breadboards and perfboards. Our custom six-conductor cables, available in lengths of 6" and 12" and 24", can also be used to easily chain together multiple modules.

The original ShiftBrite and new ShiftBrite V2.0 are pin-compatible and have the same basic functionality, so a mix of original and new ShiftBrites can be chained together on the same strand. Please note that several of the pictures, diagrams, and videos on this page show the original ShiftBrites (with green solder masks); the V2.0 model has a larger PCB with a black solder mask as shown in the main product picture.

Example ShiftBrite applications

Several ShiftBrite applications are shown below, including an example setup using a Micro Maestro as a ShiftBrite controller. In the Micro Maestro example, digital outputs 0, 1 and 2 are used to send the control signals to the clock, latch, and data lines, the enable line is connected directly to GND, and 6 V power to the Maestro is delivered from the ShiftBrite chain. Maestro source code to control a ShiftBrite is available in the Example Scripts section of the Maestro User’s Guide. Our Orangutan robot controllers can also be used to control ShiftBrites, as can the Arduino. Source code for the Orangutan is available at the bottom of this page.

A ShiftBrite being controlled by a Micro Maestro 6-channel servo controller.
A display made of 32 ShiftBrite modules, used to display real-time data.

 

Using the ShiftBrite V2.0

Since ShiftBrites are controlled by Allegro’s A6281 LED driver, careful reading of the A6281’s datasheet (315k pdf) is recommended. Each ShiftBrite input is buffered and output on the corresponding output pin. This allows you to chain together ShiftBrites without increasing the number of IO pins dedicated to controlling the modules. The picture below shows three ShiftBrites chained together.

 

Three ShiftBrites chained together.

 

Our 6", 12", and 24" cables for ShiftBrites make it easy to connect multiple modules, as shown below.

You can make your own shorter cables with our 3" wires with pre-crimped terminals and our 0.1" 6×1 crimp connector housings.

 

Pinout diagram for the ShiftBrite module.

 

Each ShiftBrite has a 32-bit shift register. When a rising edge is detected at the clock in pin (CI), the data in pin (DI) value is shifted onto the first bit of the shift register, and the last bit sets the value of the data out pin (DO). After you have loaded a 32-bit packet into the shift register of each ShiftBrite in the chain, bringing the latch in pin (LI) from low to high causes the data to take effect (changing the color or updating a configuration setting). LI must be brought low again before clocking in additional data.

The data packet format is shown in the picture below. For more details about the data packet format, as well as timing and other electrical parameters, see the A6281 datasheet (315k pdf). You can find further documentation and Arduino sample code at macetech’s ShiftBrite documentation page.

 

 

ShiftBrite packet diagram. The second row shows a color packet, while the third row shows a command packet.

 

To send data to the ShiftBrite, you need to use at least three digital I/O pins (four if you want to use the EI pin). Our Orangutan robot controllers work well for this. Here is some sample code for setting the colors of a chain of ShiftBrites using bit banging on the AVR. The chain can be arbitrarily long, but the changing color pattern will repeat on every sixth module.

 

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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// ShiftBrite communication for the AVR using bit banging.
//
// Pin Assignments (any four free digital I/O pins will do)
//
// Data   PC2
// Latch  PC3
// Enable PC4
// Clock  PC5
//
// Feel free to modify and use this code for your AVR.
#include <avr/io.h>
  
typedef union ShiftBritePacket
{
    unsigned long value;
    struct
    {
        unsigned greenDotCorrect:7;
        unsigned clockMode:2;
        unsigned :1;
        unsigned redDotCorrect:7;
        unsigned :3;
        unsigned blueDotCorrect:7;        
    };
    struct
    {
        unsigned green:10;
        unsigned red:10;
        unsigned blue:10;
        unsigned command:1;
    };
} ShiftBritePacket;
  
// colorPacket returns a ShiftBritePacket for setting color brightnesses
//
// red, green, and blue are brightness values from 0 to 1023. 0 is off, and 
// 1023 is brightest.
ShiftBritePacket colorPacket(unsigned int red, unsigned int green, unsigned int blue)
{
    //Make a packet and initialize all of the bits to zero.
    ShiftBritePacket shiftbrite_packet = {value:0};
  
    shiftbrite_packet.red   = red;
    shiftbrite_packet.green = green;
    shiftbrite_packet.blue  = blue;
  
    return shiftbrite_packet;
}
  
  
// commandPacket returns a ShiftBritePacket for sending commands to the A6281.
//
// redDotCorrect, greenDotCorrect, and blueDotCorrect lets you control what 
//   percentage of current is flowing to each color diode. 
//   Refer to page 8 of the datasheet for more information.
// clockMode lets you set the PWM frequency for the diodes. 
//   Refer to page 7 of the datasheet for more information.
ShiftBritePacket commandPacket(unsigned int redDotCorrect, unsigned int greenDotCorrect, 
                               unsigned int blueDotCorrect, unsigned char clockMode)
{
    //Make a packet and initialize all of the bits to zero.
    ShiftBritePacket shiftbrite_packet = {value:0};
  
    shiftbrite_packet.redDotCorrect   = redDotCorrect;
    shiftbrite_packet.greenDotCorrect = greenDotCorrect;
    shiftbrite_packet.blueDotCorrect  = blueDotCorrect;
    shiftbrite_packet.clockMode = clockMode;
    shiftbrite_packet.command = 1;
  
    return shiftbrite_packet;
}
  
void sendPacket(ShiftBritePacket shiftbrite_packet)
{
    for(int i = 1; i < 32 + 1; i++)
    {
        //Set the appropriate Data In value according to the packet.
        if ((shiftbrite_packet.value >> (32 - i)) & 1)
            PORTC |= (1 << PORTC2);
        else
            PORTC &= ~(1 << PORTC2);
  
        //Toggle the clock bit twice.
        PORTC ^= (1 << PORTC5);
        PORTC ^= (1 << PORTC5);
    }
}
  
void latch()
{
    // Set Latch high
    PORTC |= (1 << PORTC3);
    // Set Latch low
    PORTC &= ~(1 << PORTC3);
}
  
  
void sendColorWheelPacket(unsigned int location_on_wheel)
{
    if (location_on_wheel < 400)
        sendPacket(colorPacket(400,(location_on_wheel % 400),0));   
    else if (location_on_wheel < 800)
        sendPacket(colorPacket(400-(location_on_wheel % 400),400,0));
    else if (location_on_wheel < 1200)
        sendPacket(colorPacket(0,400,(location_on_wheel % 400)));
    else if (location_on_wheel < 1600)
        sendPacket(colorPacket(0,400-(location_on_wheel % 400),400));
    else if (location_on_wheel < 2000)
        sendPacket(colorPacket((location_on_wheel % 400),0,400));
    else if (location_on_wheel < 2400)
        sendPacket(colorPacket(400,0,400-(location_on_wheel % 400)));
}
  
int main() {
    // Set all to outputs.
    DDRC |= (1 << PORTC2); // Data In
    DDRC |= (1 << PORTC3); // Latch
    DDRC |= (1 << PORTC4); // Enable
    DDRC |= (1 << PORTC5); // Clock
  
    // Set the Enable output low to enable the ShiftBrites.
    PORTC &= ~(1 << PORTC4);
  
    //Have the ShiftBrites change from red to yellow to green to cyan to blue 
    //to purple and back to red.
    while(1)
    {
        for (int i = 0; i < 2400; i++)
        {
            sendColorWheelPacket(i);
            sendColorWheelPacket((i+400) % 2400);
            sendColorWheelPacket((i+800) % 2400);
            sendColorWheelPacket((i+1200) % 2400);
            sendColorWheelPacket((i+1600) % 2400);
            sendColorWheelPacket((i+2000) % 2400);
  
            latch();
        }
    }
      
    //Loop forever
    while(1);
}
問與答

目前沒有任何商品問答!
本商品上架日期:2013-06-03.
評價
購物車 更多
空的...
查詢訂單狀態
 
請輸入您的訂單編號
商品通知狀態 更多
通知Headerless ShiftBrite V2.0
更新時通知我
推薦給朋友
 
推薦這個商品給朋友

聯絡方式:手機:0933807110 或 0968222607
E-mail:i0104@ms13.hinet.net(主要信箱) & i03070309@yahoo.com.tw(次要) & a_te0307@hotmail.com & A9215017@mail.ntust.edu.tw & r94922042@ntu.edu.tw