视频源代码:
const int SER=8;
const int CLK=9;
int seq1[]={
  1,3,7,15,31,63,127,255,127,63,31,15,7,3,1};
int seq2[]={
  255,126,60,24,0,24,60,126,255};
int seq3[]={
  1,2,4,8,16,32,64,128,64,32,16,8,4,2};
int seq4[]={
  129,66,36,24,36,66,129};
int i=0;
void setup() {
  // put your setup code here, to run once:
  pinMode(SER,OUTPUT);
  pinMode(CLK,OUTPUT);
  Serial.begin(9600);
  //digitalWrite(SCLK,LOW);
  //shiftOut(DATA,SCLK,MSBFIRST,B10101010);
}
void loop() {
  // put your main code here, to run repeatedly:
 if(i==0)
 {
   for(int j=0;j<15;j++)
   {
    digitalWrite(CLK, LOW); //Latch Low - start sending
    shiftOut(SER, CLK, MSBFIRST, seq1[j]); //Shift Most Sig. Bit First
    delay(150); //Animation Speed
   }
   i++;
 }
 if(i==1)
 {
   for(int j=0;j<9;j++)
   {
    digitalWrite(CLK, LOW); //Latch Low - start sending
    shiftOut(SER, CLK, MSBFIRST, seq2[j]); //Shift Most Sig. Bit First
    delay(500); //Animation Speed
   }
   i++;
 }
 if(i==2)
 {
   for(int j=0;j<14;j++)
   {
    digitalWrite(CLK, LOW); //Latch Low - start sending
    shiftOut(SER, CLK, MSBFIRST, seq3[j]); //Shift Most Sig. Bit First
    delay(150); //Animation Speed
   }
   i++;
 }
 if(i==3)
 {
   for(int j=0;j<7;j++)
   {
    digitalWrite(CLK, LOW); //Latch Low - start sending
    shiftOut(SER, CLK, MSBFIRST, seq4[j]); //Shift Most Sig. Bit First
    delay(500); //Animation Speed
   }
   i++;
 }
 
 if(i==4)
 {
   digitalWrite(CLK,LOW);
   shiftOut(SER, CLK, MSBFIRST, B11111111);
   delay(2000);
   i++;
 }
 if(i==5)
 {
   i=0;
 }
} |