标题: Arduino 4X4直驱动光立方 [打印本页]

作者: 探索软件    时间: 2018-12-6 11:08
标题: Arduino 4X4直驱动光立方
视频:https://pan.baidu.com/s/13a2mOYJxDJCnI_gJ6RS5LA

硬件: 自制4x4 LED 光立方
连线图:



软件(网络上淘来的):
//此程序为16*4方案
byte led[]= {B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,
             B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
             B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,
             B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,
             B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,
             B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,
             B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,B1111,
             B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
             B1111,B0000,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B0000,B1111,
             B0000,B0000,B1111,B0000,B0000,B0000,B0001,B1110,B1111,B0000,B0000,B0000,B0000,B1111,B0000,B0000,
             B0000,B0000,B0000,B1111,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B1111,B0000,B0000,B0000,
             B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
             B0000,B0000,B0000,B1111,B0000,B0000,B0000,B0001,B0000,B0000,B0000,B0000,B1111,B0000,B0000,B0000,
             B0000,B0000,B1111,B0000,B0000,B0000,B0001,B1110,B1111,B0000,B0000,B0000,B0000,B1111,B0000,B0000,
             B1111,B0000,B0000,B0000,B0000,B1110,B0000,B0000,B0000,B0000,B1111,B0000,B0000,B0000,B0000,B1111,
             B0010,B0000,B0000,B0100,B1000,B0000,B0000,B0010,B0000,B0010,B1000,B0000,B0100,B0000,B0000,B0000,
             B0001,B0000,B0000,B0010,B0100,B0000,B0000,B1001,B0000,B0001,B1100,B0000,B1010,B0000,B0000,B0000,
             B1000,B0000,B0000,B0001,B0010,B0000,B0000,B1100,B0000,B1000,B0110,B0000,B0101,B0000,B0000,B0000,
             B0100,B0000,B0000,B0000,B0001,B0000,B0000,B0110,B0000,B0100,B0011,B0000,B0010,B0000,B0000,B0000,
             B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0010,B0001,B0000,B0001,B0000,B0000,B0000,
             B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0001,B0000,B0000,B0000,
              B0010,B0000,B0000,B0100,B1000,B0000,B0000,B0010,B0000,B0010,B1000,B0000,B0100,B0000,B0000,B0000,
             B0001,B0000,B0000,B0010,B0100,B0000,B0000,B1001,B0000,B0001,B1100,B0000,B1010,B0000,B0000,B0000,
             B1000,B0000,B0000,B0001,B0010,B0000,B0000,B1100,B0000,B1000,B0110,B0000,B0101,B0000,B0000,B0000,
             B0100,B0000,B0000,B0000,B0001,B0000,B0000,B0110,B0000,B0100,B0011,B0000,B0010,B0000,B0000,B0000,
             B0010,B0000,B0000,B0000,B0000,B0000,B0000,B0010,B0000,B0010,B0001,B0000,B0001,B0000,B0000,B0000,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0001,B0000,B0001,B0000,B0000,B0000,
//1-4每层一次点亮
B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
//1-4每层一次点亮(反)
B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,B0001,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,B0010,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,B0100,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,B1000,
B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,B0000,
};
int l=sizeof(led) ;
int v=4;
int i=0;
int j=16;
int k=0;
int ledi=0;
int ledj=0;
int ledk=0;
void setup() {
for(i=0;i<=20;i++)
{
  pinMode(i,OUTPUT);
}
}
void draw_layer(int i){
  for(k=16;k<=19;k++)
   {
    digitalWrite(k,HIGH);
    //delay(10);
   }
     digitalWrite(i+16,LOW);
     //delay(10);
}
void loop() {
  for(i=0;i<=3;i++)
  {
  draw_layer(i);
   for(j=0;j<=15;j++)
  {     
  ledi=ledj+j;  
   if(led[ledi] & (1<<i))
   {
     digitalWrite(j,HIGH);
     //delay(10);
   }
   else
   {
    digitalWrite(j,LOW);
    //delay(10);
   }
  }
   delay(5);
   }
   ledk++;
   if(ledk>=v)
   {
   ledj+=16;
   ledk=0;
   }
   if(ledj>=l)
   ledj=0;
}







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1