原标题:【教程】智能编程T-Watch手表初试micropython之电子秤教程

【项目的故事】

在极客玩具中,我一直喜欢穿戴类和小车类。前后做过两只运动心率表,并且参与过麦步手表的测试。TTGO最新出品了一块叫做T-Watch的手表,实际上,是一个可以做手表的穿戴平台,就将我原来的一个基于esp32的电子秤玩具移植到这块手表上,成为一个手表电子秤。使得大家对这个新玩具能有所了解吧。

【T-watch的主要配置】

芯片:ESP32(配置比较强:FLASH QSPI闪存16 MB / PSRAM 8 MB)

PMU电源管理:Axp202

显示屏:1.54英寸LCD电容式触摸屏

传感器:BMA423三轴加速度计,集成步数算法,活动/跟踪识别,高级识别手势

RTCCF8563

自定义按钮:一只(gpio36)

从硬件来看,亮点有这么几处:一是psram8兆(手表也提供了TF卡槽),二是PMU电源管理,可以对屏幕等外设进行单独电源管理;三是1.54寸彩屏+电容触摸;四是三轴加速度以及RTC授时等。

外观:42.5(宽)*46.5(长)*20(厚度),这是我手工测量,可能略有误差,但是也很精巧了。其中为了穿插表带,厚度至少多出来了4mm空间。

【micropython电子秤移植】

T-Watch出厂时,内置的是一个arduino的demo,是一块很漂亮的带有记步功能以及BLE\WIFI\PMU等设置的手表。带屏幕关闭以及唤醒,如果你希望单纯的手表,实际上就可以直接上手了。

这是一个成熟项目,我已经在esp32(mpy)上实现过,是基于M5STACK的平台。

这次移植,主要是要解决PMU电源管理的驱动以及TFT显示器的驱动问题。

(1)感谢TTGO的高手lewis师兄,他将axp202的电源管理模块的驱动移植到了Mpy上,而且是非常完整的移植,对axp202的功能全部开放,方便玩家调用。我这次电子秤移植实际上只是使用到了很少一部分。

(2)这块手表的显示器驱动IC是ST7789V,这是常用于智能手表的驱动芯片。Lewis师兄将其移植到了mpy上,从玩家讨论来看,也有国外玩家先后尝试了mpy以及纯C两种7789的驱动后,据说后者的速度明显提升,但我们这次用的还是lewis师兄移植的mpy库,可以感受到,在整体刷屏上,速度的确比较慢,这也是后续需要完善的吧。

我在lewis师兄的工作基础上,借鉴了github上一位玩家的9341库,将字符显示以及画点、画线、实线矩形等功能做了一点移植。这样,手表电子秤的基本功能就具备了。

参考github玩家对9341的使用,玩家提供了一个转换工具,叫做font_to_py.py,这是一个非常有用的小工具,可以转换ttf字库至python库,然后由mpy直接调用。非常方便。

分别是电子秤的校准以及测量过程,我用了两个砝码(100、200克)进行校准,没有考虑温度补偿,设立了一个文本文件存储补偿系数,下次开机时,直接读取就可以了,这就是Mpy的方便之处,不像arduino在esp32中,还需要模拟eeprom库开写入类似的系数。

【小结】

TWatch优势:(1)硬件配置较好,包括psram\tf卡槽等,套件中提供了一个开发者底板,里面用排母引出来了大量gpio,还有一个IIC扩展槽。姿态传感器以及RTC非常容易开发出好玩的穿戴应用。(2)tw并非是一块手表,而是一个像手表的极客平台。这次TTGO专门考虑了将成熟的手表固件准备了可烧写的文件格式,玩家即便不懂编程,也可以将分享的固件烧写到手表里,从而享受不同的体验

文章很多内容在这里没办法坐在完善,如果您需要详细资料可以复制以下链接上官网了解详细资料:

http://www.xydzsz.com/news/article136.html返回搜狐,查看更多

责任编辑:

