Arduino-我需要修改代码以插入延迟
我正在运行Arduino Nano(带一个RasPi发送给Thingspeak)。它可以测量我办公室里不同的东西,温度、嗡嗡声、二氧化碳,还可以给我的植物浇水。:-) 我的植物浇水代码有一个小问题 以下是我希望它做的事情:Arduino-我需要修改代码以插入延迟,arduino,Arduino,我正在运行Arduino Nano(带一个RasPi发送给Thingspeak)。它可以测量我办公室里不同的东西,温度、嗡嗡声、二氧化碳,还可以给我的植物浇水。:-) 我的植物浇水代码有一个小问题 以下是我希望它做的事情: Loop Measure Soil moisture If > 60 run pump for 2 seconds Delay 180 seconds (this delay goes for all sensors)
Loop
Measure Soil moisture
If > 60 run pump for 2 seconds
Delay 180 seconds (this delay goes for all sensors)
Loop
Measure Soil moisture
If > 60 run pump for 2 seconds
我有个问题!这就是代码的实际功能:
Loop
Measure Soil moisture
If > 60 run pump for 2 seconds
Delay 180 seconds (this delay goes for all sensors)
Loop
Measure Soil moisture
If > 60 run pump for 2 seconds
这意味着它只是不断地浇水,比水吸收水的速度快得多
请帮我把耽搁的时间安排好
谢谢。:-)
这是我正在运行的代码:
void loop()
{
int temp = 0, hum = 0, moist = 0, level = 0, co2_ppm = 0;
moist = read_soil_moisture(soil_pin);
temp = read_temp();
hum = read_humidity();
level = read_water_level(water_pin);//reads water level
co2_ppm = CO2_PPM();
//print_sensor(hum, temp, moist, level,co2_ppm);
temp = read_temp();
if (temp >= 3)
{
temp -= 3;
}
else
{
temp = 0;
}
log_sensor(hum, temp, moist, level, co2_ppm); //prints values of sensors to UART
if (moist > 60)
{
digitalWrite(pump, LOW);//Setting relay pin high
delay(2000);//keeps relay pin high for 2 seconds
digitalWrite(pump, HIGH);//Setting relay pin low
}
else
{
digitalWrite(pump, HIGH);//keep relay pin low
}
delay(180000);//take a reading every 180 seconds
Github repo:当水分传感器完全干燥且完全暴露在水中时,您是否有水分传感器的读数? 当我看你的github回购协议时,水分值是一个百分比,它随着水分的增加而增加。
当湿度已经超过60时打开泵只会增加传感器值。当湿度传感器完全干燥且完全暴露在水中时,您是否有湿度传感器的读数? 当我看你的github回购协议时,水分值是一个百分比,它随着水分的增加而增加。
当湿度已经超过60时,打开泵只会增加传感器值。泵是否从不停止,或者延迟是否刚好小于180秒?您可以尝试编写
180000L
,这样编译器就不会将其转换为int(并且它喜欢将每个数字转换为int;))好吧,情况是一切正常,所有传感器每180秒读取一次。但是,当土壤湿度传感器读数>60时,泵运行2秒,停止,运行2秒,以此类推。。。我之所以停止,是因为电厂溢流,但我认为当读数为时,它将停止。为什么当您将输出设置为低时,您的评论会说高,反之亦然?它是否从未停止泵送,或者延迟是否仅小于180秒?您可以尝试编写180000L
,这样编译器就不会将其转换为int(并且它喜欢将每个数字转换为int;))好吧,情况是一切正常,所有传感器每180秒读取一次。但是,当土壤湿度传感器读数>60时,泵运行2秒,停止,运行2秒,以此类推。。。我停止它是因为植物溢出,但我假设它会在读数时停止,这就是为什么当你将输出设置为低时,你的评论会说高,反之亦然?嘿,弗雷德,我使用格罗夫传感器,它在干燥时读数高,潮湿时读数低。实际上,现在一切都很好。:-)你可以在这里查看读数。谢谢你的参与。嘿,弗雷德,我用的是格罗夫传感器,干燥时读数高,潮湿时读数低。实际上,现在一切都很好。:-)你可以在这里查看读数。谢谢你的参与。