项目——作物环境检测采集站

功能介绍:此设备用于采集土壤湿度、空气干湿度、气温、光照强度,通过SD卡存储所采集的数据,可将数据输入excel、matlab进行数据分析,从而寻找最利于作物生长的生长环境.。

后期计划增加K离子传感器、采用yeelink将数据采集至平台形成实时监控。

原件清单:

1.arduino uno增强版(就是引脚旁边可以自己焊接上排针的那种)*1,19.9元

2.dht11温湿度传感器(也可买精度更高的dht22)*1,8.8元

3.GY-30光照传感器*1,9.9元

4.LCD1602屏幕*1,8.8元

5.10uF电容*1

6.100欧电阻*1

7.电位器*1,1元

8.SD卡模块*1,4.9

9.公母线、杜邦线*图片上那么多,5元吧

10.面包板*1,5.9

总价:64.2元

实物图:


接线图:


源代码:

#include <LiquidCrystal.h>
#include <Wire.h> 
int ASignal = A0;
LiquidCrystal lcd(12,11,5,4,3,2); 
#include <dht11.h>
dht11 DHT11;
#define DHT11PIN 7
#define ADDR 0b0100011


void setup()

pinMode(ASignal, INPUT);
Serial.begin(9600);
lcd.begin(16,2);

Wire.begin();
pinMode(13, OUTPUT);
Wire.beginTransmission(ADDR);
Wire.write(0b00000001);
Wire.endTransmission();
}

Serial.println("\n");
int chk = DHT11.read(DHT11PIN);
Serial.print("read sensor");
switch(chk)
{
case DHTLIB_OK:
Serial.println("OK");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.println("Checksum error");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.println("Time out error");
break;
default:
Serial.println("Unknown error");
break;
}
Serial.print("Humidity(%):");
Serial.println(DHT11.humidity);
Serial.print("Temperature(oC):");
Serial.println(DHT11.temperature);int sensorValue = analogRead(ASignal); 
Serial.print("soil exploration=");
Serial.println(sensorValue);
int val = 0;
// reset
Wire.beginTransmission(ADDR);
Wire.write(0b00000111);
Wire.endTransmission();
digitalWrite(13, LOW);
delay(100);
Wire.beginTransmission(ADDR); 
Wire.write(0b00100000); 
Wire.endTransmission(); 
// typical read delay 120ms
delay(120);
Wire.requestFrom(ADDR, 2); // 2byte every time
for (val=0; Wire.available()>=1; ) {
char c = Wire.read();
//Serial.println(c, HEX);
val = (val << 8) + (c & 0xFF);

val = val / 1.2;
Serial.print("lx: ");
Serial.println(val); 
Serial.println("OK");
digitalWrite(13, HIGH);
delay(100);

lcd.print("SH:");
lcd.setCursor(3,0);
lcd.print(sensorValue);
lcd.setCursor(8,0); 
lcd.print("TEMP:");
lcd.print(DHT11.temperature);
lcd.setCursor(0,1); 
lcd.print("LX:");
lcd.print(val);
lcd.setCursor(8,1);
lcd.print("AH:");
lcd.print(DHT11.humidity);

delay(3000);
lcd.clear();
}

说明书:

一、总体概述

装置分为6个部分,空气湿度、空气温度、土壤湿度、光照强度、SD卡,LCD屏。

二、温湿度检测模块

使用DHT11,相关参数如下:


由于添加了滤波电路,精度应该会有所提高。

三、土壤湿度传感器

未接触测量之前的显示应该为1022或者1023,这个值代表的是工作正常,将传感器插入土壤中即可使用,数字会变小。

需要特别注意的是传感器的DO口不接线。

四、光照传感器

光照传感器的读数在接电后前三秒是0,这是串口的初始化,三秒后可正常工作。传感器已标定,显示的数值代表国际单位制的光照强度流明(LX),其物理意义是:LX,照度的国际单位(SI),又称米烛光。1流明的光通量均匀分布在1平方米面积上的照度,就是一勒克斯。可以标作勒[克斯],简称勒。英为lux,简作lx 。

需要注意的是光照强度传感器的采集器是在外端黑色六引脚的贴片上,正常使用时,贴片不可被遮挡。

五、LCD屏

LCD屏幕加上了变阻器来控制屏幕的亮度,如果显示数字不清楚,可以通过调节变阻器来调节电压使其显示更清楚:

LCD屏幕显示的数据如下:


下面对数值进行说明:

SH(soil humidity,土壤湿度)

TEMP(temperature,温度),单位摄氏度

LX(illumination intensity,光照强度),这里直接用单位命名了。

AH(air humidity,空气湿度)

六、SD卡模块

SD卡模块目前还没有写代码,后期通过SD卡采集的数据可以导入excel进行处理。


接下来要做的事:

  1. 标定各个传感器
  2. 加入事件模块
  3. 编写SD卡代码
  4. 加入休眠功能,20分钟采集一次数据,6个小时存储一次数据
  5. 加入yeelink
  6. 将监测站进行封装




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值