3D打印光点唐砖64像素显示屏表白墙蜂鸣器音乐和点阵动画-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4117|回复: 1

[项目] 3D打印光点唐砖64像素显示屏表白墙蜂鸣器音乐和点阵动画

[复制链接]
发表于 2019-4-25 14:21 | 显示全部楼层 |阅读模式
本帖最后由 青年创造工坊 于 2019-5-10 11:38 编辑

项目简介:       3D打印光点唐砖64像素显示屏表白墙蜂鸣器音乐和点阵动画

     《 3D打印光点唐砖64像素显示屏 》
       slogan:我是大唐的一块砖,照亮你的文创思路。

      
       结合3d打印的设计建模打印、电子电路的设计焊接和装配、开源硬件程序和数字媒体艺术的综合文创&教育项目。原创首发并同等开源的完备工艺流程及制作过程,希望大家多多交流,学习进步。

项目准备:
      
       三维建模软件
       电路板设计软件
       Arduino ide
       3d打印机(可选)
       Led 5mm           64颗
       Arduino nano      1块
       无源蜂鸣器           1颗
       蓝牙模块(可选) 1块
       排插母15p            2条
       排插母 4p             2条
      

设计原理图:
接线图1.jpg

步骤:
屏幕截图(829)-1.jpg
构思大体架构
屏幕截图(827)-1.jpg
设计电路画pcb板
屏幕截图(821)-2.jpg
准备齐全材料
屏幕截图(820)-1.jpg
焊接电路板和排母
屏幕截图(822)-3.jpg
也可直接安装部件
屏幕截图(823)-4.jpg
测试电路是否正常工作
屏幕截图(828)-2.jpg
构建外壳体模型
屏幕截图(824)-5.jpg
电路板和外壳体装配
屏幕截图(826)-7.jpg
关灯是一种景观
屏幕截图(825)-6.jpg
开灯是另一种景观
LED源码:
[mw_shl_code=arduino,true]int Row[] = {12,11,10,9,8,7,6,5};//行
int Column[] = {2,13,A5,A4,A3,A2,A1,A0};//列
int buzzer=3;
unsigned char bigheart[8][8] = //'大心'
{
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 1, 1, 0, 0, 1, 1, 0,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  1, 1, 1, 1, 1, 1, 1, 1,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 0, 1, 1, 1, 1, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
};

unsigned char smallheart[8][8] = //'小心'
{
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 0, 1, 0, 0, 1, 0, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 0, 1, 1, 1, 1, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
};

unsigned char kai[8][8] = //'开'
{
  1, 1, 1, 1, 1, 1, 1, 1,
  0, 0, 1, 0, 0, 1, 0, 0,
  0, 0, 1, 0, 0, 1, 0, 0,
  1, 1, 1, 1, 1, 1, 1, 1,
  0, 0, 1, 0, 0, 1, 0, 0,
  0, 0, 1, 0, 0, 1, 0, 0,
  0, 1, 0, 0, 0, 1, 0, 0,
  1, 0, 0, 0, 0, 1, 0, 0,
};

unsigned char ye[8][8] = //'业'
{
  0, 0, 1, 0, 0, 1, 0, 0,
  0, 0, 1, 0, 0, 1, 0, 0,
  1, 0, 1, 0, 0, 1, 0, 1,
  1, 0, 1, 0, 0, 1, 0, 1,
  1, 0, 1, 0, 0, 1, 0, 1,
  1, 1, 1, 0, 0, 1, 1, 1,
  0, 0, 1, 0, 0, 1, 0, 0,
  1, 1, 1, 1, 1, 1, 1, 1,
};

unsigned char da[8][8] = //'大'
{
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  1, 1, 1, 1, 1, 1, 1, 1,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 0, 1, 1, 1, 1, 0, 0,
  0, 1, 1, 0, 0, 1, 1, 0,
  1, 1, 0, 0, 0, 0, 1, 1,
};

unsigned char ji[8][8] = //'吉'
{
  0, 0, 0, 1, 1, 0, 0, 0,
  1, 1, 1, 1, 1, 1, 1, 1,
  0, 0, 0, 1, 1, 0, 0, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 0, 0, 0, 0, 0, 0, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
  0, 1, 0, 0, 0, 0, 1, 0,
  0, 1, 1, 1, 1, 1, 1, 0,
};



void setup() {
    pinMode(buzzer, OUTPUT);
  for(int i = 0; i < 8; i++)
  { pinMode(Row, OUTPUT);//输出模式
    pinMode(Column, OUTPUT);  }
}

void loop() {

   
  for(int i = 0; i< 100; i++)
  {
    Display(kai);
  
  }
  for(int i = 0; i< 100; i++)
  {
    Display(ye);
  }
  for(int i = 0; i< 100; i++)
  {
    Display(da);
  }
  for(int i = 0; i< 100; i++)
  {
    Display(ji);
  }

  for(int i = 0; i< 100; i++)
  {
    Display(bigheart);
  }
  for(int i = 0; i < 100; i++)
  {
    Display(smallheart);
  }
  for(int i = 0; i< 100; i++)
  {
    Display(bigheart);
    digitalWrite(buzzer,HIGH);
   delay(1);
   digitalWrite(buzzer,LOW);
   delay(1);
  }
  for(int i = 0; i < 100; i++)
  {
    Display(smallheart);
  }
}

void Display(unsigned char lattice[8][8])//显示函数
{  for(int r = 0; r < 8; r++)
  { digitalWrite(Row[r], LOW);
    for(int c = 0; c < 8; c++)
    { digitalWrite(Column[c], lattice[r][c]);  }
    delay(1);
    Clear();
  }
}

void Clear()//清除函数
{
  for(int i = 0; i < 8; i++)
  { digitalWrite(Row,HIGH );
    digitalWrite(Column,LOW );
  }
}[/mw_shl_code]

视频内容:



 楼主| 发表于 2019-5-10 11:36 | 显示全部楼层
视频内容:https://www.bilibili.com/video/av50460264
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-9-20 22:27 , Processed in 0.077381 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表