【RT Thread作品秀】运动手表 电路方案
【RT-Thread作品秀】运动手表作者:何雄 概述该作品是基于ART-PI硬件平台,外接OLED,蜂鸣器,按键,X-NUCLEO-IKS01A3传感器套件完成实现的运动手表。 运动手表应该能够兼顾温湿度,气压信息,指南针以及步数等,能够实时监控环境的状态。 该运动手表实现功能如下: 时间日期星期显示; 网络时间获取; 天气获取并显示; 温度(HTS221),湿度(HTS221),气压(LPS2HH)信息的获取并显示; 指南针功能(LIS2MDL); 步数(LSM6DSO)监控; 闹钟功能,蜂鸣器闹钟; 设置功能,开启网络时间以及设置闹钟; OLED显示功能 板载按键 秒表 开发环境硬件:STM32H750-RT-ART-PI,X-NUCLEO-IKS01A3传感器,OLED,蜂鸣器,板载按键 RT-Thread版本:4.0.3 开发工具及版本:RT-thread studio 2.0.0 RT-Thread使用情况概述内核部分:线程管理(静态线程创建/删除),临界操作,时钟管理。 组件部分:FinSH控制台,虚拟文件系统,LwIP,SAL 软件包部分:cjson,netutils,easyflash,u8g2 其他:串口,pin,RTC,IIC 硬件框架项目中使用到了STM32H750中的RTC实时时钟不在原理图中。 同时用到了ART-PI板载的wifi模块对天气获取以及网络时间的获取。 硬件部分比较简单主要是通过IIC控制OLED以及传感器数据的读取(读取4个传感器数据分别用作温湿度,气压以及磁场和运动检测),通过GPIO控制蜂鸣器。 按键用来切换查看界面以及设置信息,本项目只采用了一个按键,通过软件逻辑实现对4中按下状态的识别。 硬件线路连接: 蜂鸣器 - PA9 OLED SCL - PH13 OLED SDA - PH15 X-NUCLEO-IKS01A3传感器 SCL - PB0 X-NUCLEO-IKS01A3传感器 SDA - PB2 软件框架说明整体软件实现了功能框架如下: 软件中主要包括了下面的功能: 按键状态的信号采集以及滤波功能,由于只有一个按键,所以将这一个,按键的按下状态做了不同的识别,分为了4种按下的状态可以用来处理所有的任务。 OLED的显示功能 启动界面,会显示RT-Thread的logo以及项目logo。 时间显示界面:会显示时间,日期,星期,wifi连接状态,天气信息,在wifi没有连接的状态下,wifi图标会闪烁。 菜单列表:用来切换显示的界面,包含设置,秒表、步数、温度、湿度、气压、方位。通过短按按钮切换。 设置界面。可以设置是否开启网络时间更新以及设置闹钟。闹钟设置界面中可以设置闹钟是否启用以及设置闹钟时间。 秒表功能,在该界面下,秒表线程被创建,按下按钮切换到开启按钮下按下按钮可以开启计时,再次按下暂停计时,退出该界面自动删除线程。 步数查看。步数线程会一直运行,用于记录运动状态,使用LSM6DSO获取加速度数,由此进行步数算法检测步数。 温度、湿度、气压查看。获取传感器的数据进行处理之后显示在界面上。 指南针(方位)界面,可以查看当前面向的方向,使用了LIS2MDL磁力传感器以及LSM6DSO加速度传感器通过算法结合计算出指向方位,并通过图形显示以及问题提示的方式指向当前的方位(东、南、西、北、东南、东北、西南、西北)。 返回。返回时间显示界面。 闹钟功能 RTC获取的时间到了闹钟设置中设置的指定的时间之后将触发闹钟功能。在主界面下通过短按按钮关闭。 软件模块说明一、按键功能介绍: 因为板载只有一个按键,我也没有外接按键资源,所以将这一个按键通过按键时间的长短分为了4种按下状态,通过松手判断按钮按下的时间长短。 按键线程中使用了软件按键滤波功能,滤波时间是50ms。 四种按键状态分别如下: 1 【短按】:按下时间小于等于500ms 2 【中长按】:按下时间大于500ms小于等于1.5s 3 【偏长按】:按下时间大于1.5s小于等于2.5s 4 【长按】:按下时间大于2.5s 按键线程在初始化的时候创建。 OLED显示功能 OLED的显示功能是主要的功能,这里对OLED的功能做详述说明。 开机动画。上电的时候会显示开机界面,首先显示RT-Thread的图标,之后显示运动手表的logo,显示完成之后自动进入主界面。 主界面就是时间显示界面,如下图: 最上边显示【星期 - 月份 日期】; 中间部分显示时间,如果网络连接之后会自动更新时间,可以在设置界面关闭自动更新,网络时间会更新到RTC中,时间直接读取自RTC。; 最下面一列显示wifi连接状态以及天气信息,在wifi没有连接的状况下会500ms闪烁一次,wifi连接之后,wifi图标不再闪烁,天气图标会自动循环显示。 天气包括晴天,
文件列表
22378.zip
(预估有个11文件)
FuVNdLwhSLLc0IxjynEiQpJXlAHe.png
188KB
Fmj7_MyPYwrj0p-QIFRjWkzEaTf8.png
216KB
FivudsQJmiEv_bjx92AiHHlGnGsa.png
123KB
Fl5b13KfnIRaNcL9OnykDipE-aYG.png
114KB
Ftt2xeaoyLUxdEjGgyNLci5xOb9A.png
168KB
代码地址.txt
87B
FnUo7pFHsifKVOlQCDOM-Zo8TKw_.png
560KB
Fi4Sj2f0dGC_3BN0ibomoAX4VIxz.png
160KB
FkwZef4CgL4tg5yl5WnLB1D8Ish_.png
93KB
FlCe6_mYvi_xZxvBRjGGBGfXkvh1.png
183KB
暂无评论