OV-WATCH手表

server/2025/2/27 22:35:38/

硬件部分:

一、硬件选型

  1. MCU选型

    • 选择STM32F4411C1U6,因为它具备较大的ROM和RAM,能够运行FreeRTOS和VIGL。

  2. 显示屏

    • 采用触摸显示屏,具体型号可在淘宝搜索。

  3. 电源部分

    • 充电芯片:采用TP4056,用于3.7V锂电池的充电。

    • 升降压芯片:采用TPS63020,用于解决电池在3V-4V波动时的放电问题。

  4. 通信部分

    • NFC:采用UID卡,通过模拟开关连接。

    • 蓝牙:采用HC-04。

  5. 传感器

    • 包括心率传感器、海拔指南针等,具体型号未提及,但需按照说明手册连接。

  6. 看门狗

    • 由于STM32内部看门狗无法关闭,进入休眠模式会导致重启,因此采用外部看门狗TPS3823。

二、原理图设计

  1. MCU部分

    • 不使用外部高速时钟源,直接使用内部HSI。

    • RTC时钟源需使用外部32.768kHz晶振。

  2. 电源部分

    • 放电电路:根据TPS63020手册设计,通过电阻和二极管连接到MCU的IO口,实现按键和IO口控制放电。

    • 充电电路:按照TP4056手册设计。

    • 电池电量检测:通过两个大电阻分压后连接到MCU的ADC端口。

  3. 通信部分

    • NFC通过模拟开关连接到UID芯片。

    • 蓝牙模块的VCC通过模拟开关连接到3.3V。

  4. 传感器部分

    • 所有传感器的I2C接口统一连接到总线上。

三、PCB设计

  1. 结构设计

    • 手表分为两块板:主板和背板,通过FPC连接器连接。

    • 背板放置心率传感器,贴近手腕皮肤。

    • 磁吸充电接口设计为两层焊盘,尺寸根据磁吸充电线定制。

  2. 层级关系

    • 第一层:屏幕。

    • 第二层:主板。

    • 第三层:电池。

    • 第四层:背板

UI设计:

一、UI设计部分概述

本节内容分为三个部分:

  1. Square Nice Studio的使用:用于设计UI界面。

  2. 生成代码的说明:将设计好的UI界面转换为代码。

  3. Code Blocks的仿真:在开发环境中运行和测试代码。


二、Square Nice Studio的使用

1. 新建文件与基础设置
  • 打开Square Nice Studio,新建文件。

  • 设置屏幕尺寸为240×280像素。

  • 修改工程名称,选择工程存放路径。

  • 选择版本和主题,点击生成。

2. 界面设计
  • 初始界面:生成后界面为黑色背景,需要手动调整控件布局。

  • 控件操作:从左下角的控件库中选择控件(如Label控件)并拖动到设计区域。

  • 命名规范:为控件命名时需符合规范,便于后续代码生成和维护。

3. 自定义字体的生成与使用
  • 字体来源:从阿里巴巴矢量图库下载字体文件(.ttf格式)。

  • 字体导入

    1. 将下载的.ttf文件复制到工程文件夹的assert文件夹中。

    2. 在Square Nice Studio中点击Font Manager,选择.ttf文件。

    3. 设置字体参数(如BPP、字体大小)。

    4. 为字体命名(如“阿里巴巴”),并点击生成。

  • 字体应用

    • 在主界面中拖动Label控件,输入文字(如“你好”)。

    • 选择自定义字体(如“阿里巴巴”)并调整字体大小。

    • 生成不同字号的字体文件时,建议在名称中注明字号(如“阿里巴巴32”)。

4. 图标字体的生成与使用
  • 图标来源:从阿里巴巴矢量图库中搜索并选择图标(如心跳图标)。

  • 图标导入

    1. 将图标加入购物车并下载项目文件,提取其中的.ttf文件。

    2. Font Manager中选择图标字体文件(.ttf)。

    3. 命名图标字体(如“icon_font16”)。

    4. 使用Range选项,复制并粘贴图标编码。

  • 图标应用

    • 在网页中复制图标编码,通过在线工具(如UIQ和UTF编码转换)生成字符。

    • 将字符复制到Label控件的文本框中,完成图标显示。

    • 可以调整图标颜色等属性。


三、生成代码

