【必看系列】工程师小李被众人围观,竟因......-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1402|回复: 0

【必看系列】工程师小李被众人围观,竟因......

[复制链接]
发表于 2021-6-18 17:43 | 显示全部楼层 |阅读模式
本帖最后由 Tuya 于 2021-6-18 17:47 编辑

前不久母亲节,涂鸦“攻城狮”小李在朋友圈里刷到大家精心准备的节日礼物与鲜花~
转眼到了六月, 掐指一算,父亲节也快到了~小李回想:平时一跟父亲大人说起要送礼物,他总会摇摇头讲:“我不需要,没事别给我买东西。”
身为子女的我们,常年在外奔波,很多时候忙于工作却疏忽了在遥远家乡的那头,还有个日夜挂念着我们的父亲。经常听到很多人说:“等我有钱我一定会孝敬爸妈!”其实“孝顺”这件事并不需要等待,时时刻刻都能做。



很多小伙伴正为父亲节礼物发愁,但父亲大人的心思其实很好揣摩.....小李近日正为他的父亲大人准备小惊喜,办公室同事看了直呼:内行!
来一起看看是什么神仙级礼物~



看了这款蕴含中医智慧的智能颈部按摩仪,小编忍不住露出“老父亲微笑”~




接下来,涂鸦“攻城狮”小李友情献上这份智能礼物指南:



一、功能设计

功能
说明
开关
按键控制
APP控制
模式
智能模式
舒缓模式
活力模式
锤击拍打
刮痧模式
档位
0-15 档档位调节
定时
默认值为 15min ;可依据需求进行调整
热敷
40 度恒温热敷
语音播报
联网播报
档位加减播报
模式选择播报
加热选择播报
低电量提示播报
断电记忆
断电重启后,保持上一次使用设置




注:如果小伙伴对智能颈部按摩仪还有其它功能的需求,可以在这款智能颈部按摩仪的基础上进行深入开发,对其功能进行完善哦~



二、方案框架
小李说:“此次以涂鸦 BTU 云模组为主控,定义充电、语音播报、按键检测、温度检测、加热、低频脉冲电流六大功能模块来实现智能颈部按摩仪的方案搭建。”







三、方案选型


NTC 温度传感器( MF52B ):MF52B 系列产品为同向漆包线引线环氧树脂涂装型 NTC 热敏电阻,具有阻值范围宽,阻值及B值精确度高,测试精度高,体积小,反应速度快,能长时间工作。( B=3950, R=10K)

加热控制电路:通过单片机 P7 输出 PWM 波调节加热丝的温度。输出低电平,加热关;输出一定频率的方波,加热弱;输出高电平,加热强。

语音控制电路:主控 BTU 蓝牙模组在一线串口模式下通过 DATA 线给 WTN6系列语音芯片发送数据以达到控制的目的。可以实现控制语音播放、停止、循环等。

低频脉冲电流:定义 2 种模式来实现智能颈部按摩仪在不同模式下电流的工作方式 1)模组的 IO 口 P24 和 P9 输出的脉冲对称,且不能同时为高电平。

       2)模组的 IO 口 P24 和 P9 的脉冲不对称,存在 PB5 和 PCO 都为高电平。


充电电路:XT2051 是一款用于单芯锂离子电池的恒流/恒压充电电路。该器件包括一个内部功率晶体管,在应用中不需要外部电流检测电阻和阻塞二极管。XT2051只需要最少的外部组件,就可以满足USB总线规范,非常适合便携式应用领域。

升压电路:当晶体管MMBT5551接通时,肖特基二极管D1反向偏置,电源经过电感L1至晶体管Q1形成回路,输入电压加在升压电感中转化为磁能贮存;当晶体管Q1关断时,肖特基二极管D1正向偏置,电感中的磁能因不能突变而转化为电能,此电压与输入电源一起为负载提供能量,并给输出电容C6充电,此次智能颈部按摩仪需要数个脉冲来提供足够的能量来加大输出电压。




四、方案整体线路图
小李想破头皮的智能颈部按摩仪硬件搭建方案如下:









五、创建产品


