#教你从零制作拟辉光管时钟#

本文是一篇详细的自制拟辉光管时钟教程,涵盖了从电路板设计、物料清单、结构设计、组装过程到程序设计的全部步骤。使用Esp8266控制器、PCB灯板和ws2812灯带等材料,通过Arduino开发环境进行程序设计,最终完成创意时钟的制作。
摘要由CSDN通过智能技术生成


#制作电路板


#设计制作

方案确定后,即可展开制作,制作之前先来看一下制作拟辉光管时钟所需的物料

物料清单:

Esp8266控制器 *1

PCB灯板 *6

ws2812灯带 1条

50*30mm透明亚克力板 *60

激光切割亚克力边框 *2

导线若干

数据线 1条

铜柱50mm *24

M3*25mm螺丝 *24

M3螺母 *24


#结构设计


#电路设计


 #PCB灯板设计

PCB制板文件:

百度网盘链接:https://pan.baidu.com/s/1DfA0zmkr-VraTpr2J_Wfmg

提取码:s8kw

ws2812灯板原理图

 


 


#组装

步骤1:准备打印好的底座,将控制器安装在底座上(此过程可将控制器直接卡在卡槽即可)。


步骤2:拿出2块亚克力底座(透明和黑色)用25mm螺丝将三块底座固定在一起。 


步骤3:安装灯板 

垫片放置在灯板上

<
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
【舸轮综合船舶工作室】出品 欢迎关注b站up主:舸轮综合船舶制造 查看更多资源及程 不保证没错误,本工作室不为使用此套开源资料造成的任何后果负责! IN14辉光钟 PCB文件及程序源码说明 版本V1.1 主要是对我奇怪的电路设计风格做一个解释(╯‵□′)╯︵┻━┻ 除了右边有一个8550外,PCB中几乎所有的三极管型号均为13001 7805最好加一个微型的散热器,实测发热较大 NE555只是拿来闪烁冒号的,不是升压的,需另外配升压板 NE555右上方那个R 500k阻值具体是多少需要试,这个阻值决定了冒号的闪烁频率 闪烁的冒号(氖泡)从板子左下角的两个2pin分别接入,切记不可并联后接入 PowerRealy是一个继电器,是用来控制升压模块通断的,封装是典型黄色的HK信号继电器 继电器左边的两个接口,标有- S +的是红外热释探头的接入口,实现人来自动开,可在-和S之间再并联一个自锁开关可实现手动开关,另一个是-IN+是电源输入,参考电压12v,电流约0.2A 单片机左边的2pin接口是升压模块电源接口 调时按钮是KEY1 KEY2 R4 R2 R7 R1是四个8路排阻,排阻有小白点的一端对准焊盘正方形的一端 板子下方中间的+HV-是升压模块输出接入点 其左边的Out+分别接4个辉光管的阳极 为了节省板子(偷懒)没有采用常规的74HC573锁存器一组一组扫描着输出,而是采用每个引脚专门控制一位,但引脚刚好又差了一个,无奈就加了一个573,把变化最小的第一位数字和调时按钮接在上面 左上角的2032BAT是接纽扣电池的,能够实现掉电走时,但我不知为何没成功 现在程序还不是很完善,有一些bug,已知的有:在整点时小时位会延时1分钟,比如从20:59到21:00时会先跳到20:00然后一分钟后才会变为21:01,调时时有时候小时那边会一直在十内循环,不管他直接多按几轮一般能出来,调分时有时会只有个位动,好像这时候只能重启了。 焊接时一定要注意三极管引脚之间别短路了! 焊接时一定要注意三极管引脚之间别短路了! 焊接时一定要注意三极管引脚之间别短路了! 即使看着没短路也要用万用表打一下以防万一,Protel自带的三极管封装为什么引脚焊盘之间距离如此感人我也不知道 四组Out-(注意最右边那三个是一组,最左边从Q25和Q26中间引脚引出的两个引脚也是一组)各自接什么参照网上的51单片机引脚定义再对照下表:(左边第一位代表从左往右第几个辉光管,第二位表示此辉光管对应引脚的数字,右边表示单片机的对应引脚) 11 P22 12 P23 20 P34 21 P06 22 P07 23 P21 24 P20 25 P17 26 P30 27 P31 28 P32 29 P33 30 P03 31 P04 32 P02 33 P01 34 P05 35 P00 40 P16 41 P35 42 P36 43 P37 44 P10 45 P11 46 P12 47 P13 48 P14 49 P15
这里提供一个基于 Python 和 Pygame 的辉光时钟效果的钟表小程序。需要先安装 Pygame 库。 ```python import pygame import time # 定义数字的字典 DIGITS = { 0: ['###', '# #', '# #', '# #', '###'], 1: [' #', ' #', ' #', ' #', ' #'], 2: ['###', ' #', '###', '# ', '###'], 3: ['###', ' #', '###', ' #', '###'], 4: ['# #', '# #', '###', ' #', ' #'], 5: ['###', '# ', '###', ' #', '###'], 6: ['###', '# ', '###', '# #', '###'], 7: ['###', ' #', ' #', ' #', ' #'], 8: ['###', '# #', '###', '# #', '###'], 9: ['###', '# #', '###', ' #', '###'] } # 定义颜色 BLACK = (0, 0, 0) YELLOW = (255, 255, 0) # 初始化 Pygame pygame.init() # 创建窗口 size = (600, 300) screen = pygame.display.set_mode(size) pygame.display.set_caption("Nixie Clock") # 循环直到用户点击关闭窗口 done = False # 创建一个时钟对象 clock = pygame.time.Clock() while not done: # 处理事件 for event in pygame.event.get(): if event.type == pygame.QUIT: done = True # 获取当前时间 current_time = time.strftime("%H%M%S") # 清屏 screen.fill(BLACK) # 绘制数字 for i, digit in enumerate(current_time): # 计算数字的位置 x = i * 70 + 50 y = 100 # 绘制数字的每一行 for row, line in enumerate(DIGITS[int(digit)]): for col, char in enumerate(line): if char == '#': # 绘制亮点 pygame.draw.circle(screen, YELLOW, (x + col * 10, y + row * 10), 3) # 刷新屏幕 pygame.display.flip() # 延迟 1 秒 clock.tick(1) # 关闭 Pygame pygame.quit() ``` 每个数字都用一个 5x3 的矩阵来表示,'#'表示亮点。在程序中,我们用一个字典来存储每个数字的矩阵。然后,我们在循环中获取当前时间,计算每个数字的位置,然后绘制出来。程序中使用了 Pygame 的窗口和绘图函数来实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值