1. 导出代码
  • 完成UI设计后,点击Export按钮。

  • 选择CREUIFI,指定代码存放路径(如创建一个UIQ文件夹)。

  • 生成的文件包括:

    • 字体文件(.ttf)。

    • UI界面代码文件(.c文件)。

2. 代码结构
  • 字体文件:用于存储自定义字体和图标字体。

  • UI代码文件:包含界面布局和控件的代码。


四、Code Blocks的仿真

1. 开发环境准备
  • 假设已经安装了Code Blocks开发环境。

  • 使用韦东山的LVGL工程作为基础框架。

  • 可以从相关教程网站下载工程资源。

2. 代码移植与配置
  • 将生成的UI代码文件复制到工程文件夹中。

  • 在Code Blocks中创建一个文件夹(如user_test),并将代码文件放入其中。

  • 将新文件夹添加到工程中。

  • 修改代码中的屏幕宽高设置,以匹配手表屏幕尺寸。

  • 修改颜色深度设置,以适应硬件需求。

3. 代码运行与仿真
  • 编译工程,运行代码。

  • 如果需要添加事件(如按钮点击事件):

    1. 在Square Nice Studio中添加事件并生成代码。

    2. 替换工程文件夹中的旧代码。

    3. 重新编译并运行。


五、其他注意事项

  1. 设计规范

    • 控件命名需规范,便于代码维护。

    • 字体和图标文件需妥善管理,避免混淆。

  2. 功能限制

    • Square Nice Studio无法实现所有功能,部分复杂功能需手动编写代码。

  3. 学习资源

    • 可以通过在线教程和社区(如QQ群)获取帮助。

    • 多尝试和熟悉控件操作,逐步掌握UI设计技巧。


http://www.ppmy.cn/server/171137.html

相关文章

在Ubuntu系统上部署Dify(开源大语言模型应用开发平台)

在Ubuntu系统上部署Dify(开源大语言模型应用开发平台) 环境准备Dify部署接入本地模型(如Ollama)安装Ollama运行模型并接入Dify环境准备 系统要求 Ubuntu 20.04/22.04,建议CPU≥2核,内存≥4GB。安装Docker及Docker Compose:# 安装Docker sudo apt update sudo apt insta…

如何在系统之间实现通信?

在多台系统之间实现通信,需要根据具体场景(如实时性、数据量、安全性、网络环境)选择合适的通信协议和技术方案。以下是常见的通信方式及其实现方法,涵盖局域网、互联网、跨平台等场景: 一、通信协议选择 1. HTTP/REST API 适用场景:跨平台、请求-响应模式(如Web服务…

Protobuf

Protobuf(Protocol Buffers)是 Google 开发的一种语言中立、平台中立、可扩展的序列化数据格式,用于结构化数据的序列化和反序列化。它比传统的文本格式(如 JSON 或 XML)更高效,特别适合于需要处理大量数据…

大语言模型概念科普

大模型(Large Model)是指具有大规模参数和复杂计算结构的机器学习模型。 大语言模型(Large Language Model):通常是具有大规模参数和计算能力的自然语言处理模型,例如ChatGPT、deepseek。这些模型可以通过…

蓝桥备赛(二)- C++输入输出(上)

一、getchar 和 putchar getchar() 和 putchar() 是属于 C 语言的库函数 ,C是兼容 C 语言的,所以 C 中只要正确包 含头文件也可以正常使用这两个函数。 1.1 getchar() getchar - C Reference 函数原型如下: int getchar (void) ; 1 . getch…

使用快捷键高效管理 VSCode:提升工作效率,告别鼠标操作

如果你想提高工作效率,减少鼠标操作,掌握键盘快捷键是一个非常有效的方式。在编程过程中,熟练使用快捷键能够快速管理文件、标签页,节省时间并提升效率。比如,Ctrl P 和 Ctrl W 可以快速打开和关闭文件,而…

Visual Studio更新说明(关注:.NET+AI生产力)

Ver V0.0:Visual Studio 2022 v17.12更新:.NET9AI生产力 AI插件推荐 (1)腾讯云AI代码手(内含了DeepSeek-R1),目前免费,但收费我也可能会买。 AI插件!推荐 (1)百度的…

3-2 WPS JS宏 工作簿的打开与保存(模板批量另存为工作)学习笔记

************************************************************************************************************** 点击进入 -我要自学网-国内领先的专业视频教程学习网站 *******************************************************************************************…