• 上海合作组织青岛峰会举行 2019-04-20
  • 遭遇隐形歧视 就业权益谁来维护 2019-04-20
  • 杨立新解读2018年天津市《政府工作报告》--天津频道--人民网 2019-04-19
  • 【北京海之沃车型报价】北京海之沃4S店车型价格 2019-04-19
  • 让个体诚信有力推动社会诚信 2019-04-13
  • 习近平会见巴基斯坦总统侯赛因 2019-04-13
  • 罗亦农:“残躯何足惜,大敌正当前” 2019-03-21
  • 由进口至出口再至走向世界,这一路着实不易,其中少不了无数位科研人员的奉献与牺牲。 2019-03-21
  • 查看: 5100|回复: 5
    打印 上一主题 下一主题

    [高级教程] DIY七夕情人节礼物—爱心吊坠

    [复制链接]
    本帖最后由 源代码 于 2018-8-16 03:38 编辑

          七夕情人节,是中国传统节日。相传,七夕节这天,王母娘娘准许牛郎织女通过喜鹊搭建的鹊桥来相会。牛郎织女一年就只有七夕这天能够相会,象征着爱情的坚贞不渝。七夕积淀了太多的感情因素和人们对生活诠释,所以难以放弃。纵观“七夕”在我国的发展史,凡是动乱时期它是最容易被人们淡化的,凡是安定时期又是最让人挂牵的。现在又到了一个重新挂?!捌呦Α钡氖逼?了,所以准备动手做个爱心吊坠与女友相会。

    话不多说,直接上教程!
    一,材料准备

    二,制作步骤
    1.由于7219点阵??樘?,所以必须对点阵??榧鹾翊?,去掉插针管脚直接焊接,这样厚度至少减薄一半,有利于降低吊坠整体厚度。


    2.去除Sparrow控制器上的锂电池插座,电池直接焊接在控制板上。

    3.将点阵触点上焊接上导线,将7219点阵上的DIN、CS、CLK引脚分别焊接在Sparrow控制器的6、8、9引脚上。

    4.将点阵屏用少量热熔胶固定在Sparrow控制板上,再把吊坠扣安装在3D打印的外壳框上。




    5.焊接3.7v锂电池在Sparrow控制板上,并用热熔胶固定。用海绵胶带将Sparrow控制器整个主板做防漏处理,这一步的目的是为了防止UV胶向外溢出或胶进入开关及充电插口。


    6.将Sparrow控制器安装在吊坠框内,并用少量热熔胶固定。


    7.准备两个杯子分别以1:2比例放入绿色、蓝色色精再加入UV胶,并朝一个方向搅拌至无颗粒状,再将两种颜色UV胶混合。


    8.将吊坠框尽量放在水平的桌面上,可以借助水平仪调平,超一边缓慢将UV胶倒入到主板与框的缝隙填充,倒入过快容易产生气泡。浇筑后用紫外线灯照射10分钟即可固化,也可以晴天放在太阳下照射20分钟。



    9.如你所见,由于我的开关没有密封好,造成UV胶流入内部固化报废了,只能重新焊接换了一个拨动开关代替,朋友们使用UV胶的时候要特别注意。

    三,上传程序。
    [C++] 纯文本查看 复制代码
    int dataIn = 6;
    int load = 8;
    int clock = 9;
    int intensity = 0;
    
    int maxInUse = 1; 
    
    int e = 0; 
    
    byte max7219_reg_noop        = 0x00;
    byte max7219_reg_digit0      = 0x01;
    byte max7219_reg_digit1      = 0x02;
    byte max7219_reg_digit2      = 0x03;
    byte max7219_reg_digit3      = 0x04;
    byte max7219_reg_digit4      = 0x05;
    byte max7219_reg_digit5      = 0x06;
    byte max7219_reg_digit6      = 0x07;
    byte max7219_reg_digit7      = 0x08;
    byte max7219_reg_decodeMode  = 0x09;
    byte max7219_reg_intensity   = 0x0a;
    byte max7219_reg_scanLimit   = 0x0b;
    byte max7219_reg_shutdown    = 0x0c;
    byte max7219_reg_displayTest = 0x0f;
    
    void putByte(byte data) {
      byte i = 8;
      byte mask;
      while(i > 0) {
        mask = 0x01 << (i - 1);
        digitalWrite( clock, LOW); 
        if (data & mask){            // choose bit
          digitalWrite(dataIn, HIGH);
        }else{
          digitalWrite(dataIn, LOW); 
        }
        digitalWrite(clock, HIGH); 
        --i;                         // move to lesser bit
      }
    }
    
    void maxSingle( byte reg, byte col) {    
    
    
      digitalWrite(load, LOW); 
      putByte(reg); 
      putByte(col);
      digitalWrite(load, LOW); 
      digitalWrite(load,HIGH); 
    }
    
    void maxAll (byte reg, byte col) { 
      int c = 0;
      digitalWrite(load, LOW); 
      for ( c =1; c<= maxInUse; c++) {
      putByte(reg); 
      putByte(col);
        }
      digitalWrite(load, LOW);
      digitalWrite(load,HIGH);
    }
    
    void maxOne(byte maxNr, byte reg, byte col) {    
    
      int c = 0;
      digitalWrite(load, LOW);
      for ( c = maxInUse; c > maxNr; c--) {
        putByte(0); 
        putByte(0); 
      }
    
      putByte(reg);
      putByte(col);
    
      for ( c =maxNr-1; c >= 1; c--) {
        putByte(0);
        putByte(0); 
      }
    
      digitalWrite(load, LOW); 
      digitalWrite(load,HIGH); 
    }
    
    
    void setup () {
    
    
      pinMode(dataIn, OUTPUT);
      pinMode(clock,  OUTPUT);
      pinMode(load,   OUTPUT);
    
      maxAll(max7219_reg_scanLimit, 0x07);      
      maxAll(max7219_reg_decodeMode, 0x00); 
      maxAll(max7219_reg_shutdown, 0x01); 
      maxAll(max7219_reg_displayTest, 0x00); 
       for (e=1; e<=8; e++) { 
        maxAll(e,0);
      }
      maxAll(max7219_reg_intensity, 0x08 & 0x0f); 
    
    }  
    
    int row=0, col=0;
    
    #define rowMax 27
    #define colMax 8
    
    int valueMask[rowMax][colMax]={
      {B00000000,B01100110,B11111111,B11111111,B11111111,B01111110,B00111100,B00011000},
      {B00000000,B00000000,B00100100,B01111110,B01111110,B00111100,B00011000,B00000000},
      {B00000000,B01100110,B11111111,B11111111,B11111111,B01111110,B00111100,B00011000},
      {B00000000,B00000000,B00100100,B01111110,B01111110,B00111100,B00011000,B00000000},
      {B00000000,B01100110,B11111111,B11111111,B11111111,B01111110,B00111100,B00011000},
      {B00000000,B00000000,B00100100,B01111110,B01111110,B00111100,B00011000,B00000000},
      {B00000000,B01100110,B11111111,B11111111,B11111111,B01111110,B00111100,B00011000},  
    
      {B00010000,B10010000,B10110000,B10110000,B11110001,B11111001,B11111011,B11111111},
      {B00001000,B01001100,B01001101,B01101101,B01101101,B01101101,B01111101,B11111111},
      {B00000001,B00000101,B00100101,B00110101,B10110101,B10110101,B11110111,B11111111},
      {B10000000,B11000000,B11001000,B11001000,B11001000,B11101010,B11111010,B11111111},
    
      {B00000000, B00111100, B01111110, B11011011, B11011011, B01111110, B00100100, B11000011},
      {B00111100, B01111110, B11011011, B11011011, B01111110, B00100100, B00100100, B00100100},
      {B00000000, B00111100, B01111110, B11011011, B11011011, B01111110, B00100100, B11000011},
      {B00111100, B01111110, B11011011, B11011011, B01111110, B00100100, B00100100, B00100100},
    
      {B00100100, B00100100, B01111110, B11011011, B11111111, B11111111, B10100101, B00100100},
      {B00100100, B10100101, B11111111, B11011011, B11111111, B01111110, B00100100, B01000010},
      {B00100100, B00100100, B01111110, B11011011, B11111111, B11111111, B10100101, B00100100},
      {B00100100, B10100101, B11111111, B11011011, B11111111, B01111110, B00100100, B01000010},
    
      {B01100110,B11111111,B11111111,B11111111,B01111110,B00111100,B00011000,B00000000},
      {B00001110,B00011111,B00111111,B01111110,B01111110,B00111111,B00011111,B00001110},
      {B00000000,B00011000,B00111100,B01111110,B11111111,B11111111,B11111111,B01100110},
      {B01110000,B11111000,B11111100,B01111110,B01111110,B11111100,B11111000,B01110000},
      {B01100110,B11111111,B11111111,B11111111,B01111110,B00111100,B00011000,B00000000},
      {B00000000,B00001100,B00011110,B00111100,B00111100,B00011110,B00001100,B00000000},
      {B00000000,B00011000,B00111100,B01111110,B11111111,B11111111,B11100111,B01100110},
      {B00000000,B00110000,B01111000,B00111100,B00111100,B01111000,B00110000,B00000000}
      
    };
    
    void loop () {
    
    
      for(row=0;row<rowMax;row++)
      {
        for(col=0;col<colMax;col++)
        {
          maxSingle(col+1,valueMask[row][col]);
        }
    
        if(row<(rowMax-8))
        {
          delay(250);
        }
        else
        {
          delay(120);
        }
    
        if(row % 2 == 0)
        {
          digitalWrite(13, LOW);
        }
        else
        {
          digitalWrite(13, HIGH);
        }
      }
      
    }




    最后准备一条吊坠挂件绳打结连接在点阵吊坠扣上,一个跳动的爱心动画吊坠就做好了。



    【本帖仅限DFRobot社区论坛,未经许可,不得转载!】

    -----------------------END-----------------------

    题外 目前Sparrow控制器我们正在微信群众筹,对这款控制器感兴趣的朋友可以扫码进群了解详情,感谢大家支持!











    吊坠框模型.zip

    167.9 KB, 下载次数: 4, 下载积分: 创造力 -1

    沙发

    dt  中级技师

    发表于 2018-8-16 10:56:04

    很精致,只可惜手上的两个主板已经用了,等众筹的板子到货再尝试
    板凳

    hnyzcj  超级版主

    发表于 2018-8-17 08:39:08

    漂亮
    地板

    213  学徒

    发表于 2018-8-18 09:28:07

    微信群加不进去了,拉一下呗!17806237813
    5#

    gada888  版主

    发表于 2018-8-24 16:54:55

    这个好玩
    6#

    luckywei  学徒

    发表于 2018-9-3 09:34:08

    群进不去拉一下13333114801
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    为本项目制作心愿单
    购买心愿单
    心愿单 编辑
    wifi气象站

    硬件清单

    btnicon
    我也要做!
    点击进入购买页面
    上海智位机器人股份有限公司 沪ICP备09038501号-4

    © 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

    浙江6加1开奖结果
  • 上海合作组织青岛峰会举行 2019-04-20
  • 遭遇隐形歧视 就业权益谁来维护 2019-04-20
  • 杨立新解读2018年天津市《政府工作报告》--天津频道--人民网 2019-04-19
  • 【北京海之沃车型报价】北京海之沃4S店车型价格 2019-04-19
  • 让个体诚信有力推动社会诚信 2019-04-13
  • 习近平会见巴基斯坦总统侯赛因 2019-04-13
  • 罗亦农:“残躯何足惜,大敌正当前” 2019-03-21
  • 由进口至出口再至走向世界,这一路着实不易,其中少不了无数位科研人员的奉献与牺牲。 2019-03-21