光立方 3*3*3
好的,我们来详细解释一下 3x3x3 光立方。
顾名思义,它是一个由 LED(发光二极管)构成的立方体显示装置,具有以下维度:
- X 轴 (宽度): 3 列 LED
- Y 轴 (高度): 3 层 LED
- Z 轴 (深度): 3 行 LED
因此,整个立方体总共包含 3 3 3 = 27 个独立的 LED。
核心概念:
- 立体显示: 与常见的点阵屏(如 8x8)不同,光立方增加了一个深度维度(Z轴),使得灯点可以在空间中排列,能够显示具有空间感和深度的图案、动画或文字。
- 视觉暂留: 如同动态扫描的点阵屏,3x3x3 光立方也利用人眼的视觉暂留效应。它并非同时点亮所有需要的 LED,而是逐层(按 Y 轴层)快速扫描点亮。只要扫描速度足够快(通常每秒几十次扫描整个立方体),人眼就会感觉所有层是同时亮着的。
- 控制复杂度: 虽然只有 27 个 LED,但单独控制每个 LED 需要 27 个 IO 口,这对于大多数微控制器(如 Arduino UNO)来说太多了。因此必须采用矩阵扫描的方法来减少所需 IO 口数量。
常见的控制结构(层共阳/行列控制):
这是实现 3x3x3 光立方最流行且硬件需求相对较少的方法:
-
层 (阳极):
- 将立方体在 Y 轴(高度)上分成 3 层。
- 每一层的 9 个 LED(3行 x 3列)的阳极(长脚)都连接在一起。
- 这 3 个层的公共阳极分别连接到微控制器的 3 个 IO 口(或通过晶体管/MOSFET 驱动)。
- 微控制器通过使能(输出高电平)这 3 个 IO 口中的一个来选择(激活)当前要显示的那一层。
-
列 (阴极):
- 考虑每一层(层平面)。你可以把每一层看作一个独立的 3行 x 3列 点阵。
- 将同一列(Z 轴方向)上的所有 3 个 LED(分布在 3 层中的同一列位置)的阴极(短脚)连接在一起。
- 因为有 3 行(Z轴行),所以有 *3 3 = 9 个这样的公共阴极列**(每个 Z轴行有 3列)。
- 这 9 个公共阴极列连接到微控制器的 9 个 IO 口(通常通过一个或多个移位寄存器如 74HC595 或 ULN2803 等驱动芯片来控制,以扩展输出并增强驱动能力)。
- 微控制器控制这 9 个 IO 口(或通过移位寄存器数据)的电平,来决定在当前被激活的层上,哪一列(实际上是哪个位置的 LED)需要点亮(拉低阴极)或熄灭(拉高阴极或高阻态)。
工作原理(扫描流程):
- 微控制器只激活一层(例如,Layer 1,即最底层):给 Layer 1 的公共阳极提供高电平。
- 对于当前激活的层(Layer 1),微控制器设置它所连接的 9 个列控制线的状态:哪些列需要点亮(阴极拉低),哪些列需要熄灭(阴极拉高或高阻)。
- 保持这个状态非常短暂的时间(毫秒级)。
- 关闭(熄灭)当前层(Layer 1):将 Layer 1 的阳极控制线设为低电平(或通过晶体管关断)。
- 激活下一层(例如,Layer 2):给 Layer 2 的阳极提供高电平。
- 对于 Layer 2,设置它所连接的 9 个列控制线的状态(通常是不同的状态,用于显示这一层该显示的内容)。
- 保持短暂时间。
- 关闭 Layer 2。
- 激活 Layer 3,设置列状态,保持,关闭。
- 快速重复步骤 1-9。当扫描速度足够快时(例如每秒扫描整个立方体 50 次以上),人眼就会看到所有三层上显示的图案组合成一个稳定的三维画面。
所需的硬件:
- LED: 27 个 LED(常用 5mm 或 3mm 草帽灯,颜色可统一或多彩)。最好选择 低工作电流(如 10-20mA)的 LED。
- 微控制器: 如 Arduino UNO, Arduino Nano, STM32, ESP8266/ESP32 等,用于生成控制信号。
- 层控制驱动: 3 个 NPN 型晶体管(如 S8050)或 N 沟道 MOSFET(如 IRF540N),用于驱动和切换层的阳极电压(共阳)。
- 列控制驱动:
- 方案一(直接驱动):如果微控制器 IO 口足够且有驱动能力(不推荐,容易接近或超过 MCU 总电流限制),可以用 9 个 IO 口通过限流电阻直接驱动列(阴极)。
- 方案二(移位寄存器):更常用的是使用 串行转并行的移位寄存器(如 74HC595)。一个 74HC595 提供 8 个输出,需要一个半。通常用 2 个级联的 74HC595 来提供 16 个输出(只用其中 9 个)。优点是只需占用微控制器少数几个 IO 口(数据、时钟、锁存)。
- 方案三(多通道达林顿管):如 ULN2003(7通道)或 ULN2803(8通道)。两个 ULN2803 可以提供 16 路开漏输出(负逻辑),控制9路阴极绰绰有余。驱动能力较强。
- 电阻: 限流电阻 是必须的。位置有两种选择:
- 装在阳极路径上:每个层需要 1 个大功率电阻(需要计算功耗,可能发热)。或者放在每个驱动层控制的晶体管/MOSFET 的基极限流上(控制驱动)。
- 装在阴极路径上:更常见更安全的选择。因为一列只有 1 个 LED 会在任何时候被点亮(扫描特性),所以可以在每一列(9列中的每一列)的阴极线路上串联 1 个限流电阻。电阻值根据 LED 工作电流(如 10mA)和电源电压(通常是5V)以及 LED 工作压降(如红光 1.8-2.2V, 蓝/绿/白 2.8-3.4V)计算:
R = (Vcc - Vf_LED) / I_desired。例如,白色 LED @ 5V, 15mA:R = (5 - 3.0) / 0.015 ≈ 133Ω(常用 120Ω 或 150Ω)。这种方法电阻功耗小(只流过单颗 LED 的电流),布局也方便(可以集中放在阴极驱动端)。
- 支撑结构: 用于固定 LED 的支架或框架。常见做法:
- 用 洞洞板(万用板) 制作网格。
- 用 亚克力板 激光切割出固定孔。
- 3D 打印支架。
- 直接用 硬导线(如镀锡铜线、直针电阻/电容腿) 弯折焊接作为骨架。
- 电源: 提供稳定的直流电压(通常 5V)。需要保证能提供足够的电流:
总最大瞬时电流 ≈ 最大同时点亮 LED 个数 * 每个 LED 电流。在 3x3x3 光立方中,由于扫描特性,每层最多同时点亮9个LED,但整个立方体同时点亮的只有一层(9个LED)。所以理论上瞬时最大电流是9 * I_LED(例如 9 * 15mA = 135mA)。选择一个能稳定提供该电流(并留有余量)的电源即可(如 USB 5V/500mA 电源适配器足够)。注意连接导线的截面积。 - 连接导线: 大量的杜邦线或细导线用于连接。
软件(编程):
- 微控制器程序的核心是:
- 初始化 IO 口(设置输入/输出模式)。
- 初始化 移位寄存器/层驱动控制。
- 创建一个 主循环:
- 定义或计算显示缓存:一个用于存储当前整个 3x3x3 立方体所有 LED 状态(开/关)的数据结构(常用三维数组
cube[3][3][3]或二维数组layer[3][9])。 - 实现层扫描循环:
for (layer = 0; layer < 3; layer++) {- 关闭所有层 (避免鬼影)。
- 设置列输出:通过移位寄存器或直接 IO,输出当前
layer对应的 9 个阴极控制信号(根据layer索引在显示缓存中取出这一层 9 个 LED 的状态)。 - 开启当前层。
- 短暂延时(几百微秒到几毫秒,控制亮度和扫描速度)。
}
- 定义或计算显示缓存:一个用于存储当前整个 3x3x3 立方体所有 LED 状态(开/关)的数据结构(常用三维数组
- 创建动画: 在主循环中不断地修改显示缓存
cube[][][]的数据,就能产生动态的三维动画效果。常见的动画有:- 旋转的平面/球体/立方体框架。
- 上下扫光、里外翻腾的波浪。
- 文字、字母、符号滚动(通常需要投射到某一面上)。
- 各种视觉上的几何变换。
- 呼吸灯效果(改变扫描延时时间模拟调光)。
- 跟随传感器(如旋钮、按钮、超声波、麦克风)的互动效果。
搭建难度与注意事项:
- 焊接工作量大且需要细心: 27 个 LED 需要精确排列并焊接大量的引脚连线(层共阳线和列共阴线)。方向一致性和位置准确性很重要。焊接不良或短路排查困难。使用工装或模板辅助定位焊接很关键。
- 结构稳定性: LED 引脚可能比较软,如何让立方体坚固不易变形是一个挑战。
- 软件调试: 三维坐标的逻辑控制、动画算法设计需要一定的编程技巧。调试时可能通过串口输出或分段点亮来排查硬件连接错误。
3x3x3 的意义:
相对于更大尺寸的光立方(如 4x4x4, 8x8x8),3x3x3 是一个非常好的 入门项目。它让你理解三维光立方的基本工作原理(立体扫描、矩阵复用、视觉暂留)、硬件构建技巧(焊接、结构、层/列控制)和软件框架(三维数组、层扫描循环、动画生成),同时所需材料成本和硬件资源都较少,制作成功的成就感也较强。掌握了3x3x3,就能为制作更大规模、更复杂的光立方打下坚实的基础。
如果你想制作一个,强烈建议先规划好结构(画草图)、布线图(层、列怎么连)和物料清单(BOM)。网上(如 Instructables、哔哩哔哩、优酷)有很多详细的 3x3x3 光立方制作教程和源码可以参考。
希望这个详细的解释对你有帮助!如果你有更具体的问题,比如电路图、代码片段或某个概念不清楚,欢迎继续提问。
NW1-3V3S3V3A3NT NW1-3V3S3V3A3NT
电子发烧友网为你提供AIPULNION(AIPULNION)NW1-3V3S3V3A3NT相关产品参数、数据手册,更有NW1-3V3S3V3A3NT的引脚图、接线图、封装手册、中文资料、英文资料,NW1-
纵维立方两大3D打印新技术,科研实力加持
3月,纵维立方春季新品发布会赚足了全球3D打印用户的目光,其正式发布了搭载新一代的矩阵光源系统“Anycubic LighTurbo”的Anyc
2022-04-15 11:34:31
纵维立方发布会定档3月27日!多系列3D打印新品待发布
据悉,备受3D打印行业瞩目的纵维立方(Anycubic)新品发布会宣布定档于3月27日晚9点,搭载光固化技术的Anycubic Photon M
2022-03-18 10:13:37
由LED组成的光立方3D显示器设计资料说明
3Dcube8有多种规格,常见的有单色4*4*4、单色8*8*8、RGB全彩光立方等。其中前者是这之中最简单的,制作难度和成本最高的是采用RGB的全彩光立方
资料下载
kopion
2020-05-09 08:00:00
基于单片机的光立方设计 精选资料分享
基于单片机的光立方设计目录摘要 1Abstract 2前言 3第1章绪论 4第1.1节 开发背景 4第1.2节 本文所作的工作 4第2章系统总体
深跨协走访3D打印品牌纵维立方,探讨国货出海趋势
近日,年出货量高达50万台,产品远销欧美的桌面级3D打印机企业纵维立方科技(Anycubic)加入深圳市跨境电商协会,并与协会共同举办授牌仪式,交流产品和品牌出海宝贵经验,展望跨境电商未来趋势。 8
2021-08-06 14:38:06
制作CUBE8光立方3D立方体LED显示器 电子资料
如本文题图所示,CUBE8是一个长、宽、高由8×8×8个LED灯组成的真实3D立方体显示器。其最大的特点,就是带给你未来3D技术的科技体验。
光固化3D打印新时代来临!纵维立方重磅方案即将发布
据悉,相较于FDM热熔堆积技术,光固化在3D打印精度和质量方面展现出了强大竞争力,不少企业都想从中分得一块蛋糕。作为国产3D打印产业的知名品牌,纵维立方
2021-04-15 16:41:10
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- EDA是什么?有什么作用?
- dtmb信号覆盖城市查询
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- amoled屏幕和oled区别
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机