下面是小李通过涂鸦 IoT 开发平台,让颈部按摩仪实现真正的联网与智能化。进入涂鸦 IoT 平台,选择运动健康品类>颈部按摩仪,通讯协议选择蓝牙创建产品。详细的操作和介绍可以参考平台内的操作指导“选品类创建产品”。







六、软件方案实现


获取SDK及环境搭建


SDK 获取:将 GitHub 仓库 tuya_ble_sdk_Demo_Project_tlsr8253 克隆代码库,操作前建议仔细阅读 README.md 文件。环境搭建:TLSR825x 蓝牙单点开发使用的是泰凌微官方 IDE,可以访问具体地址,获取详细的操作方法。注:GitHub 以及环境搭建的具体地址通过关注“涂鸦开发者”,回复“4”,即可获取哦~

五大功能模式实现

各种模式的实现是通过 P9 和 P24 两个 I/O 口控制三极管的通断产生不同时间间隔的电脉冲来实现,如下表:

模式脉冲时间间隔
舒缓模式30ms
活力模式20ms
锤击拍打模式40ms
刮痧模式50ms
智能模式随机产生 20 30 40 50ms


P9 和 P24 分别产生正占空比为 26.5%,周期为 1ms的 PWM 波,但不能同时为高电平,否则会烧毁三级管(需特别注意)。一次产生四束 PWM 波后等待一定时间再次产生四束波,循环往复即可实现不同模式的功能效果。

语音播报功能实现
本次用到了 WTN6 系列的离线语音模块和一线串口通讯。WTN6 系列产品为多功能单芯片语音合成4位元为控制器;一线串口模式可以利用 MCU 通过 DATA 线给 WTN6 系列语音芯片发送数据以达到控制的目的,可以实现控制语音播放、停止、循环等功能

加热功能实现
加热功能是通过控制 P7 引脚的拉高拉低来实现加热开、加热关的,内置温度检测模块,加热时当温度超过 40℃ 会自动关闭加热功能以免过热引起不适或被烫伤。

档位调整功能实现

档位调节是通过按键的单击和双击来实现的,单击档位加,双击档位减。由于 SDK 配置原因,在程序烧录后复位模组时 P8 口已经被拉高,所以需要对其做拉低处理,初始化完成后通过输入参数的具体值改变占空比升压到对应值。
断电记忆功能实现
断电记忆的原理是将设备在断电前的各个工作状态写入到空闲的 Flash 闪存中,在下次上电时从 Flash 中读取数据,让设备工作在断电前的工作状态。这次使用的 TLSR8253 芯片 Flash值 0x040000 - 0x060000 为未使用区域,可将设备状态写入该区域内。
云端控制功能实现
单点蓝牙一个DP的所有信息存放在一个数组中。用 tuya_ble_dp_data_report(uint8_t *p_data,uint32_t len) 函数即将数据上报到云端;App下发控制命令也是以数组的形式存放在 dp_data_array[255+3] 数组中,编写DP数据下发处理函数,将 dp_data_array[255+3] 作为输入参数放在tuya_ble_demo.c中的 tuya_cb_handler(tuya_ble_cb_evt_param_t* event) 函数中即可实现 App 指令下发。

设置完以上功能后,小李为父亲准备的专属智能礼物就开发完成了。

小李欣慰地说:“父亲大人收到这份礼物,肯定会爱不释手。他可以通过涂鸦智能 App 或智能生活 App 实现对颈部按摩仪的控制,免去盲按的烦恼,直观方便,操作快捷!”“另外,智能颈部按摩仪的开发采用了全新升级 TENS 技术和输出脉冲技术,可以实现 NTC 恒温控制,按摩的同时对颈椎进行热敷,可加速颈椎的血液流通,深度缓解肌肉酸胀,并且结合了语音播报功能,在舒缓身心的同时解放父亲双手。”


在这个特殊的节日里,亲手 DIY 一款智能颈部按摩仪,为父亲大人送去健康,为你的家人送去专属守护~


- END -
戳我即可免费领取智能硬件开发资料包哦~还能与全国开发者在线交流!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-28 01:51 , Processed in 0.179652 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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