可视化仓鼠饲养箱
项目由来
这次随机大挑战,感谢DF的大礼包。
家里的小仓鼠,一直有点小味道,想检测一下仓鼠生活的箱子的环境质量。
仓鼠是家庭饲养中比较常见的一种小动物,饲养相对比较简单,但是对于夏天饲养来说,有一定的味道。设想检测一下,箱子中的空气质量如何,利用的这次大礼包中的 行空板和sci采集模块,Gravity: ENS160 空气质量传感器、Gravity: I2C VEML7700 环境光传感器 (0~120Klx)。
材料清单
- 行空板 X1
- 光线传感器 X1
- 空气质量传感器 X1
二、项目介绍实现功能
1、检测光线,仓鼠生活的地方不能光线太亮。光线值是一个检测的指标。
2、饲养箱的空气环境数值。
3、检测环境温湿度。(礼包中没有这个传感器就没有加)
仓鼠比较好动,也喜欢啃食,楼梯和跑轮都快被啃食完了。
选用,光线传感器和环境传感器。
为了防止被啃食,安装在顶部。
获取环境数据记录,实时显示在画面中。
建立行空板的物联网平台
收集数据
采集并记录数据做后期处理。
由于时间比较赶,作品完成度不高。见谅!
代码
# -*- coding: UTF-8 -*-
# MindPlus
# Python
from dfrobot_rp2040_sci import *
from pinpong.board import Board
from unihiker import GUI
import time
Board().begin()
u_gui=GUI()
A1=u_gui.draw_text(text="仓鼠饲养盒",x=30,y=0,font_size=20, color="#0000FF")
A2=u_gui.draw_text(text="饲养人:",x=0,y=35,font_size=15, color="#FF0000")
A3=u_gui.draw_text(text="seven",x=80,y=35,font_size=15, color="#00FF00")
A4=u_gui.draw_text(text="出生日期:",x=130,y=75,font_size=15, color="#FF0000")
A5=u_gui.draw_text(text="2023.4",x=130,y=100,font_size=15, color="#00FF00")
A6=u_gui.draw_text(text="年龄:",x=130,y=125,font_size=15, color="#FF0000")
A7=u_gui.draw_text(text="4个月",x=130,y=150,font_size=15, color="#00FF00")
A8=u_gui.draw_text(text="光线值",x=0,y=200,font_size=15, color="#0000FF")
A9=u_gui.draw_text(text="AQI",x=0,y=220,font_size=15, color="#0000FF")
A10=u_gui.draw_text(text="行空板",x=0,y=240,font_size=15, color="#0000FF")
A11=u_gui.draw_text(text="行空板",x=0,y=260,font_size=15, color="#0000FF")
A12=u_gui.draw_text(text="行空板",x=0,y=280,font_size=15, color="#0000FF")
B1=u_gui.draw_image(image="123.png",x=0,y=75)
SCI1 = DFRobot_RP2040_SCI_IIC(addr=0x21)
while SCI1.begin() != 0:
print("Initialization Sensor Universal Adapter Board failed.")
time.sleep(1)
print("Initialization Sensor Universal Adapter Board done.")
while True:
A8.config(text=(str((str("光线值:") + str((str(SCI1.get_value0("Light")) + str(SCI1.get_unit0("Light"))))))))
A9.config(text=(str((str("AQI值:") + str((str(SCI1.get_value0("AQI")) + str(SCI1.get_unit0("AQI"))))))))
A10.config(text=(str((str("TVOC值:") + str((str(SCI1.get_value0("TVOC")) + str(SCI1.get_unit0("TVOC"))))))))
A11.config(text=(str((str("ECO2值:") + str((str(SCI1.get_value0("ECO2")) + str(SCI1.get_unit0("ECO2"))))))))
time.sleep(1)
if (((int(float(SCI1.get_value0("AQI")))) > 0) and ((int(float(SCI1.get_value0("AQI")))) < 3)):
A12.config(color="#00FF00")
A12.config(text="饲养环境评估:A等")
if (((int(float(SCI1.get_value0("AQI")))) > 2) and ((int(float(SCI1.get_value0("AQI")))) < 4)):
A12.config(color="#FFFF00")
A12.config(text="饲养环境评估:B等")
if ((int(float(SCI1.get_value0("AQI")))) > 4):
A12.config(color="#FF0000")
A12.config(text="饲养环境评估:C等")
附件
hacker_2023.08.30
6