自学传感器之自动浇花系统-Arduino中文社区 - Powered by Discuz! Archiver

mogui 发表于 2018-8-23 13:48

自学传感器之自动浇花系统

设备:
        1、Arduino UNO R3        1个
        1.2、Shield 传感器扩展板V5.0        1个(可选)
        2、土壤湿度传感器                1个
        3、继电器                        1个
        4、微型潜水泵                1个
        5、杜邦线                若干

土壤湿度传感器输出值在 5V时,空气中AO读取的值最大 1023 ,最小值 0
线路连接请看配图
注:继电器 COM 与 UNO板 GND电源端子用线连接,COM,NO,NC是继电器的触点,是用来控制别的东西的
/**
* Copyright(C), 2018-2038, KenRobot.com
* FileName: 浇花项目.ino
* Author: 啃萝卜
* Create: 2018/08/23
* Modify: 2018/08/23
*/

int relay_0 = 11;
int soilHumidity_0 = A1;

void setup() {
    pinMode(relay_0, OUTPUT);
    Serial.begin(9600);
    pinMode(soilHumidity_0, INPUT);
}

void loop() {
    if (analogRead(soilHumidity_0) >= 700) {
      digitalWrite(relay_0, LOW);
      Serial.println(analogRead(soilHumidity_0));
      delay(2000);
    } else {
      digitalWrite(relay_0, HIGH);
      Serial.println("主人,我不渴啦!");
      Serial.println(analogRead(soilHumidity_0));
      delay(2000);
    }
}

宇之枫海云 发表于 2018-8-24 14:48

还有就是你这逻辑有问题啊!
analogRead(soilHumidity_0) >= 700)
湿度大于700,电机旋转,这不是浇花啊,这是抽水啊!应该是小于才行!:P

createskyblue 发表于 2018-8-23 14:22

不推荐直接使用这种泥土传感器到实际使用环境,之前用了3个月发现腐蚀了

mogui 发表于 2018-8-23 14:29

createskyblue 发表于 2018-8-23 14:22
不推荐直接使用这种泥土传感器到实际使用环境,之前用了3个月发现腐蚀了

可以尝试 新款 电容式 防腐蚀的土壤传感器,我用的这款是旧版。

宇之枫海云 发表于 2018-8-24 11:19

void setup() {
    pinMode(relay_0, OUTPUT);
    Serial.begin(9600);
    pinMode(soilHumidity_0, INPUT);
我问一下,pinMode(soilHumidity_0, INPUT);这行代码,不太明白。你这个湿度检测脚应该是接到了模拟输入A1上的。模拟还需要定义INPUT吗?只有数字脚才能这样定义吧,模拟脚的数字直接调用函数读就可以了!有空请回复一下!:)

mogui 发表于 2018-8-25 08:12

本帖最后由 mogui 于 2018-8-25 08:45 编辑

宇之枫海云 发表于 2018-8-24 11:19
void setup() {
    pinMode(relay_0, OUTPUT);
    Serial.begin(9600);

开发工具我用的是啃萝卜,有可能是我在测试时用的数字针脚导致的,改天我具体研究下

mogui 发表于 2018-8-25 08:40

本帖最后由 mogui 于 2018-8-25 08:46 编辑

宇之枫海云 发表于 2018-8-24 14:48
还有就是你这逻辑有问题啊!
analogRead(soilHumidity_0) >= 700)
湿度大于700,电机旋转,这不是浇花啊, ...
我的设想是水泵放在水盆中,当土壤湿度小于30%左右(干旱值大于等于700)时,水泵抽水通过软管放入花盆中进行浇花。

mogui 发表于 2018-8-25 08:56

土壤湿度值,湿度百分比,干旱百分比
1023,0%,100%
700,31%,69%
512,50%,50%
0,100%,0%
这是我的理解,不知可有更好的方法

宇之枫海云 发表于 2018-8-27 10:22

:victory::handshake嗯!我照抄了你的代码,发现大于的话,没有动作!改成小于后就完全正常了!再次感谢!

mogui 发表于 2018-8-27 13:12

宇之枫海云 发表于 2018-8-27 10:22
嗯!我照抄了你的代码,发现大于的话,没有动作!改成小于后就完全正常了!再次感谢! ...

你用的是 DO 还是 AO ?我试了一下,DO的是需要修改,AO的不用。我用的是 AO口。
页: [1] 2
查看完整版本: 自学传感器之自动浇花系统