life Watch使用ENV II来监测湿度和温度

2025-02-21

介绍生命手表,旨在让你保持活力,帮助适应健康的生活方式。激励你通过个性化的锻炼来保持健康。

新加坡政府一直在积极鼓励人们保持健康和活跃。政府推出了“健康生活总体规划”等举措,鼓励新加坡人定期锻炼,保持均衡饮食。尽管做出了这些努力,但新加坡人目前在所有体育活动方面仍然排名C-,这导致心血管疾病相关死亡人数增加。因此,新加坡需要开发一种更可持续的技术,帮助每个人适应更健康的生活方式。

问题:

我们如何在健康生活方式中设计一个可持续的技术解决方案,鼓励用户保持活跃和健康。

我们的项目:

我们的life Watch使用ENV II来监测湿度和温度,根据天气情况显示最适合的锻炼方式。此外,地球传感器检测用户何时完全淹没在水中,表明他们正在游泳。只需按下一个按钮,手表就会开始计时你的锻炼,跟踪你的进步。

life Watch使用ENV II来监测湿度和温度 (https://ic.work/) 工控技术 第1张

life Watch使用ENV II来监测湿度和温度 (https://ic.work/) 工控技术 第2张

RFID传感器充当步数跟踪器,允许用户在行走时收集点数。每跑一公里,用户就可以点击传感器来积累积分,这些积分可以换取令人兴奋的奖励和代金券。

life Watch使用ENV II来监测湿度和温度 (https://ic.work/) 工控技术 第3张

life Watch使用ENV II来监测湿度和温度 (https://ic.work/) 工控技术 第4张

最后,TOF传感器作为一个功能,通过计算用户完成每项运动(如俯卧撑和仰卧起坐)的次数来跟踪性能。

代码


from m5stack import *


from m5ui import *


from uiflow import *


import time


import unit


setScreenColor(0x222222)


env2_1 = unit.get(unit.ENV2, unit.PAHUB1)


earth_1 = unit.get(unit.EARTH, unit.PORTB)


pahub_0 = unit.get(unit.PAHUB, unit.PORTA)


mins = None


secs = None


hours = None


label0 = M5TextBox(118, 133, "Temp", lcd.FONT_DejaVu18, 0xFFFFFF, rotate=0)


label8 = M5TextBox(10, 141, "Text", lcd.FONT_Default, 0xFFFFFF, rotate=0)


image3 = M5Img(0, 13, "res/default.jpg", True)


image4 = M5Img(110, 15, "res/default.jpg", True)


image5 = M5Img(220, 13, "res/default.jpg", True)


label1 = M5TextBox(10, 170, "Text", lcd.FONT_Default, 0xFFFFFF, rotate=0)


label2 = M5TextBox(132, 170, "Text", lcd.FONT_Default, 0xFFFFFF, rotate=0)


label3 = M5TextBox(234, 170, "Text", lcd.FONT_Default, 0xFFFFFF, rotate=0)


label5 = M5TextBox(139, 200, "00", lcd.FONT_Default, 0xFFFFFF, rotate=0)


label4 = M5TextBox(66, 200, "00", lcd.FONT_Default, 0xFFFFFF, rotate=0)


label6 = M5TextBox(207, 200, "00", lcd.FONT_Default, 0xFFFFFF, rotate=0)


label7 = M5TextBox(207, 139, "Text", lcd.FONT_Default, 0xFFFFFF, rotate=0)


image1 = M5Img(110, 13, "res/default.jpg", True)


image2 = M5Img(220, 13, "res/default.jpg", True)


label9 = M5TextBox(95, 170, "Text", lcd.FONT_Default, 0xFFFFFF, rotate=0)


image0 = M5Img(0, 13, "res/default.jpg", True)


from numbers import Number


def buttonA_wasDoublePress():


global mins, secs, hours


mins = (mins if isinstance(mins, Number) else 0) + 39


pass


btnA.wasDoublePress(buttonA_wasDoublePress)


def buttonB_wasDoublePress():


global mins, secs, hours


secs = (secs if isinstance(secs, Number) else 0) + 5


pass


btnB.wasDoublePress(buttonB_wasDoublePress)


image0.changeImg("res/default.jpg")


image1.changeImg("res/default.jpg")


image2.changeImg("res/default.jpg")


image3.changeImg("res/default.jpg")


image4.changeImg("res/default.jpg")


image5.changeImg("res/default.jpg")


secs = 0


mins = 0


hours = 0


label4.hide()


label5.hide()


label6.hide()


while True:


if (env2_1.temperature) >= 28:


rgb.setColorAll(0xff0000)


label0.setText(str((str('Temp:') + str((env2_1.temperature)))))


label1.setText('Swimming')


label2.setText('Basketball')


label3.setText('Cycling')


label8.setText('Goal: 40 mins')


label7.hide()


label8.hide()


label9.hide()


image0.show()


image1.show()


image2.show()


image3.hide()


image4.hide()


image5.hide()


if btnA.wasPressed():


label0.hide()


label1.show()


label2.hide()


label3.hide()


label4.show()


label5.show()


label6.show()


label7.show()


label9.show()


while True:


label7.setText(str(earth_1.analogValue))


label9.setText(str((str('Temp:') + str((env2_1.temperature)))))


label7.show()


label8.show()


image0.show()


image1.hide()


image2.hide()


if (earth_1.analogValue) > 0:


if secs >= 59:


mins = (mins if isinstance(mins, Number) else 0) + 1


secs = 0


if mins >= 59:


hours = (hours if isinstance(hours, Number) else 0) + 1


mins = 0


if hours >= 24:


secs = 0


mins = 0


hours = 0


if mins >= 40:


rgb.setColorAll(0x33ff33)


wait(1)


secs = (secs if isinstance(secs, Number) else 0) + 1


label6.setText(str(secs))


label5.setText(str(mins))


label4.setText(str(hours))


wait_ms(2)


elif btnB.wasPressed():


while True:


label1.hide()


label2.show()


label3.hide()


label7.hide()


label8.show()


image0.hide()


image2.hide()


image1.show()


wait_ms(2)


elif btnC.wasPressed():


label8.setText('Goal: 60 mins')


while True:


label1.hide()


label2.hide()


label3.show()


label7.hide()


label8.show()


image0.hide()


image1.hide()


image2.show()


wait_ms(2)


else:


rgb.setColorAll(0x3366ff)


label0.setText(str((str('Temp:') + str((env2_1.temperature)))))


label1.setText('Indoor running')


label2.setText('Dance')


label3.setText('Yoga')


label0.show()


label1.show()


label2.show()


label3.show()


label4.hide()


label5.hide()


label6.hide()


label7.hide()


label8.hide()


label9.hide()


image0.hide()


image1.hide()


image2.hide()


image3.show()


image4.show()


image5.show()


if btnA.wasPressed():


label8.setText('Goal: 40 mins')


while True:


label0.show()


label1.show()


label2.hide()


label3.hide()


label8.show()


image3.show()


image4.hide()


image5.hide()


wait_ms(2)


elif btnB.wasPressed():


label8.setText('Goal: 45 mins')


while True:


label1.hide()


label2.show()


label3.hide()


label8.show()


image4.show()


image3.hide()


image5.hide()


wait_ms(2)


elif btnC.wasPressed():


label8.setText('Goal: 60 mins')


while True:


label1.hide()


label2.hide()


label3.show()


label8.show()


image5.show()


image4.hide()


image3.hide()


wait_ms(2)


wait_ms(2)


本文编译自hackster.io

文章推荐

相关推荐