BASIC4MCU | 질문게시판 | 답변 : 아두이노 프로마이크로 ide
페이지 정보
작성자 master 작성일2024-09-28 11:23 조회207회 댓글0건본문
#include<Adafruit_NeoPixel.h>
#define ledPin 6
#define numLeds 8
Adafruit_NeoPixel strip(numLeds,ledPin,NEO_GRB+NEO_KHZ800);
//
int table[8][3]={
{225,255,225},{255,187, 0},{255,228, 0},{255,187, 0},
{ 29,219, 22},{ 0, 84,255},{ 95, 0,255},{255, 0,221}
}
int r,g,b;
//
void setup(){
strip.begin(); strip.show();
}
//
void led_on(int idx){
r=table[idx][0]; g=table[idx][1]; b=table[idx][2];
for(int n=0;n<25;n++){ // 0.2sec * 25 = 5sec
for(int i=0;i<4;i++)strip.setPixelColor(i*2,r,g,b); strip.show(); delay(100);
for(int i=0;i<4;i++)strip.setPixelColor(n*2,0,0,0); strip.show(); delay(100);
}
}
//
void flash_on(int idx){
r=g=b=0;
while(r<table[idx][0] || g<table[idx][1] || b<table[idx][2]){
if(r<table[idx][0])r++; if(g<table[idx][1])g++; if(b<table[idx][2])b++;
for(int i=0;i<4;i++)strip.setPixelColor(i*2,r,g,b); strip.show(); delay(10);
}
}
//
void flash_off(){
while(r>0 || g>0 || b>0){
if(r>0)r--; if(g>0)g--; if(b>0)b--;
for(int i=0;i<4;i++)strip.setPixelColor(i*2,r,g,b); strip.show(); delay(10);
}
}
//
void loop(){
for(int i=0;i<8;i++){ led_on(i); flash_on(i); flash_off(); }
}
댓글 0
조회수 207등록된 댓글이 없습니다.