Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define TIME_PUMP_ON 5000 //Время работы помпы за один цикл
- #define TIME_TO_WAIT 1000 * 60 * 1 //Таймаут между циклами
- #define GROUND_DRY 300 // Значение сенсора, когда земля сухая
- #define SENSOR_NUMBER 3 // Количество датчиков
- #define PUMP_NUMBER 3 // Количество помп
- int sensor_pin[8];
- int pump_pin[8];
- // результат измерения влажности
- int moisture;
- // Включить помпу на пине n на t миллисекунд
- void pump_cycle(int n, int t) {
- digitalWrite(n, HIGH);
- delay(t);
- digitalWrite(n, LOW);
- }
- // Проверяем влажность на датчике подключенном к пину n
- int check_moist(int n) {
- return analogRead(n);
- }
- void setup()
- {
- // Serial.begin(9600);
- sensor_pin[0] = A0;
- sensor_pin[1] = A1;
- sensor_pin[2] = A2;
- sensor_pin[3] = A3;
- sensor_pin[4] = A4;
- sensor_pin[5] = A5;
- sensor_pin[6] = A6;
- sensor_pin[7] = A8;
- pump_pin[0] = 2;
- pump_pin[1] = 3;
- pump_pin[2] = 4;
- pump_pin[3] = 5;
- pump_pin[4] = 6;
- pump_pin[5] = 7;
- pump_pin[6] = 8;
- pump_pin[7] = 9;
- // установка режима работы пинов для датчиков влажности
- for (int sensorN = 0; sensorN < SENSOR_NUMBER; sensorN++) {
- pinMode(senor_pin[sensorN], INPUT);
- }
- // установке режма работы пинов для помп.
- for (int pumpN = 0; pumpN < PUMP_NUMBER; pumpN++) {
- pinMode(pump_pin[pumpN], OUTPUT);
- digitalWrite(pump_pin[pumpN], LOW);
- }
- }
- void loop()
- {
- for (int i = 0 ; i < PUMP_NUMBER; i++) {
- moisture = check_moist(sensor_pin[i]);
- if (moisture > GROUND_DRY) {
- pump_cycle(i, TIME_PUMP_ON);
- }
- }
- delay(TIME_TO_WAIT);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement