编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

自制产品级自行车码表,电路代码全开源

wxchong 2025-03-24 21:40:27 开源技术 16 ℃ 0 评论

我DIY了一个很酷的自行车码表!比外面卖的成本低,但功能更实用。

它支持计步,能显示速度、距离、时间、卡路里、航向:

它还可以离线导航显示实时位置、轨迹,支持记录轨迹,可导出GPX格式的文件支持缩放,支持经纬度、海拔显示,支持RTC自动根据GPS校准

它能持续工作四小时,掉电会自动保存数据支持在PC模拟器模拟,脱离硬件调试(配置为Release x86)。

设计方案如下:

设计图

硬件配置

  • 主控:AT32F403ACGU7 (主频:240MHz RAM:224KB ROM:1MB)
  • 屏幕:ST7789 IPS 1.54inch SPI接口 240x240分辨率 60Hz刷新率
  • 储存器:Micro SD CARD 32GB
  • 输入设备:旋转编码器
  • RTC:MCU内置RTC时钟
  • 加速度计: LSM6DSM (支持硬件计步输出)
  • 地磁计: LIS3MDL
  • GPS:ATGM336H (BDS + GPS + GLONASS + GALILEO + QZSS + SBAS)
  • 电池:Li-ion 3.7V 683030 700mAh
  • 电源管理: LP5907-3.3 + MCP73831
  • 外壳:3D打印 光固化


外壳

源码

/**
 * @file lv_disp.c
 *
 */

/*********************
 *      INCLUDES
 *********************/
#include "lv_disp.h"
#include "../misc/lv_math.h"
#include "../core/lv_refr.h"

/*********************
 *      DEFINES
 *********************/

/**********************
 *      TYPEDEFS
 **********************/

/**********************
 *  STATIC PROTOTYPES
 **********************/
static void scr_load_internal(lv_obj_t * scr);
static void scr_load_anim_start(lv_anim_t * a);
static void opa_scale_anim(void * obj, int32_t v);
static void set_x_anim(void * obj, int32_t v);
static void set_y_anim(void * obj, int32_t v);
static void scr_anim_ready(lv_anim_t * a);
static bool is_out_anim(lv_scr_load_anim_t a);

由于格式原因,代码无法完全展示,本项目是完全开源的,需要代码+电路源文件的小伙伴,请自取,无偿分享:
https://oshwhub.com/222465.255411/x-tracks-ma-biao#P2

本文参考资料:立创开源硬件平台《X-Track码表1.3寸屏版本》作者:勒瑟

https://oshwhub.com/222465.255411/x-tracks-ma-biao#P2


如果你认为这篇文章还不错,欢迎点赞、关注、转发、收藏~

我会持续更新优质开源项目!

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表