董铮,等:水产养殖监测系统设计与实现 畜牧·水产 水产养殖监测系统设计与实现 董铮,张其林,项东升 (湖北文理学院数计学院,湖北裹阳441053) 【摘幕】社会的进步与发展,带动单片机技术惠及至农业生产生活的各个领域,用单片机作为生产生活的辅助帮手也 已经成为一种趋势。构建了以Arduino控制板为核心的水产养殖监测系统,该系统可以对实时水产养殖进行监测,具有灵 敏度高、功耗低等优点,满足了当前水产养殖中对水质监测的需求。 【关键词】Arduino控制板;水产养殖;监测 【中图分类号】¥951;TP277_2 【文献标识码】A . 我国水产养殖业随着人们的需求不断发展,带来水产养殖 Arduino控制板。浊度传感器主要利用光学原理,通过对水的 数量的激增,而由此带来的高密度养殖方式对鱼塘的水质造成 透光率及散射率来判断水质情况。传感器内部是红外线对管, 很大的养殖污染,使水体自身净化能力变得相对较弱,带来水 当发射管发射一定量光线通过水后,由接收管接收,水越浑浊, 体富营养化趋势比较明显。原始的水塘监控主要靠人为经验操 通过的光就越少。通过调节模块上电位器大小选择合适阈值作 控,效率低下。十三五规划提出要靠创新驱动,发挥科技的乘 为警戒水质,当水质达到此临界值,传感器模块输出高电平。 数效应来带动现代亿农业技术,促进小康社会的全面建成。因 控制板通过监测该电平变化,即可知道水质超标,联动水泵运 此,发展先进的农业技术对我国至关重要。为了解决现有的农 行。 业水产养殖造成的困境,提出基于以Arduino控制板为核心的 单片机水情监测系统。 1 系统总体硬件设计 本系统采用以Ardtlino控制板为控制核心。该控制板是基 于开放源代码的接口板,宦包括l2通道数字GP[O、6组PWM 通道输出和6 8通道的10 bitADC输入通道,它的核心是一 片AVRmega168的单片机。整个系统主要由各传感器(水位传 感器)、水泵、太阳能供电模块组成,其设计整体方案见图1。 ,戈煳 图2软件流程图 温度传感器采用DS18B20作为温度监测模块,温度数值在 上位机上显示,其通信协议是wire协议,通信时只需将数据引 图1 系统硬件设计图 脚与控制板连接即可。PH一计传感器首先要对其进行校正,数 其中水位传感器可使用多条导线与水的导通来测量不同 值比较准确的使用有利于对水体做精确控制。使用时用标准缓 深度的水位,可将水位分为4层,分别代表满水位、75%、 冲溶液校正,环境温度以25 ̄C为标准值。同时为保证精度一致 25%、0水位,当水位到达某一深度,导通导线触发高电平给 [收稿日期]2017—11-20 [基金项目]霸北省普通高等学校入文社科重点研究基地专项基金资助项目(编号:2017JDY001)鄂北区域发展研究中心项目资助的部分成果。 [作者简介]董铮(198O一),男,湖北襄阳人,讲师,研究方向:嵌入式系统。 一77— 畜牧·水产 农村经济与科技2018年第29卷第03期(总第431期) 性,需要定期校准,以防止有较大误差。若水塘杂质较多,建 议6个月做一次重新校准。采用APC无线传输模块,该模块是 高度集成半双工微功率无线数据传输模块,其嵌入高速单片机 和高性能射频芯片ADF7020—1。采用高效的循环交织纠检错编 码,抗干扰和灵敏度都大大提高,最大可以纠正24bits连续突 发错误,达到业内的领先水平。APC220模块提供了多个频道 的选择,可以在线修改串口速率、发射功率、射频速率等各种 特征参数。工作时将其插在USB转串口模块上 再将模块插入 计算机usb口及Arduino控制板上即可进行远程数据的采集与 发送。为使系统稳定,采用9600波特率,工作频段434Mhz。 从数据采集的频率考虑,系统供电采用太阳能电池为主, 市电为辅的供电机制。系统采集数据主要从太阳能及蓄电池供 电,水泵抽换水采用市电。 2系统软件设计 系统软件设计的主要任务是实现数据在arduino控制板中 的收集与发送及水泵的开关控制(见图2)。 系统采用基于processing IDE的开发环境,直接写入代码 即可,其典型代码如下: int n=analogRead(A3); int m=analogRead(A2); int p=analogRead(A0); int q=analogRead(A1); if((n<1)or(q<1)) f digitalWrite(8,LOW); //水泵A的制动 digitalWrite(4,HIGH); //采用全功率输出 digitalWrite(15,HIGH); //设置方向为正向 ) else { digitalWrite(8,HIGH); //电机A的制动 digitalWrite(4,HIGH); //采用全功率输出 digitalWrite(15,HIGH); //设置方向为正向 } if((n>=1)and(m<1)and(p<1)and(q<1)) { lcd.clear(); lcd.print(“Deelp:”); lcd.print(“0%”); lcd.setCursor(0,1); 一78一 lcd.print(“Temperature:”); lcd.print(temperature); delay(900); lcd.clear(): lcd.print(voltage); lcd.setCursor(0,1); lcd.print(“PH:”); delay(900); if((n>=1)and(m>=1)and(p>=1)and(q>=1)) { lcd.clear(); lcd.print(“Deelp:”): lcd.print(“100%”); lcd.setCursor(0,1); lcd.print(“Temperature:”); kd.print(temperature): delay(900); lcd.clear(); lcd.print(“clean:”): lcd.print(voltage); led.setCursor(0,1); lcd.print(“PH:”); lcd.print(pHValue,2); delay(800); } else 3 结语 本文基于Arduino控制板设计一套水产养殖监测系统。该 系统通过各传感器获取水温、水深及水浑浊度等各项水情指标, 并利用无线数传模块将数据及时上传给上位机,实现数据的远 程监测。试验结果表明该系统运行稳定,可大大减轻相关人员 工作量。 【参考文献】 [1]温宗周,豆朋达,钱佳佳,等.基于ZigBee的智能灌溉系统设计[J】 .单片机与嵌入式系统应用,2016,16(11):38—42. [2]董铮.一种新型无线测温系统设计[J】.江苏农业科学,2012,40 (07):373—374. [3]王义乐.无线通信技术在起重机智能超载器中的应用[J].计算 机与数字工程,2016,44(01):176—179.