2020-9-22 13:03:49 [显示全部楼层]
5111浏览
查看: 5111|回复: 7

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

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

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

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

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

=============
[mw_shl_code=applescript,false]/*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);
}
}
[/mw_shl_code]

汤果  初级技神

发表于 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版主速度,赞
回复

使用道具 举报

sh50  学徒

发表于 2022-3-2 15:37:55

跟着学跟着做
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail