#define DSpin 2
#define LATCHpin 3
#define CLOCKpin 4
uint8_t pattern[]={0b00000000,0b00000001,0b01010101};
void setup() {
pinMode(DSpin, OUTPUT);
pinMode(LATCHpin, OUTPUT);
pinMode(CLOCKpin, OUTPUT);
digitalWrite(LATCHpin, LOW);
shiftOut(DSpin, CLOCKpin, LSBFIRST, pattern[0]);
digitalWrite(LATCHpin, HIGH);
}
void loop() {
//striedanie();
posuvanie();
}
bool a=0;
void striedanie(){
pattern[2]=pattern[2]*2+a;
a=!a;
/*if(pattern==0b10101010)
pattern=0b01010101;
else
pattern=0b10101010;*/
digitalWrite(LATCHpin, LOW);
shiftOut(DSpin, CLOCKpin, LSBFIRST, pattern[2]);
digitalWrite(LATCHpin, HIGH);
delay(250);
}
void posuvanie(){
float posun;
if(pattern[1]==0b10000000){
posun=0.5;
}
else if(pattern[1]==1){
posun=2;
}
pattern[1]*=posun;
digitalWrite(LATCHpin, LOW);
shiftOut(DSpin, CLOCKpin, LSBFIRST, pattern[1]);
digitalWrite(LATCHpin, HIGH);
delay(250);
}