查看: 169|回复: 6

[土壤湿度传感器] 土壤湿度传感器测试-arduino篇

[复制链接]
引言:
土壤传感器大家都用过,可是在实际应用中普遍发现老版的传感防水差,易氧化等问题,这次终于期盼到了新版防水土壤传感。感谢DF团队提供的这个测试机会。主控呢用的是Arduino 迷你,arduino做的各种应用广泛被开源硬件爱好者喜欢。这次的项目利用了RGB灯和蜂鸣器来反应植物的情绪,例如缺水,湿润等,达到互动娱乐性。 相关视频展示如下:
SOIL.jpg
第一步:展示内容
将传感放入水中后,传感相连的RGB灯则变色,变成紫红色。出水则报警和变回灰色。
第二步:代码要点
先用串口的代码来找到传感在空气和水中的值,然后把这个值做一个简单的运算。得到精确的临界值。
第三步:硬件搭建
所需器材:A rduino mini控制器(2);DF的防水土壤传感器(3);5V蜂鸣器(4);5v
锂电池;(5);USB数据线;(6);DF的RGB灯板

第四步:了解一下关键硬件的参数
根据测试,土壤传感的灵敏度很好,没有延迟,

第五步:
发一些硬件的图片。让人有个直观的认识
IMG_20200921_141907_已压缩.jpg
IMG_20200921_141937_已压缩.jpg
IMG_20200921_141948_已压缩.jpg
第六步:总体概括
项目用RGB灯和Buzzer来反应出土壤传感的回传值。这个值和你插入土中的传感的深度相关。这里我插入的是传感的三分之一,那么我是从这个点取值,即400.展现的结果是传感遇水则发出红紫色,缺水则用Buzzer发警告,同时RGB灯的颜色变灰。具体参见视频。
第七部:连线图
连线图如下:
wiring.png
第八部:代码部分的设计

[AppleScript] 纯文本查看 复制代码
  void setup() {[/align]      Serial.begin(9600); // open serial port, set the baud rate to 9600 bps
    }
    void loop() {
      Serial.println(analogRead(A0)); //connect sensor and print the value to serial
      delay(100);
    }

先用上面的代码测出你的传感的干湿范围。
我取的是600空气值和400水湿度.你可以参考一下产品WIKI的描述
=============
记录传感器放置在空气中时读到的模拟值,代表干燥时的读数。由于空气中的湿度不同,该
数值区间一般在520-640之间。
将传感器插入水中一定深度,深度推荐在"Recommend Depth"之间,不要超过板子上
的"Warning Line"。待传感器反馈数值为0时,代表100%湿度的读数,此时根据传感器上的刻
度,记录读到的深度值,在土壤中使用时,也推荐插入至该深度值。

=============
[AppleScript] 纯文本查看 复制代码
/*This sketch is created by gada888*/
 
const int AirValue = 600; //you need to change this value that you had recorded in t
const int WaterValue = 400; //you need to change this value that you had recorded in th
int intervals = (AirValue - WaterValue)/3;
int soilMoistureValue = 0;
 
int RLed = 2;
int GLed = 3;
int BLed = 4;
 
 int piezoPin = 8; 
 int pitches[] = {523, 587, 659, 698, 784};
 int numPitches = 5;
  
void setup(){
  Serial.begin(9600);
 
  pinMode(RLed, OUTPUT);
  pinMode(GLed, OUTPUT);
  pinMode(BLed, OUTPUT);
}
void loop(){
  soilMoistureValue = analogRead(A0); //put Sensor insert into soil
if(soilMoistureValue > WaterValue && soilMoistureValue < (WaterValue + intervals))
{
Serial.println("Very Wet");
    digitalWrite(RLed, LOW);
    digitalWrite(BLed, LOW);
    digitalWrite(GLed, HIGH); //Green LED
}
else if(soilMoistureValue > (WaterValue + intervals) && soilMoistureValue < (AirValue - intervals))
{
Serial.println("Wet");
    digitalWrite(RLed, LOW);
    digitalWrite(BLed, LOW);
    digitalWrite(GLed, HIGH); //Green LED
}
else if(soilMoistureValue < AirValue && soilMoistureValue > (AirValue - intervals))
{
Serial.println("Dry");
    digitalWrite(RLed, HIGH);
    digitalWrite(BLed, LOW); //Blue LED
    digitalWrite(GLed, LOW);
    int i;
   for( i=0; i<numPitches; i++){
   tone(piezoPin, pitches, 200);
   delay(200);
}
delay(100);
}
}

汤果  高级技匠

发表于 2020-9-22 13:22:18

这个灯条还可以这样用,太酷了!
回复

使用道具 举报

hnyzcj  版主

发表于 2020-9-22 15:31:43

汤果 发表于 2020-9-22 13:22
这个灯条还可以这样用,太酷了!

那是他这样用的,哈哈哈
回复

使用道具 举报

汤果  高级技匠

发表于 2020-9-22 16:13:16

hnyzcj 发表于 2020-9-22 15:31
那是他这样用的,哈哈哈

超大号颜色指示剂,创意满分!
回复

使用道具 举报

rzyzzxw  版主

发表于 2020-9-22 21:14:23

传感器好评
回复

使用道具 举报

gada888  版主
 楼主|

发表于 2020-9-24 07:51:53

汤果 发表于 2020-9-22 16:13
超大号颜色指示剂,创意满分!

多谢支持
回复

使用道具 举报

gray6666  初级技神

发表于 2020-9-25 16:21:51

l版主速度,赞
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2020 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail