목차
WS2801
특징
- Size: 1.5cm(W) x 0.35cm(T) x Length(L)
- Emit Color: dream magic color
- Protection: non Waterproof
- Working Voltage: 5V DC
- LED Quantity: 32eds / m, 5meter / roll
- View angle: 120 ° ~ 140 °
- Working Temperature: -20 ° to 50 °
- 350-450mcd / led
- Wattage: 7- 9W / meter,
- Use the programmable controller, Raspberry Pi or Arduino or T-1000S controller
핀 번호
| 번호 | 핀명 | 기능 |
| 1 | 5V | 5V 파워 |
| 2 | Clock | Clock Input |
| 3 | Data | Data Input |
| 4 | GND | Ground |
WAT-Arduino128 예제
부품 목록
| 부품명 | WAT-Arduino128 | ![]() |
|---|---|---|
| 기능 | Arduino 모듈 | |
| 수량 | 1 EA | |
| 부품 판매처 | https://kit128.com/goods/view?no=64 |
| 부품명 | WS2801 LED Strip |
|
|---|---|---|
| 기능 | LED Strip | |
| 수량 | 1 EA | |
| 부품 판매처 | https://kit128.com/goods/view?no=199 |
납땜 옵션




핀 연결
아래와 같이 WS2801 LED Strip 와 WAT-Arduino128 를 연결합니다.
| WS2801 LED Strip | WAT-Arduino128 |
|---|---|
| VCC | 5V |
| Clock | PA0 |
| Data | PA1 |
| GND | GND |
소스코드
최신 소스코드는 [파일]=>[예제]=>[WhiteAT]=> [WS2801] => [ShiftOut] 에 있으며
라이브러리는 아두이노 개발환경 을 참조하세요
/*
WS2801 ShiftOut Test
Blue Color 을 한 칸씩 이동하는 예제입니다.
출처: http://whiteat.com/Arduino
부품
. WAT-Arduino128 : https://kit128.com/goods/view?no=64
. WS2801 : https://kit128.com/goods/view?no=199
연결
WAT-Arduino128 WS2803
-------------------------------------------------
PA0 CLOCK pin
PA1 DATA pin
*/
#define LED_CNT 16
int RED[LED_CNT];
int GREEN[LED_CNT];
int BLUE[LED_CNT];
// 설정
int pinClock = PA0;
int pinData = PA1;
// 프로그램 시작 - 초기화 작업
void setup()
{
Serial.begin(115200); // 시리얼 통신 초기화
Serial.println("Arduino Examples - WS2801 shiftOut");
Serial.println(" https://docs.whiteat.com/?p=3183");
pinMode(pinClock, OUTPUT);
pinMode(pinData, OUTPUT);
for (int i = 0; i<LED_CNT; i++)
{
RED[i] = 0;
BLUE[i] = 0;
GREEN[i] = 0;
}
}
void updateLED()
{
for (int i = 0; i<LED_CNT; i++)
{
shiftOut(pinData, pinClock, MSBFIRST, RED[i]);
shiftOut(pinData, pinClock, MSBFIRST, BLUE[i]);
shiftOut(pinData, pinClock, MSBFIRST, GREEN[i]);
}
}
void loop()
{
for (int i = 0; i<LED_CNT; i++)
{
RED[i] = 0; GREEN[i] =0; BLUE[i] = 255;
updateLED();
RED[i] = 0; GREEN[i] = 0; BLUE[i] = 0;
delay(300);
}
}
결과 동영상
Arduino UNO R3 예제
부품 목록
| 부품명 | Arduino UNO R3 |
|
|---|---|---|
| 기능 | Arduino UNO R3 모듈 | |
| 수량 | 1 EA | |
| 부품 판매처 | https://kit128.com/goods/view?no=337 |
| 부품명 | WS2801 LED Strip |
|
|---|---|---|
| 기능 | LED Strip | |
| 수량 | 1 EA | |
| 부품 판매처 | https://kit128.com/goods/view?no=199 |
핀 연결
아래와 같이 WS2801 LED Strip 와 Arduino UNO R3 를 연결합니다.
| WS2801 LED Strip | Arduino UNO R3 |
|---|---|
| VCC | 5V |
| Clock | 2 |
| Data | 3 |
| GND | GND |
소스코드
최신 소스코드는 [파일]=>[예제]=>[WhiteAT UNO]=> [WS2801] => [ShiftOut] 에 있으며
라이브러리는 아두이노 개발환경 을 참조하세요
/*
WS2801 ShiftOut Test
Blue Color 을 한 칸씩 이동하는 예제입니다.
출처: http://whiteat.com/Arduino
부품
. WAT-Arduino128 : https://kit128.com/goods/view?no=64
. WS2801 : https://kit128.com/goods/view?no=199
연결
UNO WS2801
-------------------------------------------------
2 CLOCK pin
3 DATA pin
*/
#define LED_CNT 16
int RED[LED_CNT];
int GREEN[LED_CNT];
int BLUE[LED_CNT];
// 설정
int pinClock = 2;
int pinData = 3;
// 프로그램 시작 - 초기화 작업
void setup()
{
Serial.begin(115200); // 시리얼 통신 초기화
Serial.println("Arduino Examples - WS2801 shiftOut");
Serial.println(" https://docs.whiteat.com/?p=3183");
pinMode(pinClock, OUTPUT);
pinMode(pinData, OUTPUT);
for (int i = 0; i<LED_CNT; i++)
{
RED[i] = 0;
BLUE[i] = 0;
GREEN[i] = 0;
}
}
void updateLED()
{
for (int i = 0; i<LED_CNT; i++)
{
shiftOut(pinData, pinClock, MSBFIRST, RED[i]);
shiftOut(pinData, pinClock, MSBFIRST, BLUE[i]);
shiftOut(pinData, pinClock, MSBFIRST, GREEN[i]);
}
}
void loop()
{
for (int i = 0; i<LED_CNT; i++)
{
RED[i] = 0; GREEN[i] =0; BLUE[i] = 255;
updateLED();
RED[i] = 0; GREEN[i] = 0; BLUE[i] = 0;
delay(300);
}
}
결과 동영상
활용
제품 구매
WS2801 LED Strip 은 https://kit128.com/goods/view?no=199 에서 구매하실 수 있습니다.