micropython移植教程_【教程】智能编程T-Watch手表初试micropython之电子秤教程相关推荐

  1. [中级教程] 实例教程_次世代游戏场景刀枪武器架子3D模型制作教程

    实例教程_次世代游戏场景刀枪武器架子3D模型制作教程 链接:https://pan.baidu.com/s/1Ra9T8dpcgxVRQajfRD5JLg 密码:kzcv

  2. micropython esp8266教程_(一)ESP8266/nodemcu如何使用MicroPython进行开发

    简介 大家都知道ESP8266(nodemcu)可以使用arduino的语法(C)进行开发,也有些小伙伴可能也知道可以使用lua语言进行开发的.但是现在我们也可以使用python来开发esp8266( ...

  3. python编程高手教程_写给编程高手的Python教程(01) 数据结构

    如何在列表,字典,集合中根据条件筛选数据 案例:如何在下列列表data中筛选出大于0的数 data = [1, -1, 2, 3, 4, 7] 复制代码 使用filter函数,第一个参数为一个函数,也 ...

  4. python免费课程400节-少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

    大家好,我是爱编程的小熊,上一节我们学习了图形的旋转,这节,我们继续学习图形旋转及其变化的轨迹,进而绘制出更加绚丽的图案.编程描述:这一节 我们将在上几节所学的基础内容,并加上色彩和渐变填充的效果,画 ...

  5. kuka机器人焊接编程入门教程_焊接机器人操作编程与应用教学.pptx

    (ABB.MOTOMAN.FANUC.KUKA.OTC机器人);第1章 机器人基础知识;第1章 机器人基础知识;第1章 机器人基础知识;第1章 机器人基础知识;第1章 机器人基础知识;第1章 机器人基 ...

  6. python在线编程免费课程-少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

    大家好,我是爱编程的小熊,上一节我们学习了图形的旋转,这节,我们继续学习图形旋转及其变化的轨迹,进而绘制出更加绚丽的图案.编程描述:这一节 我们将在上几节所学的基础内容,并加上色彩和渐变填充的效果,画 ...

  7. 叮咚音响登录显示未连接服务器,音响唤醒及蓝牙连接 - 叮咚智能音箱联网教程_叮咚智能音箱联不上网解决办法...

    2.音箱的误唤醒 若长时间不使用音箱,建议轻按音箱顶部的Zzz休眠键,让音箱进入休眠状态. 3.无法识别 1)用户语速过快,唤醒词"叮咚叮咚"和需要搜索的内容几乎连在一次说的,导致 ...

  8. 叮咚音响登录显示未连接服务器,联网问题 - 叮咚智能音箱联网教程_叮咚智能音箱联不上网解决办法...

    2.音箱不能成功联网: 可能出现的情况如下: a)音箱紫色灯光在旋转,表明正在接受超声波,但一直没有播放联网成功: b)音箱的紫色灯光已经不亮了,但用户仍在用手机发送超声波试图联网 c)音箱联网的超时 ...

  9. python编程高手教程_写给编程高手的Python教程(11) 深入类和对象

    学习使我快乐 鸭子类型和多态 当看到一只鸟走起来像鸭子.游泳起来像鸭子.叫起来也像鸭子,那么这只鸟就可以被称为鸭子. 例如下面三个类(Cat.Dog.Duck)的定义中都定义了say方法 class ...

最新文章

  1. HarmonyOS 界面跳转以及界面跳转的同时传递参数
  2. python 使用set对list去重,并保持list原来顺序
  3. android onclick fragment,Android Fragment onClick按钮方法
  4. LINQ是死是活?——很奇怪为什么会有这样的话题?
  5. 最长不重复子串python_python经典算法题:无重复字符的最长子串
  6. python和财务管理的区别与联系_会计管理与财务管理区别与联系
  7. linux添加自己的键盘映射,Linux 键盘映射
  8. 程序猿都应学习的语言:看 25 张图学 UML
  9. java基础源码 (2)--StringBuilder类
  10. Thingsboard 3.1.0 - 源码编译
  11. Kinetics-400数据集介绍
  12. 闲置光猫改成无线打印服务器,简单几步,让闲置路由器变身专业无线AP-无线ap设置...
  13. python1到20的阶乘求和_Python的阶乘求和
  14. 电脑Tab键有什么用
  15. Python 数据结构之二叉树的实现
  16. Android Things在 #io17
  17. 呼叫中心客服人员的秘密生活:同理心永远不会让你遭殃
  18. Beego入门简单构建, 连接MySQL实现增查操作
  19. 时间戳与时间的转换大全
  20. MyBatis之通用mapper

热门文章

  1. 加载gif动图_GIF生成神器——ScreenToGif
  2. Python二级笔记(18,19合集操作篇)
  3. c语言for循环26个英文字母,菜鸟求助,写一个随机输出26个英文字母的程序
  4. 交流信号叠加直流偏置_放大器偏置电流Ib需要完整的直流回路
  5. oracle =1,oracle中的 where 1=1 和where 1 !=1
  6. python决策树的应用_机器学习-决策树实战应用
  7. Rxjs的flatMap使用
  8. postman里测试文件上传(MultipartFile)
  9. 自定义按钮 图片标题位置随意放置
  10. 原 BinaryWriter和BinaryReader(二进制文件的读写)