使用ST SensorTile开发板做的智能怀表,可以显示时间、传感器数据已经实现了基本功能,下一步还将自动记录数据和分析数据,并通过蓝牙上传本项目的创新在于完全使用了MicroPython进行软件开发,并将SensorTile安装到了怀表中,可以实现完整的怀表功能使用MicroPython读取SensorTile传感器,并在OLED上显示出来怀表的按钮除了可以开盖,也兼作唤醒开关和功能切换键,每按一次切换一个功能界面,长按将自动复位USB接口除了可以作为micropython的程序下载接口,还可以给电池充电除了可以作为怀表外,使用者还可以通过micropython编程,增加或修改程序,实现更多需要的功能硬件上使用SensorTile做核心版,低功耗高性能的STM32L476加上多种传感器,在配合OLED使用USB做数据接口,兼作充电功能软件上使用micropython,不但简化了编程,可以完全不看硬件层,一般人都可以设计自己的功能,让智能怀表的应用充满了各种可能经过几个月的反复修改,SensorTile第一版完成了首先感谢EEWORLD和ST提供了这次活动机会,可以尝试新的想法,并最终实现了加深了对ST的传感器、低功耗MCU的认识,同时也感觉micropython真的很好用在DIY过程中,遇到不少问题,好在都一一解决了,还学到不少新东西首先是移植micropython中遇到问题,发现不能驱动GPIOG经过自己研究修改,发现是没有打开PORTG的时钟,micropython终于可以运行在SensorTile上了这个问题也反馈到官方,并在micropython的源码中改进了接着发现传感器接口使用了三线方式的SPI(半双工),而mpy上不支持这种方式仔细研究后发现,幸好传感器支持I2C/SPI两种接口,使用软件I2C方式,也可以很好的驱动传感器然后就是sensorTile怎样安装到怀表中怀表的空间很紧凑,SensorTile虽小,但是加上USB小板、OLED和电池,就装不下了最后经过反复考虑和比较,只好不用SensorTile自带的USB小板,而是自己扩展,并且替换了更薄的电池调试硬件中,突然发生了一个严重问题,USB突然无法识别出设备,怎么也连不上SensorTile了经过仔细检查,发现是SensorTile上的LDO没有输出了,因为系统是宽压的,将3.3V直接提供给sensortile,暂时解决了电源问题硬件完成了,编写软件时又遇到bug,发现mpy在STM32L4上低功耗有bug,外中断和RTC都不能唤醒,而在STM32F405/F411上都是正常的因为时间关系,这个问题只好先放下,等修正后在补上了还有一个遗憾是调试OLED时发现显示的时候偶数行没有显示出来(程序是没有问题的,在另外OLED上验证了)应该是安装时碰到了OLED的排线,暂时没有办法拆开修了幸好通过调整字体大小和位置,还能看清使用micropython编程很方便,这一次再次验证了这一点,很快就完成了界面部分和主要功能,包括:电池充电状态电池容量气压传感器三轴传感器陀螺仪传感器时间运行识别、蓝牙通信、数据保存等功能还没有加上,等后面有空时补上了因为这次只需要做一个原型机,所以没有专门做PCB,而是完全手工方式打造,这样就不太方便下一版预备重新设计电路,专门做一个PCB,不但方便使用,也可以容易添加功能DIY过程的一些图片:原理图:以上图文内容均是EEWORLD论坛网友:dcexpert原创,在此感谢欢迎微博@EEWORLD 如果你也写过此类原创干货请关注微信公众号:EEWORLD(电子工程世界)回复“投稿”,也可将你的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条
与更多行业内网友进行交流请登陆EEWORLD论坛
0 评论