Update extras.ino
This commit is contained in:
parent
1b402b5ebc
commit
9d0c56799c
|
|
@ -2,7 +2,80 @@
|
|||
|
||||
#include "Pixel.h"
|
||||
|
||||
struct Effect1 {
|
||||
|
||||
Pixel *px;
|
||||
int H=0;
|
||||
color_t x[8];
|
||||
uint32_t alarmTime=0;
|
||||
uint32_t speed;
|
||||
|
||||
Effect1(Pixel *px, uint32_t speed=20){
|
||||
this->px=px;
|
||||
this->speed=speed;
|
||||
}
|
||||
|
||||
void update(){
|
||||
if(millis()<alarmTime)
|
||||
return;
|
||||
|
||||
for(int i=0;i<8;i++)
|
||||
x[i]=px->getColorHSV(H,i*3+79,i*2+5);
|
||||
|
||||
px->setColors(x,8);
|
||||
H=(H+1)%360;
|
||||
|
||||
alarmTime=millis()+speed;
|
||||
}
|
||||
};
|
||||
|
||||
struct Effect2 {
|
||||
|
||||
Pixel *px;
|
||||
int phase=0;
|
||||
int dir=1;
|
||||
int H=0;
|
||||
color_t x[8];
|
||||
uint32_t alarmTime=0;
|
||||
uint32_t speed;
|
||||
|
||||
Effect2(Pixel *px, uint32_t speed=20){
|
||||
this->px=px;
|
||||
this->speed=speed;
|
||||
}
|
||||
|
||||
void update(){
|
||||
if(millis()<alarmTime)
|
||||
return;
|
||||
|
||||
for(int i=0;i<8;i++){
|
||||
if(i==phase)
|
||||
x[i]=px->getColorHSV(H,100,10);
|
||||
else if(i==7-phase)
|
||||
x[i]=px->getColorHSV(H+180,100,10);
|
||||
else
|
||||
x[i]=0;
|
||||
}
|
||||
|
||||
px->setColors(x,8);
|
||||
phase=(phase+dir)%8;
|
||||
|
||||
if(phase==0){
|
||||
dir=1;
|
||||
H=(H+10)%360;
|
||||
}
|
||||
else if(phase==7){
|
||||
dir=-1;
|
||||
H=(H+10)%360;
|
||||
}
|
||||
|
||||
alarmTime=millis()+speed;
|
||||
}
|
||||
};
|
||||
|
||||
Pixel px(21);
|
||||
Effect1 effect1(&px,5);
|
||||
Effect2 effect2(&px,100);
|
||||
|
||||
void setup() {
|
||||
|
||||
|
|
@ -10,106 +83,12 @@ void setup() {
|
|||
Serial.flush();
|
||||
delay(1000); // wait for interface to flush
|
||||
|
||||
Serial.println("\n\nHomeSpan Pixel Example\n\n");
|
||||
|
||||
Serial.println("\n\nHomeSpan Pixel Example\n");
|
||||
Serial.printf("PX on Pin=%d check: %s\n",px.getPin(),px?"OKAY":"BAD");
|
||||
|
||||
int H=0;
|
||||
color_t x[8];
|
||||
int s;
|
||||
|
||||
while(1){
|
||||
|
||||
for(int i=0;i<8;i++)
|
||||
x[i]=px.getColorHSV(H,i*3+79,i*2+5);
|
||||
|
||||
px.setColors(x,8);
|
||||
delay(20);
|
||||
H=H+1;
|
||||
if(H>=360)
|
||||
H=0;
|
||||
|
||||
s++;
|
||||
if(s>8)
|
||||
s=0;
|
||||
}
|
||||
|
||||
} // end of setup()
|
||||
|
||||
void loop(){
|
||||
|
||||
// px.setHSV(0,1.0,0.2,8);
|
||||
// delay(1000);
|
||||
// px.setHSV(120,1.0,0.2,4);
|
||||
// delay(1000);
|
||||
// px.setHSV(240,1.0,0.2,2);
|
||||
// delay(1000);
|
||||
|
||||
color_t RED=px.getColorRGB(50,0,0);
|
||||
|
||||
color_t x0[8]={0,0,0,0,0,0,0,0};
|
||||
|
||||
color_t x1[8]={RED,RED,RED,RED,RED,RED,RED,RED};
|
||||
color_t x2[8]={0,0,0,0,0,0,RED,RED};
|
||||
color_t x3[8]={0,0,0,0,0,RED,0,0};
|
||||
color_t x4[8]={0,0,0,0,RED,0,0,0};
|
||||
color_t x5[8]={0,0,0,0,0,RED,0,0};
|
||||
color_t x6[8]={0,0,0,0,0,0,RED,RED};
|
||||
color_t x7[8]={RED,RED,RED,RED,RED,RED,RED,RED};
|
||||
|
||||
color_t x8[8]={RED,RED,RED,RED,RED,RED,RED,RED};
|
||||
color_t x9[8]={RED,0,0,0,RED,0,0,RED};
|
||||
color_t x10[8]={RED,0,0,0,RED,0,0,RED};
|
||||
color_t x11[8]={RED,0,0,0,RED,0,0,RED};
|
||||
color_t x12[8]={RED,0,0,0,0,0,0,RED};
|
||||
color_t x13[8]={RED,0,0,0,0,0,0,RED};
|
||||
color_t x14[8]={RED,0,0,0,0,0,0,RED};
|
||||
|
||||
|
||||
uint32_t d=2;
|
||||
|
||||
while(1){
|
||||
px.setColors(x1,8);
|
||||
delay(d);
|
||||
px.setColors(x2,8);
|
||||
delay(d);
|
||||
px.setColors(x3,8);
|
||||
delay(d);
|
||||
px.setColors(x4,8);
|
||||
delay(d);
|
||||
px.setColors(x5,8);
|
||||
delay(d);
|
||||
px.setColors(x6,8);
|
||||
delay(d);
|
||||
px.setColors(x7,8);
|
||||
delay(d);
|
||||
px.setColors(x0,8);
|
||||
delay(d);
|
||||
px.setColors(x8,8);
|
||||
delay(d);
|
||||
px.setColors(x9,8);
|
||||
delay(d);
|
||||
px.setColors(x10,8);
|
||||
delay(d);
|
||||
px.setColors(x11,8);
|
||||
delay(d);
|
||||
px.setColors(x12,8);
|
||||
delay(d);
|
||||
px.setColors(x13,8);
|
||||
delay(d);
|
||||
px.setColors(x14,8);
|
||||
delay(d);
|
||||
px.setColors(x0,8);
|
||||
delay(d);
|
||||
effect2.update();
|
||||
}
|
||||
|
||||
// x[0]=Pixel::getColorHSV(0,1,0.2);
|
||||
// x[1]=px.getColorHSV(0,0.7,0.2);
|
||||
// px.setColors(x,2);
|
||||
// delay(1000);
|
||||
// x[0]=px.getColorHSV(0,0.7,0.2);
|
||||
// x[1]=px.getColorHSV(0,1,0.2);
|
||||
// px.setColors(x,2);
|
||||
// delay(1000);
|
||||
|
||||
} // end of loop()
|
||||
|
|
|
|||
Loading…
Reference in New Issue