APP下载

海水水族箱盐度自动调节系统(三)

消息来源:baojiabao.com 作者: 发布时间:2024-05-19

报价宝综合消息海水水族箱盐度自动调节系统(三)

经过硬件接驳,以及理解海水水族箱里的盐度知识后,今期余下程式设计的部分。大家不要以为此部分很艰难,因为传感器的基础程式已有,大家只要稍作修改就可使用。

我们会先到传感器的官方网站下载程式码,然后启动 Arduino 加以编译就可使用。

Step 1

利用 Arduino 编程以使用 Vernier 传感器的各种 Sketches 程式码,可于 Vernier 公司的网站下载。

Step 1:利用 Arduino 编程以使用 Vernier 传感器的各种 Sketches 程式码,可于Vernier 公司的网站下载。

网址:https://www.vernier.com/engineering/arduino

Step 2

首先下载传感器适用的 Sketch 程式码,也就是 Arduino 的程式。再利用 Arduino IDE 开发环境修改。因每种传感器的“Intercept”(拦截)及“Slope”(斜率)的值皆不一样,需根据传感器规格中列明的值作出修改。

把继电器连接到 Arduino UNO 的数位脚是 12(D12),于程式的设置(setup)中把数位脚 12 定为输出模式。

接着到程式运作,主要不断地呼叫的部分(loop),当中分为两部分:
① Sketch 中已编好 Arduino UNO 底板会从传感器,传来的原始数据换算成正确读数(盐度);设定“SensorReading”变量回传所测试出的盐度。
② “freshwaterpump()”是我们自行编写的一个程式码模组,亦是这程式主要运行的部分之一。

我们利用了“if⋯else”的编程概念,去决定水泵的开关。如果(if)盐度感测器测出的数值附合预设条件,程式便指示水泵开动;但在所有其他情况下(else),程式均会示水泵停止。
① 设定的条件是当盐度读数大于或等于 36ppt 时,程式指示水泵开动。程式会指示 Arduino Uno 的数位脚 12(D12)输出高电压(HIGH),如此会令继电器把水泵的电源接通,水泵就会开动。
② 当淡水加进水族箱后,需要一定时间才能与海水完全混合,所以我们于加入一定分量的淡水后,必须让海水的盐度有足够的时间稳定下来,然后才作第二次的量度及操作。我们会利用“delay”这个延时指令去处理这情境,然后用“digitalWrite(12,HIGH);”、“delay(10000);”和
“digitalWrite(12,LOW);”三组指令,让水泵开动加入淡水 10,000 毫秒(即 10 秒)后停止。
③ 接着我们利用“delay(30000);”指令,提供 30,000 毫秒(即 30 秒)的时间,让淡水与海水有充份时间完全混合,才开始下一次的量度及操作。(注:水泵开动和等待下一次量度的时间,需因应水族箱内水体的大小作调节。)

程式码并不复杂,仅34行左右。同学们只要理解当中每一个原则,就可按需要而设计及改动。

Step 2:程式码并不复杂,仅 34 行左右。同学们只要理解当中每一个原则,就可按需要而设计及改动。

完成图

利用此装置就能时刻确保海洋生态水族箱内的海水盐度,维持在一个稳定的水平,这对养殖海洋生物会十分便利及安全。

利用此装置就能时刻确保海洋生态水族箱内的海水盐度,维持在一个稳定的水平,这对养殖海洋生物会十分便利及安全。

2017-12-24 11:15:00

相关文章