首页 > 分享 > Mind+Python编程进阶系列课程—06植物监测仪 DF创客社区

Mind+Python编程进阶系列课程—06植物监测仪 DF创客社区

本帖最后由 木子呢 于 2021-11-19 16:14 编辑

Mind+Python编程进阶系列课程—06植物监测仪




课程目录:
Python编程进阶系列教程—序章Python编程进阶系列课程—01 趣味数字电导仪Python编程进阶系列课程—02 简易气象站Python编程进阶系列课程—03 自制通信设备(上)Python编程进阶系列课程—03 自制通信设备(下)Python编程进阶系列课程—04 穿戴计步器Python编程进阶系列课程—05鱼缸自动水位控制Python编程进阶系列课程—06植物监测仪

一、实践情境随着社会的发展和生活水平的提高,人们逐渐追求高质量的生活,很多人会在家里或办公室种植一些花花草草以净化空气,陶冶情操。但是很多养花的小伙伴会因为出差、旅游或者一些其他的原因,不能及时照料它们,短时间可能会影响其正常生长,长时间甚至会死亡。为此,我们将设计一个植物监测仪,24小时全方位照料花花草草茁壮成长!

Mind+Python编程进阶系列课程—06植物监测仪图1


二、实践目标本实践项目运用micro:bit作为智能终端,通过土壤湿度传感器和DHT11温湿度传感器来采集植物中土壤的湿度和环境温湿度,并将数据上传至物联网平台,之后使用继电器、水泵和风扇模块来实现自动浇水和自动通风功能。

三、知识目标

1、认识风扇模块,掌握其使用方法2、掌握运用micro:bit作为智能终端,通过 Python 编程使风扇转动的方式四:时间准备

硬件清单:

Mind+Python编程进阶系列课程—06植物监测仪图2


软件使用: Mind+编程软件x1、SIoT系统软件x1其他:
1、花盆 x1
2、烧杯 x1
3、十字/一字两用螺丝刀 x1

Mind+Python编程进阶系列课程—06植物监测仪图3


五、实践过程在本项目中,我们将分两步,设计一个植物监测仪,实现对植物生存环境的实时监测并在环境不佳时进行改善。1、实时监测土壤湿度和环境温湿度并上传结果数据至SIoT物联网平台2、添加反馈控制,实现自动浇水和自动通风功能

任务1:实时监测土壤湿度与环境温湿度

1. 分析设计在本任务中,我们将分别借助土壤湿度传感器与DHT11温湿度传感器,来实时监测植物生长过程中土壤的湿度以及环境的温湿度。这里,我们可通过扩展板将两个传感器与micro:bit开发板相连接,实时检测三种数据信息并将其分别上传到SIoT物联网平台的三个不同设备上,同时,我们也可将信息呈现在软件终端。

Mind+Python编程进阶系列课程—06植物监测仪图4


2. 硬件搭建STEP1:通过传感器连接线将土壤湿度传感器和DHT11温湿度传感器分别连在扩展板的P1和P2口,如下图。STEP2:将micro:bit开发板插入I/O扩展板,并通过USB连接线将micro:bit接到计算机。3. 平台搭建SIoT物联网平台的搭建方法可参考第三课。

Mind+Python编程进阶系列课程—06植物监测仪图5


4. 软件编写在编写代码之前,我们依旧需要先对软件进行一些设置。软件设置:STEP1:创建与保存项目文件
启动Mind+软件,选择“Python模式”,另存项目并命名为“m植物监测仪”。STEP2:创建与保存Python文件
创建一个Python程序文件“任务一.py”,双击打开。

程序编写、运行:

STEP1:编写Python程序

