第五课 鱼缸自动水位控制_第1页
第五课 鱼缸自动水位控制_第2页
第五课 鱼缸自动水位控制_第3页
第五课 鱼缸自动水位控制_第4页
第五课 鱼缸自动水位控制_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第五课鱼缸自动水位控制

一、实践情境

随着我国小康社会的全面建成,人们的生活水平也不断提高,越来越多的人喜欢在家中养殖观赏

鱼来陶冶情操。在鱼缸养鱼时,充足的水量对鱼至关重要。然而,有时候长时间出门在外,我们往往

没法及时给鱼缸补水,以致对鱼的生存产生影响。鉴于此,本实践将设计一个鱼缸自动补水系统,弥

补这一不足。

二、实践目标

本实践项目运用川icisbit作为智能终端,通过液位传感器来采集鱼缸的水位数据并招其上传至物联

网平台,之后使用继电器和水泵来实现补水功能。

三、知识目标

1、认识液位传感器、继电器和水泵,掌握其使用方法

2、掌握运用micro:bit作为智能终端,通过Python编程采集液位传感器数据的方式

3、掌握通过Python编程使继电器和水泵进行补水的方式

四、实践准备

硬件清单:

软件使用:mi件+编程软件xl、SIoT系统软件xl

其他:

1、鱼缸xl(可用花盆替代)

2、水桶xl(可用烧杯替代)

3、十字/一字两用螺丝刀xl

知识链接

智能非接触式液位传感器

简介:智能型非接触式液位传感器可用于检测是否有液体存在,使用时将传感器贴在容器壁上即可,无

须与液体直接接触.当检测到有液体时,指示灯亮起。

简易继电器模块

简介:继电器是一种用小电流去控制大电流运彳懒具有隔离功能的自动开关元件.

Tips:虽然micro:bit的供电电压5V大于水泵的最小工作电压4.5V,但是实际驱动起来运行会很不稳

定.因此互通过继电器来使水泵工作。

带水管潜水泵

简介:水泵是输送液体或使液体增压的机械。可放置水中直接使用,4.5~12V宽电压供电范围.可用来

为植物浇水,甚至为鱼缸换水。

五、实践过程

在本项目中,我们将分两步,自制一个鱼缸自动补水系统,实现对鱼缸水位的实时监测以及自动补水

功能。

1、实时监测鱼缸水位并将信息发送至SIoT物联网平台

2、添加反馈控制,实现自动补水功能

任务1:水位监测

1.分析设计

在本任务中,我们将通过液位传感器,实时监测鱼缸的水位。这里,我们可通过扩展板将液位传感器

与micro:bit开发板相连接,采集水位情况,并将获取到的数据上传到SIoT物联网平台上。

软件终端+SloT物联网平台显示

2.硬件搭建

STEP1:通过传感器连接线将液位传感器连在扩展板的P1端U,如下图。

STEP2:将micro:bit开发板插入I/O扩展板,并通过USB连接线将micro:bit接到计算机。

3.平台搭建

SIoT物联网平台的搭建方法可参考第三课。

4.软件编写

(2)运行程序,观察软件终端

点击运行,可以看到终端内显示“连接成功”的提示字样,之后一直显示数字“0”,此时鱼缸内的水

位线未达到传感器监测点。

importtlao\n|f

自怦

iaportslot*.slot0K0=

froapinpong.boardirportBo«rd,Pinwpinpong.>3jrd,Bo.、.n'")•

Boar^C'fticroeif).t>egin()»••不恰ASIJ年说出“口孙

Q=

(3)物联网平台网页端查看检测数据

首先找到我们的设备“microbit/005”,接着点击“查看消息”,

SloT项目列表设备列表发送消息

全都设备

项目ID设备名称10睇v

项目ID名称每注提作

microbit001查看消息清空消息删除设备添力晦注

查看消息匕空海显删添力暄注

microbit005

之后单击“显示/隐藏图表”和“自动刷新消息”,我们可以看到检测到的反馈数值实时自动刷新呈现

在页面上,并以图表形式呈现了出来。

100*▼查询导出鱼询G年QI,摩惠口切喊打转匕

[microbit/005]消息监控n0o

04-

02-

2021-08-03B:47.422021-080313.47:512021-08-0313.48:002021-08-0313:48.102021-08-0313:48:19

Topic;ne

mtcroMO0502021ao3134826

mcroMOOS020210603134^25

microbit00502021-08-03134824

(4)将液位传感器慢慢往下移动,直至检测点在水位线以下。

(5)再次观察软件终端和网页平台,可以看到此时的数据变为了“1”。

【加代为防千溶£,不会♦存入!«*・州irxri

|H»M>I”-森尚啾dimKMMIiea

