
На данный момент разработано множество различных модулей и датчиков, на основе которых можно легко построить домашнюю систему полива на ардуино. В данной статье мы рассмотрим проект «Автоматический полив на ардуино».
Обратите внимание, здесь и далее мы будем рассматривать не коммерческий проект, а опытный образец. Далее его можно дополнять и развивать.
Описание системы полива
Определимся с техническим заданием на проект.
- Управлять будем с помощью платы ардуино;
- Для полива будем использовать помпу/насос на 5В;
- Использовать данную систему будем для полива домашнего цветка;
- Вывод необходимых данных будем производит на экран.
- Время полива составляет 10 секунд, а время ожидания — 15 с. Данное время меняется в скетче и выбрано для демонстрации работы системы.
Подбор комплектующего
Определившись с техническим заданием, необходимо подобрать модули и датчики для работы всей системы полива.
В проекте будем использовать отладочную плату Arduino Mega 2560 R3. Выбрал ее, так как она имеет достаточно большое количество портов ввода вывода. При необходимости расширения проекта и добавления новых модулей наличие свободных портов будет диктовать свои условия.
Для прокачки воды выбрал погружной насос от компании Pixiuonline DS766b с рабочим напряжением 5В.
Далее добавим в проект реле для подключения насоса к плате ардуино. Можно, конечно, и напрямую, но так как у насоса относительно большой ток потребления, чтобы не сжечь ножки порта, лучше подключить через реле. Возьмем модуль реле SRD-05VDC-SL-C.
Выводить все будем на LCD экран Nokia 5110. Так же необходимо питать нашу систему от отдельного блока питания, так как питание от USB не вытягивает нагрузку по току и система перезагружается. По этому добавим адаптер питания на 9В и модуль преобразователя. Все ссылки на компоненты будут в конце статьи.
Наименование | Количество | Назначение |
Arduino Mega 2560 R3 | 1 | Управляет всех системой |
Насос Pixiuonline DS766b | 1 | Качает воду для полива |
Реле SRD-05VDC-SL-C | 1 | Подключает насос к плате ардуино |
LCD Nokia 5110 | 1 | Выводит данные о поливе |
Адаптер питания 9В | 1 | Запитывает систему |
Соединительные провода | 20шт | Используются для соединения модулей |
Описание компонентов системы полива
Arduino Mega 2560 R3
Отладочная плата ардуино на базе микроконтроллера ATMega2560. Ниже приведены краткие
- Напряжение питания: 5В;
- Рекомендуется использовать напряжение 7-12В;
- Имеет 54 порта ввода-вывода. 15 из них предназначены так же для PWM (ШИМ);
- Аналоговых входов: 16;
- Максимальный ток на один вывод 40 мА;
- Flash-памяти 256 КБ;
- Загрузчик использует 8КБ;
- SRAM 8 КБ;
- EEPROM 4 КБ;
- Тактовая частота кварцевого резонатора 16 МГц.
Насос Pixiuonline DS766b
- Напряжение питания 3-5В;
- Прокачка воды 80-100 л/ч;
- Имеет 2 провода подключения. Питание VCC и земля GND.
Nokia 5110
LCD дисплей размером 84 на 48 точек. Полная информация о работе с дисплеем находится на этой странице.
Модуль реле SRD-05VDC-SL-C
Реле имеет три контакта на подключение к ардуино.
- VCC — напряжение от 3В до 5В;
- GND — земля;
- Управляющий сигнал (S) — цифровой выход контроллера.
Более подробно о реле читайте на этой странице.
Cхема системы полива на ардуино

Описание и исходный код программы
#include <Nokia_LCD.h> #include "Small_LCD_Fonts.h" #define Pompa_PIN 51 #define TimerWork 10 #define TimerNotWork 15 bool flag_Work = false; static const char platis_solutions_logo[504] PROGMEM = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x8C, 0x4E, 0x3F, 0x0F, 0x0F, 0x3F, 0x4E, 0x8C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xFC, 0xFE, 0x20, 0x30, 0x1C, 0x0E, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0C, 0x10, 0x20, 0xFE, 0xFC, 0xF0, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x01, 0x01, 0x71, 0x71, 0x71, 0x03, 0x0E, 0xFC, 0x60, 0x00, 0x03, 0x1F, 0x7D, 0xE3, 0x1E, 0x3E, 0xCF, 0x71, 0x1F, 0x03, 0x01, 0x0F, 0x0D, 0xFD, 0xFD, 0x01, 0xFD, 0xFD, 0x0D, 0x0F, 0x00, 0x03, 0x0F, 0x3D, 0xE3, 0xDE, 0x3C, 0xCF, 0xF1, 0x3F, 0x0F, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x3F, 0x02, 0x04, 0x08, 0x30, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x70, 0x38, 0x0C, 0x06, 0x7F, 0x3F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0x80, 0xF8, 0x08, 0xF8, 0x84, 0xBE, 0xF3, 0x00, 0x80, 0xF0, 0xF8, 0x8E, 0xF3, 0x3C, 0x3C, 0xF3, 0xCE, 0xFC, 0xF0, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xC0, 0xF8, 0x8E, 0xF7, 0x79, 0x3E, 0x79, 0xC7, 0xBC, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x31, 0x72, 0xFC, 0xF0, 0xFC, 0x7E, 0x71, 0x31, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; unsigned int Counter = 0; Nokia_LCD lcd(8 /* CLK */, 9 /* DIN */, 10 /* DC */, 11 /* CE */, 12 /* RST */, 7 /* BL */); void setup() { pinMode(Pompa_PIN, OUTPUT); digitalWrite(Pompa_PIN, LOW); // Initialize the screen lcd.begin(); // Turn on the backlight lcd.setBacklight(true); // Set the contrast lcd.setContrast(60); // Good values are usualy between 40 and 60 // Clear the screen by filling it with black pixels lcd.clear(true); delay(2000); lcd.draw(platis_solutions_logo, sizeof(platis_solutions_logo) / sizeof(platis_solutions_logo[0]), true); delay(3000); // Clear the screen by filling it with white pixels lcd.clear(); lcd.setCursor(0, 0); lcd.setDefaultFont(); lcd.print("Pompa: Off"); lcd.setCursor(0, 1); lcd.print("Timer on: 10s"); lcd.setCursor(0, 2); lcd.print("Timer off: 15s"); digitalWrite(Pompa_PIN, LOW); } void loop() { Counter++; lcd.setCursor(0, 3); lcd.print("Time = "); lcd.print(Counter); if ((Counter == TimerNotWork) && (flag_Work == false)) { flag_Work = true; digitalWrite(Pompa_PIN, HIGH); Counter = 0; lcd.setCursor(0, 0); lcd.print("Pompa: On "); lcd.setCursor(0, 3); lcd.print("Time = 0 "); } if ((Counter == TimerWork) && (flag_Work == true)) { flag_Work = false; digitalWrite(Pompa_PIN, LOW); Counter = 0; lcd.setCursor(0, 0); lcd.print("Pompa: Off"); lcd.setCursor(0, 3); lcd.print("Time = 0 "); } delay(1000); }
Документы
Где купить
- Arduino Mega 2560 R3
- Насос Pixiuonline DS766b
- Модуль реле SRD-05VDC-SL-C
- Nokia 5110
- Макетная плата, модуль питания макетной платы и провода
- Адаптеры питания