工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

电路设计->综合电路图->综合电路图->life Watch使用ENV II来监测湿度和温度

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

发布人:amy2025 时间:2025-08-29 收藏

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

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

问题:

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

我们的项目:

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

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

最后,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)


技术专区