import time#导入时间库 import siot#导入siot库 from pinpong.board import Board,Pin,DHT11#导入pinpong.board包中的Board,Pin,DHT11模块 Board("microbit").begin()#初始化,选择板型和端口号,不输入端口号则进行自动识别 adc0 = Pin(Pin.P1, Pin.ANALOG) #初始化P1引脚为模拟输入模式 dht11 = DHT11(Pin(Pin.P2))#创建DHT11对象 SERVER = "192.168.50.248"#MQTT服务器IP地址 CLIENT_ID = ""#创建空消息队列 IOT_UserName ='siot'#用户名 IOT_PassWord ='dfrobot'#密码 IOT_pubTopic1  = 'microbit/006'#“topic”为“项目名称/设备名称”,设备006 IOT_pubTopic2  = 'microbit/007'#设备007 IOT_pubTopic3  = 'microbit/008'#设备008 siot.init(CLIENT_ID, SERVER, user=IOT_UserName, password=IOT_PassWord)#初始化,确定输入的用户名和密码正确 siot.connect()#连接 siot.loop()#循环 while True:#永久循环     A1 = adc0.read_analog() #读取模拟信号数值     temp = dht11.temp_c() #读取摄氏温度     humi = dht11.humidity() #读取湿度     print("环境温度=",temp," 环境湿度=",humi," 土壤湿度=",A1)#终端打印显示     print("-------------------------------------")     time.sleep(1)#延时1秒     siot.publish(IOT_pubTopic1,"环境温度 = "+str(temp))#发送消息     siot.publish(IOT_pubTopic2,"环境湿度 = "+str(humi))     siot.publish(IOT_pubTopic3,"土壤湿度 = "+str(A1))     time.sleep(1) 复制代码
STEP2:运行程序并观察效果(1)将土壤湿度传感器镀金部分插入花盆中

Mind+Python编程进阶系列课程—06植物监测仪图6


(2)运行程序,并观察效果点击运行,显示“连接成功”后,环境温度、环境湿度及土壤湿度的数据就不断刷新呈现在终端内。

Mind+Python编程进阶系列课程—06植物监测仪图7


同时,分别查看物联网平台网页端“006”、“007”、“008”三个不同的设备,我们也可以看到相应的检测结果。

Mind+Python编程进阶系列课程—06植物监测仪图8

Mind+Python编程进阶系列课程—06植物监测仪图9

Mind+Python编程进阶系列课程—06植物监测仪图10

Mind+Python编程进阶系列课程—06植物监测仪图11


任务2:改善环境1.分析设计
在上个任务中,我们已经成功实现了对于植物生长过程中土壤湿度和环境温湿度的实时监测。接下来,我们将在此基础上对采集到的数据进行实时判别以改善环境。这里,我们可通过扩展板将风扇模块、继电器、水泵与micro:bit开发板相连,继而借助风扇实现高温时自动通风,借助继电器和水泵实现缺水时自动浇水。

Mind+Python编程进阶系列课程—06植物监测仪图12


2.硬件搭建STEP1:利用螺丝刀将水泵正负线与转接头连接起来。STEP2:利用继电器将12V电源开关与水泵的转接头连接起来。STEP3:通过连接线将风扇模块和继电器也分别连在扩展板的P8、P9端口。

Mind+Python编程进阶系列课程—06植物监测仪图13


STEP4:将继电器开关拨至NO端3.软件编写这里,我们依旧将先对Mind+编程软件进行设置,再编写Python程序。

软件设置:

STEP1:创建与保存Python文件
新建一个Python程序文件“任务二.py”,双击打开。

程序编写、运行:

STEP1:编写Python程序

import time#导入时间库 import siot#导入siot库 from pinpong.board import Board,Pin,DHT11#导入pinpong.board包中Board,Pin,DHT11模块 from pinpong.extension.microbit import * #导入pinpong.extension.microbit包中的所有模块 Board("microbit").begin()#初始化,选择板型和端口号,不输入端口号则进行自动识别 adc0 = Pin(Pin.P1, Pin.ANALOG) #初始化P1引脚为模拟输入模式 dht11 = DHT11(Pin(Pin.P2))#创建DHT11对象 fan = Pin(Pin.P8, Pin.OUT) #初始化P8引脚为电平输出模式 pump = Pin(Pin.P9, Pin.OUT) #初始化P9引脚为电平输出模式 SERVER = "192.168.50.248"#MQTT服务器IP地址 CLIENT_ID = ""#创建空消息队列 IOT_UserName ='siot'#用户名 IOT_PassWord ='dfrobot'#密码 IOT_pubTopic1  = 'microbit/006'#“topic”为“项目名称/设备名称”,设备006 IOT_pubTopic2  = 'microbit/007'#设备007 IOT_pubTopic3  = 'microbit/008'#设备008 siot.init(CLIENT_ID, SERVER, user=IOT_UserName, password=IOT_PassWord)#初始化,确定输入的用户名和密码正确 siot.connect()#连接 siot.loop()#循环 while True:#永久循环     A1 = adc0.read_analog()  #读取模拟信号数值     temp = dht11.temp_c() #读取摄氏温度     humi = dht11.humidity() #读取湿度     print("环境温度=",temp," 环境湿度=",humi," 土壤湿度=",A1)#终端打印显示     print("-------------------------------------")     time.sleep(1)#延时1秒     siot.publish(IOT_pubTopic1,"环境温度 = "+str(temp))#发送消息     siot.publish(IOT_pubTopic2,"环境湿度 = "+str(humi))     siot.publish(IOT_pubTopic3,"土壤湿度 = "+str(A1))     time.sleep(1)     #自动通风     if temp > 31 : #温度高于31         fan.write_digital(1) #输出高电平     else:         fan.write_digital(0) #输出低电平     #自动浇水     if A1 < 210 :         display.show(Image.SAD)   #显示图案sad         pump.write_digital(0) #输出低电平     else:         display.show(Image.HAPPY)   #显示图案happy         pump.write_digital(1) #输出高电平     time.sleep(1)复制代码
STEP2:运行程序并观察效果(1)将水泵浸没于烧杯之中

