int *xipai(int nums[]){
int temp=0;
for(int i=4; i>0; i--) {
long ran=random(0,i);
temp=nums[i];
nums[i]=nums[ran];
nums[ran]=temp;
delay(16-ran);
}
long ran=random(0,5);
temp=nums[0];
nums[0]=nums[ran];
nums[ran]=temp;
delay(16-ran);
return nums;
}
洗牌算法,随机亮灯用的
if (scale.is_ready()) {
long reading = scale.read();
if(reading-value>25000|| reading-value<-25000){state[0]=1;}}
value是开始几秒钟不断获取传感器数值得到的平均值
#include <SoftwareSerial.h>两个arduino用软串口通信
if(millis()-timelast>350){//liushuideng
if(state==1){
if(numstate==0){for(int i=1; i<29; i+=2){pixels.setPixelColor(i, pixels.Color(0, 0, 0)); }for(int i=0; i<29; i+=2){pixels.setPixelColor(i, pixels.Color(red, 0, blue)); } pixels.show(); numstate=1;}
else{for(int i=0; i<29; i+=2){pixels.setPixelColor(i, pixels.Color(0, 0, 0)); }for(int i=1; i<29; i+=2){pixels.setPixelColor(i, pixels.Color(red, 0, blue)); } pixels.show(); numstate=0;}}
if(state1==1){
if(numstate1==0){for(int i=1; i<29; i+=2){pixels2.setPixelColor(i, pixels2.Color(0, 0, 0)); } for(int i=0; i<29; i+=2){pixels2.setPixelColor(i, pixels2.Color(red, 0, blue)); } pixels2.show(); numstate1=1;}
else{for(int i=0; i<29; i+=2){pixels2.setPixelColor(i, pixels2.Color(0, 0, 0)); } for(int i=1; i<29; i+=2){pixels2.setPixelColor(i, pixels2.Color(red, 0, blue)); } pixels2.show(); numstate1=0;}}
timelast=millis();
}流水灯效果
我们的是一个扇叶用一根137个灯珠的,尽量不要用矩阵灯
一个arduino只能接3个灯条
哪怕不写别的只点亮四个灯条也只会亮三个 |