[mkrobit/005J消息卸8_______________

OJ

■oeewwWI*OMSBSOHM3OJI“O;”g-oe-oms1$

TopicMBra

fmcwM006।种60313630

microotOOSiQ661351”

mkxcM(X)5t加180313512t

mtaciUl006i2021ao3135127

fmc*oM005i202m3135126

.

Tips:若数值不变化可尝试按压“set”键1-4次,调整灵敏度。

STEP3:回顾程序

1、读取水位值

frompinpong,boardimportBoard,Pin#导入pinpong.board包中的Board,Pin模块

water_level=Pin(Pin.Pl,Pin.IN)#初始化Pl引脚为电平输入模式

v=water」evel.read_digital()#读取引脚电平

在使用micro:bit主控板和液位传感器进行检测时,我们将液位传感器和主控板上的P1引脚进行连接,

而为了能够读取P1引脚上液位传感器检测出来的值,编程时,我们需要在导入模块后将P1引脚设定

为电平输入模式"Pin.IN”,之后使用“read_digital()”来进行读取数值。

这里的“电平”是指电压,有高和低两种区别,当读取到的值为“1”时,也就指“高电平”,而当读

到的值为“0”时,则指代“低电平”。

任务2:添加反馈

1.分析设计

在上个任务中,我们已经成功实现了对水位的实时检测。接下来,我们将在此基础上添加反馈控制,

实现当水位不足时,为鱼缸补水。

这里,我们可在之前实时检测水位的基础上,对检测到的数据进行判别,当判别水量不足时进行补水。

2.硬件搭建

STEP1:利用螺丝刀将水泵正负线与转接头连接起来,步骤与成型图如下,

(1)松掉转接头螺丝

(2)将线插入,注意正负(棕/红一正;蓝/黑一负)

(3)拧紧螺丝

STEP2:利用继电器将12V电源开关与水泵的转接头连接起来

STEP3:通过连接线将继电器连在扩展板的P2端口

PYT

STEP4:将继电器开关拨至NO端

左拨开关至〃NO〃端

Tips:继电器上有一个开关,NO为断开,表示默认继电器状态为断开,需要程序写入一个低电平,控

制其闭合;NC为闭合,表示默认继电器状态为闭合,需要程序写入一个高电平,控制其断开。这里,

我们设定默认状态为断开。

3.软件编写

这里,我们依旧将先对Mind+编程软件进行设置,再编写Python程序。

软件设置:

STEP1:创建与保存python文件

新建一个python程序文件”任务二.py”,双击打开。

程序编写、运行及回顾:

STEP1:编写python程序

向上滑动阅览

importtime#导入时间库

importsiot#导入siot库

frompinpong,boardimportBoard,Pin#导入pinpong,board包中的Board,Pin模块

frompinpong,extension,microbitimport*#导入pinpong,extension,microbit包中的所有模

BoardCmicrobit,,).begin。#初始化,选择板型和端口号,不输入端口号则进行自动识别

water_levcl=Pin(Pin.Pl,Pin.IN)#初始化Pl引脚为电平输入模式

pump=Pin(Pin.P2,Pin.OUT)#初始化P2引脚为电平输出模式

SERVER=〃192.168.9.66〃#MQTT服务器IP地址

CLIENT.TD=〃〃#创建空消息队列

IOT_UserName='siot'#用户名

TOTPassWord='dfrobot'#密码

IOT_pubTopic=,microbit/005,#"topic”为“项目名称/设备名称”

siot.ir.it(CLIENT_ID,SERVER,user=IOT_UserName,password=IOT_PassWord)#初始化,确定输

入的用户名和密码正确

siot.connect。#连接

siot.loop()#循环

whileTrue:#永久循环

v=water_level.reacdigital()#读取引脚电平

print(v)#终端打印隹取的电平状态

siot.publish(TOTpubTcpic,v)#发送消息

ifv==0:#未检测到水,缺水

display,show(Image.SAD)#显示图案sad

pump.write_digital(0)#输出低电平,补水

else:#检测到有水

display,show(Image.HAPPY)#显示图案happy

pump.write_digital(1)#输出高电平,不补水

time,slecp(l)

STEP2:运行程序并观察效果

(I)将水泵浸没于满水的水桶(烧杯)之中

Tips:水泵不能空转,必须将黑色水泵头沉入水中,否则可能会烧毁硬件。

(2)将水管出水口插入鱼缸中。

(3)将12V电源开关插上220V电源插座

(4)将液位传感器贴在鱼缸外壁上,且在水位之上

(5)运行程序,观察软件终端和SIoT物联网平台

点击运行按钮,终端显示“连接成功”。之后始终显示数值“0",SIoT平台显示相同。

授・@湖徽出

[32]AxduinoFirmwareID:2.6DFRobotfiimata

[40]Retrievinganalogmap…

(42]Auto-discoverycomplete.Found26Di

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论