Я использую Arduino Nano (с RasPi для отправки в Thingspeak). Он измеряет разные вещи в моем офисе, темп, гул, CO2 и поливает мое растение. : -)
У меня небольшая проблема с моим кодом для полива растений.
Вот что я хочу сделать:
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 репо: https://github.com/pkold/Self-watering-plant-system