#include <Adafruit_NeoPixel.h>
#define PIN1 5 // 腳位(可更改)
#define DELAYVAL 600 // 時間間隔(可更改)
#define NUMPIXELS 48 // 數量(可更改)
Adafruit_NeoPixel pixels1(NUMPIXELS, PIN1); //設定腳位及數量
int SW=7;//按鈕
void setup() {
pinMode(SW,INPUT);
digitalWrite(7,HIGH);//啟動上拉電阻
Serial.begin(9600);
pixels1.begin(); //啟用pixels服務
}
void loop() {
int randNumber = random(48);//隨機產生0-11
Serial.print(randNumber);
pixels1.setPixelColor(randNumber, pixels1.Color(255,0,0)); //red
pixels1.show(); //顯示
delay(1500);
pixels1.clear(); //將畫面清除
delay(1500);
int k=0;
while(2>1){
int c=k%NUMPIXELS;//取餘數
pixels1.setPixelColor(c, pixels1.Color(0,255,0)); //green
pixels1.show(); //顯示
delay(500); //延遲
boolean b1=digitalRead(SW);//按壓
Serial.println(b1);
if(c==randNumber and b1==0){
break;//跳出迴圈
}
k++;
pixels1.clear(); //將畫面清除
}
///產生成功畫面
for(int j=0;j<3;j++){
for(int i=0; i<NUMPIXELS; i++){ //設定「每一個」燈的顏色
pixels1.setPixelColor(i, pixels1.Color( 0,0,255 )); //藍色
}
pixels1.show();
delay(500);
for(int i=0; i<NUMPIXELS; i++){ //設定「每一個」燈的顏色
pixels1.setPixelColor(i, pixels1.Color( 255,255,0 )); //黃色
}
pixels1.show();
delay(500);
}
pixels1.clear();
}