查看: 1535|回复: 6

[项目] 发一个正在做的8*8*8光立方

[复制链接]
  • TA的每日心情
    开心
    2019-7-17 12:40
  • 签到天数: 52 天

    [LV.5]常住居民I

    发表于 2019-3-23 19:56 | 显示全部楼层 |阅读模式
    最近不怎么忙就焊接了一个光立方,第一次做,也没什么参考。有思路后就开工。用激光雕刻机做了个焊接的模板,3mm的孔,间距10mm,再上面一排一排的做好再焊接。
    20190323_193014.jpg
    用的高亮红色3mm,高度没怎么注意结果间距大有些偏高了。
    20190316_083508.jpg
    20190317_092648.jpg
    20190317_092721.jpg

    驱动电路用的自制的595小板子,一共9片,8片负责纵向控制,最后一片负责8个层控制,用2803做驱动。
    20190323_191930.jpg
    20190323_191955.jpg
    20190323_192025.jpg
    PCB_NEW-PCB_20190323192329.png
    595.PNG

    编了个小程序测试了一下,最终成功。焊接一定要注意焊好一排就挨个测试,都亮了再继续。要是完成了再发现不亮的就麻烦了。
    20190323_191233_20190323194656.gif

    附刚刚写的测试程序:
    各种变换效果抽空再编写了。

    又订购了双色的3mmLED,再做异形的。

    kittenblock中小学创客名师推荐的图形化编程软件

    // 使用 74HC595 
    // 接 74HC595 的 ST_CP (pin 12,latch pin)
    #define latchPin 5
    // 接 74HC595 的 SH_CP (pin 11, clock pin)
    #define clockPin  4
    // 接 74HC595 的 DS (pin 14)
    #define dataPin  3
    #define dataPin2  9  //双色备用
    
    const byte ta[8][8] ={
      {0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},
      {0xFF,0x7E,0x00,0x00,0x00,0x00,0x7E,0xFF},
      {0xFF,0x7E,0x3C,0x00,0x00,0x3C,0x7E,0xFF},
      {0xFF,0x7E,0x3C,0x18,0x18,0x3C,0x7E,0xFF},
      {0xFF,0x7E,0x3C,0x18,0x18,0x3C,0x7E,0xFF},
      {0xFF,0x7E,0x3C,0x00,0x00,0x3C,0x7E,0xFF},
      {0xFF,0x7E,0x00,0x00,0x00,0x00,0x7E,0xFF},
      {0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},
      
      };
    void setup() {
      // 将 latchPin, clockPin, dataPin 设置为输出
      pinMode(latchPin, OUTPUT);
      pinMode(clockPin, OUTPUT);
      pinMode(dataPin, OUTPUT);
      pinMode(dataPin2, OUTPUT);
     
     Serial.begin(115200);
    
    }
    void loop() {
        for (int x = 0;x<8;x++){
            outchar(x);
          delay(50);
        }   
        for (int x = 7;x>=0;x--){
            outchar(x);
          delay(50);
        }  
    }
    void outchar(int outx){
            digitalWrite(latchPin, LOW); 
              OUTDATA(dataPin,dataPin2, clockPin,1<<(7-outx),0); 
           for (int m=0;m<8;m++){
              OUTDATA(dataPin,dataPin2, clockPin,ta[m][outx],0);  
           }
        digitalWrite(latchPin, HIGH);  
     
      }
    void OUTDATA(uint8_t x,uint8_t y, uint8_t clockp, uint8_t val, uint8_t val_2){
          uint8_t i;
          for (i = 0; i < 8; i++){
                      digitalWrite(x, (val & ( 1<< i )));
                      digitalWrite(y, (val_2 & (1<< i )));
                      digitalWrite(clockp, HIGH);
                      digitalWrite(clockp, LOW);           
          }
    }




  • TA的每日心情
    开心
    2019-7-17 12:40
  • 签到天数: 52 天

    [LV.5]常住居民I

     楼主| 发表于 2019-3-24 17:30 | 显示全部楼层
    20190324_171940_20190324172636.gif

    S型扭呀扭

    kittenblock中小学创客名师推荐的图形化编程软件

    #include <MsTimer2.h>  //定时中断的库
    // 使用 74HC595 
    // 接 74HC595 的 ST_CP (pin 12,latch pin)
    #define latchPin 5
    // 接 74HC595 的 SH_CP (pin 11, clock pin)
    #define clockPin  4
    // 接 74HC595 的 DS (pin 14)
    #define dataPin  3
    #define dataPin2  9  //双色备用
    
    byte led[8][8] ={
      {0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},
      {0x00,0x7E,0x00,0x00,0x00,0x00,0x7E,0x00},
      {0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00},
      {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},
      {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},
      {0x00,0x00,0x3C,0x00,0x00,0x3C,0x00,0x00},
      {0x00,0x7E,0x00,0x00,0x00,0x00,0x7E,0x00},
      {0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},
      
      };
    byte buff[8];
    uint8_t layer = 0;
    unsigned int num = 0;
    void ledout(){  //定时中断,扫描每一层
        layer++;
        if (layer ==8)
          layer = 0;
        outchar(layer);
      
      }
    void setup() {
      // 将 latchPin, clockPin, dataPin 设置为输出
      pinMode(latchPin, OUTPUT);
      pinMode(clockPin, OUTPUT);
      pinMode(dataPin, OUTPUT);
      pinMode(dataPin2, OUTPUT);
       MsTimer2::set(2, ledout); // 2ms period
      MsTimer2::start();
    
     //Serial.begin(115200);
    
    }
    void loop() {
      for(int i = 0;i<8;i++){  //把底层放入缓存
                buff = led[7];
        }
      for(int i=0;i<7;i++){     //顺序下移一层
        for(int j=0;j<8;j++){
               led[j][7-i] = led[j][6-i];
         }
        }
      for(int i = 0;i<8;i++){   //把缓存放入顶层
               led[0] = buff;
        }
    
        delay(100);
     
    }
    void outchar(int outx){
            digitalWrite(latchPin, LOW); 
              OUTDATA(dataPin,dataPin2, clockPin,1<<(7-outx),0);  //层选中
             // int m=5;
           for (int m=0;m<8;m++){   //输出8个立面
              OUTDATA(dataPin,dataPin2, clockPin,led[m][outx],0);  
           }
        digitalWrite(latchPin, HIGH);  
     
      }
    void OUTDATA(uint8_t x,uint8_t y, uint8_t clockp, uint8_t val, uint8_t val_2){
          uint8_t i;
          for (i = 0; i < 8; i++){
                      digitalWrite(x, (val & ( 1<< i )));
                      digitalWrite(y, (val_2 & (1<< i )));
                      digitalWrite(clockp, HIGH);
                      digitalWrite(clockp, LOW);           
          }
    }



  • TA的每日心情
    开心
    2019-7-17 12:40
  • 签到天数: 52 天

    [LV.5]常住居民I

     楼主| 发表于 2019-3-25 14:17 | 显示全部楼层
    贴设计板图,上午刚弄的。打算做16*16*16双色的。估计要半年完成吧。
    pb.png

    PCB_NEW-PCB_20190325140935.png

    一个双色单元。16光立方要用32片,用64片595,再加两片层驱动。

    用红蓝双色3mm雾状灯


  • TA的每日心情
    开心
    2019-7-17 12:40
  • 签到天数: 52 天

    [LV.5]常住居民I

     楼主| 发表于 2019-4-6 18:58 | 显示全部楼层
    第二个焊接练习
    PCB_NEW-PCB_20190406185130.png 20190404_221049.jpg 20190404_221053.jpg 20190404_221057.jpg 20190405_085634.jpg 20190405_085641.jpg

  • TA的每日心情
    开心
    2019-7-17 12:40
  • 签到天数: 52 天

    [LV.5]常住居民I

     楼主| 发表于 2019-4-6 19:00 | 显示全部楼层
    20190406_090253_20190406185731.gif
  • TA的每日心情
    开心
    2019-8-22 14:54
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    发表于 2019-5-30 23:47 | 显示全部楼层
    嗯,很赞,很久前在油管上见过这个项目。
  • TA的每日心情
    开心
    2019-9-15 19:42
  • 签到天数: 85 天

    [LV.6]常住居民II

    发表于 2019-6-27 13:53 | 显示全部楼层
    既漂亮又实用
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    【Arduino】108种传感器模块系列实验(55)---DHT11温湿度传感器
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【Arduino】108种传感器模块系列实验(40)---旋转编码器模块
    【Arduino】108种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    基于机器视觉的智能分拣机械臂
    基于机器视觉的智能分拣机
    本作品是一个基于机器视觉的智能机械臂操作平台,其采用atmega32单片机作为主控制系统
    请问HMC5883L的三个数据到底代表什么,如何做成指南针?
    请问HMC5883L的三个数据到
    或者哪位朋友有资料给个连接?网上愣是没找到。都只介绍了如何读取数据。我想做成图
    关于atmega328p-pu 地的问题
    关于atmega328p-pu 地的问
    请问图中ADC的地和VCC的地在单片机内部有连接吗?本人初学者,因为需要控制模拟电路,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表