养多肉的帮手 arduino 土壤湿度计-Arduino中文社区 - Powered by Discuz! Archiver

leisd 发表于 2016-9-21 14:33

养多肉的帮手 arduino 土壤湿度计

我今年开始迷上养肉肉了,可夏天死了一大半:有的水多了而烂根,有的水少了干死了。
后来才想起利用arduino测土壤温度,就少有肉肉死去了-----也可能气温有下降一点吧。
成品如下,总成本才十多块钱。程序如下。

int ASignal = A6;
int val=0;
int ledPins[] = {11,9,7,5,3,4,6,8,10};    // 对应的led引脚

void setup() {
    Serial.begin(9600);
    pinMode(ASignal, INPUT);   
pinMode(ledPins, OUTPUT);   
digitalWrite(ledPins,LOW);
}

void loop() {
/*
val=analogRead(A6);   //val值从potPin信号口读取
Serial.print("Moisture Sensor Value:");
Serial.println(val);      
delay(100);//延时1S
*/

int sensorValue = analogRead(ASignal);   

if(analogRead(ASignal) >=900)
{
   digitalWrite(11, HIGH);
   delay(10);
   digitalWrite(11, LOW);
   delay(10);
}

   if(analogRead(ASignal) <900&& analogRead(ASignal) >=807 )
{
   digitalWrite(9, HIGH);
delay(10);
   digitalWrite(9, LOW);
   delay(10);
}

   if(analogRead(ASignal) <807&& analogRead(ASignal) >=714 )
{
   digitalWrite(7, HIGH);
    delay(10);
   digitalWrite(7, LOW);
   delay(10);
}

   if(analogRead(ASignal) <714&& analogRead(ASignal) >=621 )
{
   digitalWrite(5, HIGH);
    delay(10);
   digitalWrite(5, LOW);
   delay(10);
}

   if(analogRead(ASignal) <621&& analogRead(ASignal) >=528 )
{
   digitalWrite(3, HIGH);
    delay(10);
   digitalWrite(3, LOW);
   delay(10);
}

   if(analogRead(ASignal) <528&& analogRead(ASignal) >=435 )
{
   digitalWrite(4, HIGH);
    delay(10);
   digitalWrite(4, LOW);
   delay(10);
}

   if(analogRead(ASignal) <435&& analogRead(ASignal) >=342 )
{
   digitalWrite(6, HIGH);
    delay(10);
   digitalWrite(6, LOW);
   delay(10);
}

   if(analogRead(ASignal) <342&& analogRead(ASignal) >=249 )
{
   digitalWrite(8, HIGH);
    delay(10);
   digitalWrite(8, LOW);
   delay(10);
}

   if(analogRead(ASignal) <249 )
{
   digitalWrite(10, HIGH);
    delay(10);
   digitalWrite(10, LOW);
   delay(10);
}

}

就是将测试片不插入水或土壤时的阻值设定为第一个LED亮,将测试片完全插 水时的阻值设定为最后一个LED亮,其间的阻值均分为九段分别对应一个LED。


别外说明一点:用了这个arduino土壤温度计才真正认识到一个惊人的常识:种肉养花要用雨水。
如最后的照片所示,雨水的阻值不到自来水的一半。
当初我调试程序时用的是桶装水(用电烧水壶滚过的),插入测试片时设定为最后一个LED亮,但后来将测试片完全插雨水测却只是正中的那个LED会亮。如果是自来水,测试片插入一点点也是最后一个LED亮.


后来又买了小米花花草草检测仪,用了一次就不用了-----如后面照片所示:测试点太大拔出来的会将土拉出来(测试点厚4.6mm,而PCB厚不到1.6mm)

iupoyterwq 发表于 2016-12-9 21:41

应用于生活!好棒!

幸福8快乐 发表于 2016-12-13 19:53

加个水泵自动调节会不会更好一点呢

leisd 发表于 2016-12-14 08:21

幸福8快乐 发表于 2016-12-13 19:53
加个水泵自动调节会不会更好一点呢

没必要,多肉平均一两个月才能加一次水------即:不怕土干、就怕水多。
如果是其它花草倒是可以加水泵的。

frankbrown 发表于 2016-12-15 13:00

楼主留个qq,我也想做这个但是那个测针的pcb有点问题想问一下

frankbrown 发表于 2016-12-15 13:13

或者楼主加下我qq:2521958039
谢谢了,

淹死的大白鲨 发表于 2017-4-17 09:56

楼主你这个传感器的VCC接的是多少伏的?

leisd 发表于 2017-4-24 08:14

淹死的大白鲨 发表于 2017-4-17 09:56
楼主你这个传感器的VCC接的是多少伏的?

USB供電的,5V

leisd 发表于 2017-4-24 08:17

frankbrown 发表于 2016-12-15 13:00
**** 作者被禁止或删除 内容自动屏蔽 ****

是不是取消了模块的比较器部分、而没在VCC之间加10K的电阻?

飞将军 发表于 2017-5-22 00:08

点赞!动手是最好的学习!
页: [1] 2
查看完整版本: 养多肉的帮手 arduino 土壤湿度计