嘉立创产业服务站群
发作品签到
标准版

【涂鸦智能】桌面智能小摆件

工程标签

4.8k
0
0
1

简介

这是一个由STM32+WB3S+WS2812桌面摆件,基本功能:显示时间、日期、闹钟、温度、湿度...

简介:这是一个由STM32+WB3S+WS2812桌面摆件,基本功能:显示时间、日期、闹钟、温度、湿度...

开源协议

GPL 3.0

创建时间:2021-01-18 11:38:48更新时间:2021-11-19 07:04:31

描述

写在前面:

    非常荣幸能够参加涂鸦智能和立创EDA的第二次训练营,但是非常可惜的是由于个人原因 没多少时间来完成此次项目(更可惜的是RTT的因为时间不够也没搞),所以这次作品提交的很晚...已经有300多号大佬提交工程了我才来。这次的作品是一个桌面摆件,灵感来自著名的开源项目Awtrix ,我也在尽量的节省经费,所以决定搞一个8*24的点阵就够了,电路已经基本绘制完成。

本次项目我主要分为两个部分来完成:

  1. 基本功能:当然是可以显示时间、日期、闹钟、本地温湿度和自动亮度调节,另外我还增加了一颗记忆电池,即使时钟在断电后离线,也能正确的显示时间
  2. 扩展功能:显示当地天气、增加陀螺仪可重力感应、增加FFT频谱模式,信号源为麦克风或音频输入、一个触摸按键,可以覆盖整圈用来关闹钟等操作、然后再加一些好看的显示一些动画(看项目完成度,即使在训练营结束后我也会完善成自己心仪的样子)。

 

1、WS2812 8*24点阵显示原理

    其实很简单就是把原本串成一条的灯串给它摆成点阵的样子,如图一;然后就可以通过指令让相应的LED点亮即可显示出任何数字、字母和图案(因为点阵行少,所以只能显示简单的图形或文字),如图二:

SIsgXJc3GJSzI06tM9ETPB4rVAN6cHcVsiwtSphK.png fudCRpDO3M08VZS2Ya6e80nCqlX8oLCMIzvLsFrw.png

 

2、原理图分析

    灯珠的话我选择的是WS2812E,总体的的电路部分还是很简单的,我就根据原理图布局分为4部分来进行说明:

2.1 电源部分、温湿度传感器、光线采集部分、蜂鸣器部分

电源的话,因为WS2812是5V电压,所以我采用5V供电,再用一个普通的LDO AMS1117给单片机和涂鸦模组使用。 温湿度传感器采用的是SHT30数字温湿度传感器,IIC通信,加了上拉电阻。 光线采集我用了一个光敏电阻,分压后单片机ADC采集。 蜂鸣器选择了一个贴片的85dB,用S8050一个NPN三极管进行驱动。 这颗LED主要用于写程序的时候调试用
XpECMZveJds3XkNnyBXzhzcwP64INQ1yyBL1TYyD.png

 

2.2 涂鸦模组、STM32、用户按键

涂鸦模组我选用的是WB3S,因为这个和ES12系列的封装相同,所以我也进行了适配,在这个32暴涨的时代,还可以用ESP进行点阵驱动 MCU这里我还是选择了STM32F103C8T6(买不起系列),虽然买不起,但是决定从以前的某些板子上拆下来用...环保 这就是简单的按键了,设置了2个按键,功能可以程序添加
uY6ZolakU4VwBDJ61AXDL3qjaICmSUsQNJsoLjPK.png

 

2.3单片机外围电路

第一部分呢就是纽扣电池部分了,用来给单片机提供RTC电源。 后边也就没啥好讲的了,都是普通流程,boot可以通过电阻选择程序运行方式。
lpMOGv9Nb1Gp9BDsQYXyADoUIKWFfiM6fMTn2FFk.png

 

2.4扩展部分电路

