
【涂鸦智能】桌面智能小摆件
简介
这是一个由STM32+WB3S+WS2812桌面摆件,基本功能:显示时间、日期、闹钟、温度、湿度...
简介:这是一个由STM32+WB3S+WS2812桌面摆件,基本功能:显示时间、日期、闹钟、温度、湿度...开源协议
:GPL 3.0
描述
写在前面:
非常荣幸能够参加涂鸦智能和立创EDA的第二次训练营,但是非常可惜的是由于个人原因 没多少时间来完成此次项目(更可惜的是RTT的因为时间不够也没搞),所以这次作品提交的很晚...已经有300多号大佬提交工程了我才来。这次的作品是一个桌面摆件,灵感来自著名的开源项目Awtrix ,我也在尽量的节省经费,所以决定搞一个8*24的点阵就够了,电路已经基本绘制完成。
本次项目我主要分为两个部分来完成:
- 基本功能:当然是可以显示时间、日期、闹钟、本地温湿度和自动亮度调节,另外我还增加了一颗记忆电池,即使时钟在断电后离线,也能正确的显示时间。
- 扩展功能:显示当地天气、增加陀螺仪可重力感应、增加FFT频谱模式,信号源为麦克风或音频输入、一个触摸按键,可以覆盖整圈用来关闹钟等操作、然后再加一些好看的显示一些动画(看项目完成度,即使在训练营结束后我也会完善成自己心仪的样子)。
1、WS2812 8*24点阵显示原理
其实很简单就是把原本串成一条的灯串给它摆成点阵的样子,如图一;然后就可以通过指令让相应的LED点亮即可显示出任何数字、字母和图案(因为点阵行少,所以只能显示简单的图形或文字),如图二:
![]() |
![]() |
2、原理图分析
灯珠的话我选择的是WS2812E,总体的的电路部分还是很简单的,我就根据原理图布局分为4部分来进行说明:
2.1 电源部分、温湿度传感器、光线采集部分、蜂鸣器部分
| 电源的话,因为WS2812是5V电压,所以我采用5V供电,再用一个普通的LDO AMS1117给单片机和涂鸦模组使用。 | 温湿度传感器采用的是SHT30数字温湿度传感器,IIC通信,加了上拉电阻。 | 光线采集我用了一个光敏电阻,分压后单片机ADC采集。 | 蜂鸣器选择了一个贴片的85dB,用S8050一个NPN三极管进行驱动。 | 这颗LED主要用于写程序的时候调试用 |
![]() |
||||
2.2 涂鸦模组、STM32、用户按键
| 涂鸦模组我选用的是WB3S,因为这个和ES12系列的封装相同,所以我也进行了适配,在这个32暴涨的时代,还可以用ESP进行点阵驱动 | MCU这里我还是选择了STM32F103C8T6(买不起系列),虽然买不起,但是决定从以前的某些板子上拆下来用...环保 | 这就是简单的按键了,设置了2个按键,功能可以程序添加 |
![]() |
||
2.3单片机外围电路
| 第一部分呢就是纽扣电池部分了,用来给单片机提供RTC电源。 | 后边也就没啥好讲的了,都是普通流程,boot可以通过电阻选择程序运行方式。 | |
![]() |
||
2.4扩展部分电路
| 陀螺仪用的是MPU6050,IIC通信 | 音频放大用了一个0-50可调增益的反向放大器来放大信号,信号源可通过SW1来切换是麦克风还是音频输入。 | 这个触摸按键是用了一个AM01B单通道触摸芯片 |
![]() |
||
可以发现在原理图中,有两个芯片(SHT30和MPU6050)都是通过IIC来通信的,所以我们要在数据手册中找到各个芯片的地址,如下:
| SHT30数据手册第9页,列出了表格,当ADDR脚低电平时,地址为0x44(默认);高电平时,地址为0x45,我这里是接地的,所以写程序的时候从机地址是0x44. | MPU6050数据手册第15页,AD0引脚低电平时,地址为0x68,高电平时,地址为0x69,我这原理图里时接地,所以写程序的时候地址是0x68 |
![]() |
![]() |
3、PCB设计
![]() |
![]() |
| PCB底层 | PCB顶层 |
![]() |
![]() |
| 3D正面 | 3D背面 |
4、实物搭建
下面是年前焊接好的板子,WS2812是用的183°锡浆和加热台贴的。
| 焊盘加锡浆 | 上加热台 | 成品 |
![]() |
![]() |
![]() |
5、涂鸦智能
涂鸦模块选用的是WB3S,直接获取网络时间,参考协议如下:
| MCU发送 | MCU接收 | |
![]() |
![]() |
![]() |
过程中遇到的问题:
- 在这次项目过程中发现最大的一个问题就是自己会的东西实在太少,只会用STM32,别的单片机都没玩过,所以没办法这次项目还是选了32,虽然都说差不多,但实际上手肯定也是需要一定的时间,今后我会去尝试更多的单片机。
- 在涂鸦模块的天线部分并没有进行镂空,甚至还走了线,但是还好隔了2层,影响肯定是有的,不过应该问题不大...家里换个信号强的路由器就好hhh,待测试(暂时没发现问题)...
- 因为没时间看手册...还是不太清楚WS2812和WS2812B和WS2812C和WS2812E和WS2812F...有啥区别,不过应该区别不大。
- 计算的电牛可能有点大,没想好用什么端子接口,先开两个窗凑合用叭。
附件说明:
程序是基于STM32CubuMX HAL库编写
焊接好的板子展示是在年前,涂鸦模组还没到的时候录制的视频,所以还没焊接涂鸦模组。
视频所展示效果为:时间+温度+湿度显示 还有触摸按钮控制显示模式为蹦迪模式
功能还不是很多,由于本人自身问题,项目耽搁时间过久,在之后的日子里,会将它功能调试完成。
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程工程成员
知识产权声明&复刻说明
本项目为开源硬件项目,其相关的知识产权归创作者所有。创作者在本平台上传该硬件项目仅仅供平台用户用于学习交流及研究,不包括任何商业性使用,请勿用于商业售卖或其他盈利性的用途;如您认为本项目涉嫌侵犯了您的相关权益,请点击上方“侵权投诉”按钮,我们将按照嘉立创《侵权投诉与申诉规则》进行处理。
请在进行项目复刻时自行验证电路的可行性,并自行辨别该项目是否对您适用。您对复刻项目的任何后果负责,无论何种情况,本平台将不对您在复刻项目时,遇到的任何因开源项目电路设计问题所导致的直接、间接等损害负责。




















评论