////////////////////////////////////////////////////////////////////////////////
// /*
// 電子元件:Neopixel LED WS2812
// 功能:依序亮出彩虹
// */
// #include <Adafruit_NeoPixel.h> // 引入Adafruilt NeoPixel函式庫
// #define DIN_PIN 21 // DIN 接腳
// #define NUMPIXELS 64 // LED 數量
// // 宣告 Adafruit_NeoPixel 物件
// Adafruit_NeoPixel pixels(NUMPIXELS, DIN_PIN, NEO_GRB + NEO_KHZ800);
// void setup() {
// // 初始化
// pixels.begin();
// }
// void loop() {
// colorWipe(255, 0, 0, 50); // 依序亮紅色
// colorWipe(255, 128, 0, 50); // 依序亮橙色
// colorWipe(255, 255, 0, 50); // 依序亮黃色
// colorWipe(0, 255, 0, 50); // 依序亮綠色
// colorWipe(0, 255, 255, 50); // 依序亮青色
// colorWipe(0, 0, 255, 50); // 依序亮藍色
// colorWipe(255, 0, 255, 50); // 依序亮紫色
// }
// // 著色特效:依序顯示指定的 rgb 顏色, 每顯示一顆就暫停 wait 毫秒
// void colorWipe(byte r, byte g, byte b, int wait) {
// for (int i = 0; i < pixels.numPixels(); i++) { // 由0開始依序點亮
// pixels.setPixelColor(i, r, g, b); // 點亮指定的顏色
// pixels.show(); // 將設定顯示出來
// delay(wait); // 延時
// }
// }
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// /*
// 電子元件:Neopixel LED WS2812
// 功能:顯示彩色圖案
// */
// #include <Adafruit_NeoPixel.h> // 引入Adafruilt NeoPixel函式庫
// #define DIN_PIN 21 // DIN 接腳
// #define NUMPIXELS 64 // LED 數量
// // 宣告 Adafruit_NeoPixel 物件
// Adafruit_NeoPixel pixels(NUMPIXELS, DIN_PIN, NEO_GRB + NEO_KHZ800);
// // 圖案
// const long frame[64] = {
// 0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x0000FF, 0xCCFFFF, 0xCCFFFF,
// 0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x800000, 0x0000FF, 0xCCFFFF,
// 0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0x003366, 0xFFFF99, 0x003366, 0xCCFFFF, 0xCCFFFF,
// 0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0xFFFF99, 0xFFCC99, 0xFFFF99, 0xCCFFFF, 0xCCFFFF,
// 0xCCFFFF, 0x0000FF, 0xFF0000, 0x0000FF, 0x0000FF, 0xFF0000, 0x0000FF, 0xCCFFFF,
// 0xCCFFFF, 0xFFFF99, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xFFFF99, 0xCCFFFF,
// 0xCCFFFF, 0xCCFFFF, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xCCFFFF, 0xCCFFFF,
// 0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF
// };
// void setup() {
// // 初始化
// pixels.begin();
// }
// void loop() {
// draw();
// delay(100000);
// }
// // 繪圖
// void draw() {
// pixels.clear();
// for (int i = 0; i < pixels.numPixels(); i++) { // 由0開始依序點亮
// pixels.setPixelColor(i, frame[i]); // 點亮指定的顏色
// }
// pixels.show(); // 將設定顯示出來
// }
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
/*
電子元件:Neopixel LED WS2812
功能:顯示彩色圖案動畫
*/
#include <Adafruit_NeoPixel.h> // 引入Adafruilt NeoPixel函式庫
#define DIN_PIN 21 // DIN 接腳
#define NUMPIXELS 64 // LED 數量
// 宣告 Adafruit_NeoPixel 物件
Adafruit_NeoPixel pixels(NUMPIXELS, DIN_PIN, NEO_GRB + NEO_KHZ800);
// 體操動畫
const long frame[][64] = {
{
0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x0000FF, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x800000, 0x0000FF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0x003366, 0xFFFF99, 0x003366, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0xFFFF99, 0xFFCC99, 0xFFFF99, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0x0000FF, 0xFF0000, 0x0000FF, 0x0000FF, 0xFF0000, 0x0000FF, 0xCCFFFF,
0xCCFFFF, 0xFFFF99, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xFFFF99, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF
},
{
0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x0000FF, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x800000, 0x0000FF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0x339966, 0xFFFF99, 0x339966, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0xFFFF99, 0xFFCC99, 0xFFFF99, 0xCCFFFF, 0xCCFFFF,
0xFFFF99, 0x0000FF, 0xFF0000, 0x0000FF, 0x0000FF, 0xFF0000, 0x0000FF, 0xFFFF99,
0xCCFFFF, 0xCCFFFF, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF
},
{
0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x0000FF, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x800000, 0x0000FF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0x003366, 0xFFFF99, 0x003366, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xFFFF99, 0xFFFF99, 0xFFFF99, 0xFFCC99, 0xFFFF99, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0x0000FF, 0xFF0000, 0x0000FF, 0x0000FF, 0xFF0000, 0x0000FF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xFFFF99, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF
},
{
0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x0000FF, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0x0000FF, 0x0000FF, 0x0000FF, 0x800000, 0x0000FF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0x339966, 0xFFFF99, 0x339966, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFFFF99, 0xFFFF99, 0xFFCC99, 0xFFFF99, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0x0000FF, 0xFF0000, 0x0000FF, 0x0000FF, 0xFF0000, 0x0000FF, 0xFFFF99,
0xCCFFFF, 0xFFFF99, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0xFF0000, 0xFF0000, 0xFF0000, 0xFF0000, 0xCCFFFF, 0xCCFFFF,
0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF, 0x993300, 0xCCFFFF, 0xCCFFFF
}
};
void setup() {
// 初始化
pixels.begin();
}
void loop() {
draw();
}
// 動畫繪圖
void draw() {
pixels.clear();
for(int x = 0; x < 4;x++){
for (int i = 0; i < pixels.numPixels(); i++) { // 由0開始依序點亮
pixels.setPixelColor(i, frame[x][i]); // 點亮指定的顏色
}
pixels.show(); // 將設定顯示出來
delay(500);
}
}
////////////////////////////////////////////////////////////////////////////////