陀螺仪用的是MPU6050,IIC通信 音频放大用了一个0-50可调增益的反向放大器来放大信号,信号源可通过SW1来切换是麦克风还是音频输入。 这个触摸按键是用了一个AM01B单通道触摸芯片
Xtjx2Nm09lAkP7PYmmjZB5IDmmdt0BRlc4PIXwzp.png

 

可以发现在原理图中,有两个芯片(SHT30和MPU6050)都是通过IIC来通信的,所以我们要在数据手册中找到各个芯片的地址,如下:

SHT30数据手册第9页,列出了表格,当ADDR脚低电平时,地址为0x44(默认);高电平时,地址为0x45,我这里是接地的,所以写程序的时候从机地址是0x44. MPU6050数据手册第15页,AD0引脚低电平时,地址为0x68,高电平时,地址为0x69,我这原理图里时接地,所以写程序的时候地址是0x68
njvKjNSeo0CN45HIKdmqi85zweHPFaoom0sEeTtC.png zi5ig737dVxE0gqFprsDmlv0GbXpAb5BT1521Kmr.png

3、PCB设计

x7O2fkFNwsimq9IqOXXc6Ymzmq7hQ7NuAyhhY9zq.png OaCY8D9ls7uznC4reyxpcFg5jhIshhvEH5ZCuFY7.png
PCB底层 PCB顶层
2wRYdYgrveMwuK26kzPSC974yksFw7hsk3Ir8ca5.png W8pk16fXIwcucyvSfLM6ukNejrDbKExSipG66D3e.png
3D正面 3D背面

 

 

4、实物搭建

    下面是年前焊接好的板子,WS2812是用的183°锡浆和加热台贴的。

焊盘加锡浆 上加热台 成品

 

5、涂鸦智能

   涂鸦模块选用的是WB3S,直接获取网络时间,参考协议如下:

MCU发送 MCU接收
md7ctpYL5Rhz2JHL4ssNHoGXdQxmvkQX0ohBPl9b.png 1ODpr2PU2Kt93EKYebQlEUFN80lbwWjjPeHUovnC.png XjDuJ71rW17bsHUYBn14TKzG9WDVGRiFyVqFVsKx.png

过程中遇到的问题:

  1. 在这次项目过程中发现最大的一个问题就是自己会的东西实在太少,只会用STM32,别的单片机都没玩过,所以没办法这次项目还是选了32,虽然都说差不多,但实际上手肯定也是需要一定的时间,今后我会去尝试更多的单片机。
  2. 在涂鸦模块的天线部分并没有进行镂空,甚至还走了线,但是还好隔了2层,影响肯定是有的,不过应该问题不大...家里换个信号强的路由器就好hhh,待测试(暂时没发现问题)...
  3. 因为没时间看手册...还是不太清楚WS2812和WS2812B和WS2812C和WS2812E和WS2812F...有啥区别,不过应该区别不大。
  4. 计算的电牛可能有点大,没想好用什么端子接口,先开两个窗凑合用叭。 

 

附件说明:

程序是基于STM32CubuMX HAL库编写

焊接好的板子展示是在年前,涂鸦模组还没到的时候录制的视频,所以还没焊接涂鸦模组。

视频所展示效果为:时间+温度+湿度显示 还有触摸按钮控制显示模式为

功能还不是很多,由于本人自身问题,项目耽搁时间过久,在之后的日子里,会将它功能调试完成。

设计图

原理图

BOM

IDNameDesignatorFootprintQuantity
1PJ-320BAUDIO1AUDIO-SMD_PJ-320B1
2LMV321IDBVRU7SOT-23-5_L3.0-W1.7-P0.95-LS2.8-BR1
3CR1220-2ZXBT1BAT-SMD_CR1220-2ZX1
4K1KEY1KEY-SMD_2P-L6.2-W3.6-LS8.01
5K2KEY2KEY-SMD_2P-L6.2-W3.6-LS8.01

附件

序号文件名称下载次数
1
程序展示.mp4
134
2
实物展示.mp4
68
3
程序.rar
224
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航