Mind+Python编程进阶系列课程—06植物监测仪图14


Tips:水泵不能空转,必须将黑色水泵头沉入水中,否则可能会烧毁硬件。(2)将水管出水口插入花盆中

Mind+Python编程进阶系列课程—06植物监测仪图15


(3)将12V电源开关插上220V电源插座(4)将风扇固定在花盆边(5)运行程序,观察效果观察花盆,我们发现,当检测到的土壤湿度低于210时,点阵屏显示哭脸,水泵启动开始浇水;反之,点阵屏显示笑脸,水泵静止。而当温度高于31℃时,风扇自动打开;反之风扇停止运行。Tips:程序中的“210”和“31”是我们依据实验情况设定的植物缺水和受高温时的临界值,不同的植物对水的需求量耐热度不同。水量不足时需在烧杯中补水。4.调试修改尝试对上传至SIoT物联网平台三个设备上的数据通过图表进行分析,探求在一天中植物的土壤湿度和环境温湿度的变化情况是怎样的,互相之间又有何联系,继而优化实验,进一步完善植物监测仪。六、巩固提高1.项目小结本节课我们以micro:bit、扩展板、土壤湿度传感器、DHT11温湿度传感器、继电器、水泵以及风扇模块为器件设计了一个植物监测仪。首先通过土壤湿度传感器和DHT11温湿度传感器监测植物生长过程中土壤的水分和环境温湿度,之后对检测到的数据进行判别,实现缺水时能自动浇水,高温时能自动通风。2. 项目拓展思考:1、关于植物的生长,除了温度和土壤湿度之外还有什么因素会对其有影响呢?我们手头是否有工具可以对其进行测量?2、查阅资料,探究适合植物三角梅生长的最佳土壤湿度环境,通过物联网平台跟踪其土壤湿度变化,并测量植物高度,分析研究植物长成的高度与土壤湿度之间的联系。3、我们都知道植物生长是通过光合作用的,但是到了黑夜因为没有了阳光而导致植物无法进行光合作用,如果我们想要加快植物生长就可以在光线不足的时候对其进行补光。但是如果一直亮着植物的补光灯会很费电,我们是否可以为我们的植物监测仪添加自动补光的功能弥补这一不足呢?

相关知识

MA2灯光秀编程精通课程
2022年MIT App Inventor 夏季 Appathon比赛结果 DF创客社区
张瑜服务队赴荣东社区开展花卉养护系列课程
杭州花艺基础进阶培训课程
香塑文创—胸花系列 香方名字:“花香十二客” “花香十二客”
良友花店时尚花束和商务插花进阶课 让创意无所不在
花店时尚花束和商务插花进阶课再次震撼开课啦!花店问题全部解决
科技成就未来,创客教育助力成长——2019年大同市平城区教育局中小学创客教育骨干教师培训集锦
如何正确使用花花草草植物监测仪.docx
苏州工业园区金鸡湖街道朗科社区开展“小小植创师 童心共建绿色家园——多肉花篮植创”系列活动

网址: Mind+Python编程进阶系列课程—06植物监测仪 DF创客社区 https://m.huajiangbk.com/newsview158397.html

所属分类:花卉
上一篇: 巧手兰心 魅力巾帼
下一篇: 花花草草