Автоматическая система полива и орошения растений – схема, код и отчет о проекте
Автоматический завод Полив Система – полный исходный код, отчет о схеме и проекте – загрузка в формате PDF
Введение
В повседневной работе, связанной с поливом растений, это самая важная культурная практика и самая трудоемкая задача. Независимо от того, какая сейчас погода, слишком жаркая и холодная или слишком сухая и влажная, очень важно контролировать количество воды, попадающей на растения. Таким образом, будет эффективно использовать идею автоматической системы полива растений, которая поливает растения, когда они в этом нуждаются. Важным аспектом этого проекта является то, что:«когда и сколько поливать». Чтобы уменьшить ручную работу человека при поливе растений, была принята идея системы полива растений. Метод, используемый для непрерывного контроля уровня влажности почвы и принятия решения о необходимости полива или о том, сколько воды требуется в почве растений. Этот проект может быть сгруппирован в подсистемы, такие как; блок питания, реле, электромагнитный клапан, экран GSM Arduino, датчик влажности почвы и ЖК-дисплей.
По сути, система разработана и запрограммирована таким образом, что датчик влажности почвы определяет уровень влажности растений в конкретный момент времени, если уровень влажности датчика меньше заданного значения. порогового значения, которое заранее определено в соответствии с потребностью конкретного растения в воде, тогда желаемое количество воды подается до тех пор, пока оно не достигнет предварительно определенного порогового значения.
Система сообщает о своем текущем состоянии и отправляет напоминание о поливе растений и добавлении воды в бак. Все эти уведомления можно сделать с помощью Arduino GSM Shield.
- Связанный проект: Схема сигнализации дождя — проект детектора снега, воды и дождя
Цель проекта:
С сегодняшнего дня, в век передовых технологий и электроники, образ жизни человека должен быть умнее, проще, легче и намного удобнее. И поэтому; существует потребность во многих автоматизированных системах в повседневной жизни людей, чтобы сократить их повседневную деятельность и работу. Здесь очень полезна идея одной такой системы, называемой системой автоматического полива растений. Так как многие люди сталкиваются с большой проблемой полива растений в саду, особенно когда они находятся вдали от дома. В этой модели используются сенсорные технологии с микроконтроллером, чтобы создать интеллектуальное коммутационное устройство, которое поможет миллионам людей.
В своей самой базовой форме система запрограммирована таким образом, что датчик влажности почвы, который определяет уровень влажности растения в определенный момент времени, если уровень влажности датчика меньше заданного порогового значения, которое заранее определено для конкретного растения, чем желаемое количество воды подается растению до тех пор, пока его уровень влажности не достигнет заданного порогового значения. Система включает в себя датчик влажности и температуры, который отслеживает текущую атмосферу в системе и влияет, когда происходит полив. Электромагнитный клапан будет контролировать поток воды в системе, когда Arduino считывает значение с датчика влажности, он запускает электромагнитный клапан в соответствии с желаемым условием. Кроме того, система сообщает о своем текущем состоянии и отправляет сообщение-напоминание о поливе растений и получает SMS от получателя. Все эти уведомления можно сделать с помощью Arduino GSM Shield.
- Связанный проект: Схема индикатора уровня воды — два простых проекта
Общие сведения о системе
В школе из научных книг изучали, что растения очень важны для всего человечества во многих аспектах. Поскольку они поддерживают чистоту окружающей среды, время от времени производя свежий кислород. Было замечено, что автоматические системы полива растений становятся все более популярными по мере того, как предметы повседневного обихода подключаются к передовым технологиям, эти системы внедряются с растущей скоростью. Места, как дома, а также на промышленных уровнях. Основное применение этих систем — эффективность и простота использования.
Система полива растений позволяет любителям растений брать с собой домашнее растение, пока они в отъезде, благодаря использованию эффективных и надежных компонентов, таких как различные типы сенсорных технологий.Р>
Существует несколько различных/несложных типов систем полива комнатных растений, в зависимости от необходимого уровня автоматизации.
- Связанный проект: Умная система орошения — принципиальная схема и код
В итоговом отчете в формате pdf (бесплатная ссылка для скачивания дана в конце поста) подробно описаны следующие разделы.
- Глобусы и шипы для полива растений
- Внутренняя система капельного полива
- Сенсорная технология
- Датчики температуры и влажности
- Датчик температуры
- Датчики влажности
- Датчики влажности почвы
- Биметаллический термостат
- Термистор
- Резистивные датчики температуры (RTD)
- Термопары
- ИС датчика, LM35
- Цифровой датчик температуры (ADT7301)
- DHT11 и DHT22
- GSM-модуль
- Архитектура GSM
- Ретрансляция
- Транзистор
- ЖК-дисплей Hitachi 16 × 2
Связанный проект:что такое микроконтроллеры ATMega и как с их помощью создать светодиодный проект?
Технические характеристики продуктов и компонентов
Идентификатор требования | SRS-GSM-001 |
Заголовок | GSM-модуль |
Описание | Система включает в себя GSM-модуль, который отправляет SMS-оповещение получателю и принимает SMS-сообщение от пользователя. |
Версия | Версия 1.0 |
Идентификатор требования | SRS-микроконтроллер -001 |
Заголовок | ATmega328p |
Описание | Система включает в себя микроконтроллер, который обычно поставляется с Arduino Uno. этот микроконтроллер считывает показания датчика и управляет всей системой. |
Версия | Версия 1.0 |
Идентификатор требования | SRS-температура и влажность-001 |
Заголовок | DHT11 |
Описание | Система включает в себя датчик температуры и влажности, который отслеживает текущие значения температуры и влажности окружающей среды и отправляет показания обратно на микроконтроллер. |
Версия | Версия 1.0 |
Идентификатор требования | SRS-Moisture-001 |
Заголовок | Датчик влажности почвы Grove |
Описание | Система включает в себя датчик влажности почвы, который считывает показания влажности почвы и отправляет показания обратно в микроконтроллер. |
Версия | Версия 1.0 |
Идентификатор требования | SRS-LCD-001 |
Заголовок | ЖК-дисплей Hitachi 16×2 |
Описание | Система включает ЖК-интерфейс для пользователя, на котором отображаются показания, снятые различными датчиками в системе. |
Версия | Версия 1.0 |
Сообщение по теме:Программирование Arduino:что такое Arduino и как его программировать?
Автоматизированная система полива растений на базе Arduino:
Блок-схема автоматического полива растений
Принципиальная схема автоматической системы полива и орошения растений
В соответствии с этой системой в этом проекте есть два функциональных компонента:датчик влажности и двигатель/водяной насос. В своей самой простой форме датчик влажности определяет уровень влажности почвы. Затем мотор/водяной насос подает воду к растениям.
Нажмите на изображение, чтобы увеличить его
Схема выше на рисунке выше описывает общее поведение системы. Проект использует Arduino Uno для управления двигателем. Он состоит из H-моста, который управляет потоком серводвигателя, т. е. в направлении часов или против часов. Датчик влажности измеряет уровень почвы и отправляет сигнал на Arduino, после чего Arduino открывает серводвигатель, если требуется полив. Затем мотор/водяной насос подает воду к растениям до тех пор, пока не будет достигнут желаемый уровень влажности.
Сформируйте прототип на рисунке выше:датчик влажности определяет уровень влажности и отправляет сигнал на Arduino, а затем Arduino открывает водяной насос с помощью H-моста и поливает конкретное растение. Это делается с помощью программного обеспечения Arduino IDE.
Связанный проект:Электронный проект управления светофором с использованием таймера IC 4017 и 555
Дизайн проекта
В этом разделе рассказывается о любой работе, выполненной в области разработки программного обеспечения и аппаратного обеспечения. Он также дает представление о том, что включает в себя система и почему для создания полностью укомплектованной автоматизированной системы полива растений были выбраны различные компоненты. Рассмотрим схему, на рисунке показана базовая концептуальная модель системы с использованием выбранных компонентов.
Функциональность блок-схемы автоматизированной системы полива растений, показанной на рисунке выше, показана ниже:
- Система включает GSM-модуль, который отправляет SMS получателю и принимает SMS от получателя.
- Он использует датчики влажности почвы, температуры и влажности.
- Он также включает в себя электромагнитные клапаны вместе с электромагнитным контуром, который управляет потоком воды через электромагнитные клапаны.
- Датчик влажности используется для определения уровня влажности конкретного растения. Этот уровень влажности считывается микроконтроллером, поскольку он циклически проверяет, превышает ли значение датчика пороговое значение или нет. Если значение выше заданного, то модуль GSM готов отправить SMS получателю.
- Датчик температуры и влажности используется для определения того, слишком ли жарко для растения или влажность слишком высока для обработки. Это считывается чипом ATmega328p (Подробнее о том, что такое ATmega) на Arduino Uno. эти показания будут использоваться для определения того, должны ли все соленоиды в системе быть включены или выключены.
Дополнительную информацию о компонентах можно найти в файле pdf (ниже)
Связанный проект:Что такое Raspberry Pi? Создание проектов с помощью Raspberry Pi
Проектирование оборудования
Схема датчика
На рисунке ниже показана схема цепи датчика. Так как все датчики подключены к аналоговым выводам Arduino A0-A3. Контакт A0 был зарезервирован для датчика температуры и влажности, тогда как контакты A1-A3 были зарезервированы для датчиков влажности. Все датчики имеют общее питание 5В и землю, как показано на схеме.
Схема ЖК-дисплея :
На рисунке ниже показана схема ЖК-дисплея. Цифровой контакт 8–13 был зарезервирован для ЖК-дисплея, как показано на схеме. Контакт 1 и контакт 3 — это питание и земля, тогда как контакт 2 — это контакт контрастности на ЖК-дисплее, который управляет контрастностью и связан с потенциометром. При подключении ЖК-дисплея необходимо помнить, что цифровые выводы от Arduino и выводы данных от ЖК-дисплея должны быть подключены в правильном порядке, иначе ЖК-дисплей будет отображать на экране только мусор.
Схема соленоида
На приведенном ниже рисунке показана принципиальная схема цепи соленоида. Цифровой контакт 4–7 был зарезервирован для соленоидов. Поскольку схема состоит из реле, транзисторов, резисторов и светодиодов вместо соленоида (CadStar не имеет символа соленоида). В схеме реле используется 5В. В то время как 5 В также поступает в канал NO реле, это связано с тем, что на схеме светодиоды заменяют соленоид, который работает на (5 В), за которым следует резистор 220 Ом.
- Связанный проект:система домашней автоматизации на основе распознавания голоса
Итак, при подаче напряжения на базы транзисторов. Транзистор переключается на землю, позволяя катушке реле намагничиться, и переключается на нормально закрытый канал, из-за чего светодиод, подключенный к этому конкретному реле, загорается, и когда напряжение, подаваемое на базу транзистора, падает, транзистор переключается обратно в нормальное состояние. и катушка реле размагничивается и реле снова переключается на NO канал, из-за чего светодиод снова гаснет.
После завершения всех схем схемы, следующим шагом будет их построение на Veroboard. Важно заранее спроектировать схему на макетной плате, потому что существуют определенные принципы проектирования схемы на Veroboard, а именно:
- Сначала отметьте линии питания Vs и GND в правом верхнем углу листа планирования раскладки.
- Не забудьте перерезать дорожку между контактами микросхемы. Отметьте разрезы на схеме знаком X.
- Попробуйте сделать так, чтобы резисторы и аксиальные конденсаторы ровно лежали на плате. Для резисторов обычно требуется зазор в 4 отверстия, для конденсатора - зазор в 8 отверстий.
- Если возможно, пронумеруйте контакты микросхем. Нижняя сторона Veroboard состоит из медных дорожек, по которым проходит напряжение, работает горизонтально. Различный дизайн Veroboard на приведенных выше схемах показан ниже:
Связанный проект:Полностью автоматический контроллер уровня воды с использованием SRF04
Разработка программного обеспечения
После завершения работы с оборудованием пришло время протестировать оборудование с программным обеспечением. В этом разделе реализация дизайна программного обеспечения будет подробно описана для каждой из различных технологий автоматизации/технологий, используемых в системе. Это включает в себя код Arduino, написанный и загруженный в Arduino.
Первое, что было сделано, это заставить схему соленоида работать и понять, как соленоид будет действовать с точки зрения микроконтроллера. Для этого была создана небольшая блок-схема, которую можно увидеть в разделе программного обеспечения на рисунке выше.
Arduino IDE использовалась для загрузки программного обеспечения на Arduino. Для базовой схемы соленоида была написана простая программа, которая мигает светодиодом каждую секунду. Первоначально были определены цифровые контакты 4, 5, 6 и 7, которые тестируют программу и схему. Итак, когда программа запускается, она выполняет все основные инициализации, определяет все выходные контакты в настройке void (), а затем переходит в цикл void (), где она постоянно работает и мигает светодиодами каждую 1 секунду.
После этого была написана и загружена в Arduino небольшая программа, которая получает показания с разных датчиков и выводит их на ЖК-дисплей. Для этого была сделана небольшая блок-схема, которую также можно увидеть в блоке программного обеспечения на данном рисунке. Когда программа входит в цикл void(), она получает показания датчика, выполняет все основные расчеты и выводит их на ЖК-дисплей.
Сопутствующий проект базовой электроники:автоматическая система управления уличным освещением с использованием LDR и транзистора BC 547
Следующее, что нужно сделать, это загрузить программное обеспечение для модуля GSM в Arduino, через которое GSM мог бы общаться с микроконтроллером. Первоначально был выполнен тест модема, который выполняет всю базовую инициализацию и библиотеки для GSM, получает номер IMEI и проверяет, правильно ли работает модем после начала связи с Arduino. Следующим шагом является проверка подключения к сети, которая в основном инициализирует GSM и отображает все другие сети, которые может поддерживать модуль GSM.
После того, как модуль GSM протестирован и работает должным образом, пришло время использовать модуль GSM для связи с получателем, что означает отправку SMS получателю и получение SMS от него. Для этого была написана еще одна простая программа подключения Arduino, которая была загружена в Arduino. Программа инициализирует GSM и отправляет SMS получателю, в отличие от другой программы Arduino, в которой GSM получает SMS от конечного пользователя.
Наконец, после того, как весь дизайн программного обеспечения был завершен, пришло время объединить весь дизайн программного обеспечения воедино и создать окончательное рабочее программное обеспечение для системы. Были применены различные подходы к алгоритму, которые можно увидеть в разделе «Поток программного обеспечения», чтобы окончательное программное обеспечение работало и делало то, что должно было делать. На приведенном выше рисунке показана работа окончательного программного обеспечения, когда оно считывает данные, отправляет SMS, получает SMS и начинает делать то, что делало ранее.
Примечание. Весь программный код можно увидеть в приложении ниже.
ПРИМЕЧАНИЕ:весь программный код можно посмотреть в приложении. Результаты тестирования модема и тестирования сетевого подключения не были включены в отчет, поскольку фактический отчет был составлен после отправки оборудования.
Связанный проект:Как создавать базовые проекты по электротехнике и электронике в LabVIEW?
Создание проекта и тестирование программного обеспечения
После успешного проектирования аппаратного и программного обеспечения настало время создания и тестирования проекта. В этом разделе отчета будут подробно описаны способы реализации и тестирования различных аппаратных средств. В этом разделе также говорится о том, были ли какие-либо скрытые проблемы в программном коде, которые были важны для устранения неполадок и эвакуации, а также для успешной сборки проекта. пошаговый процесс можно увидеть в полном отчете о проекте в файле pdf, приведенном ниже, например, в процедуре строительства и испытаний.
Тестирование программного обеспечения
Этап тестирования программного обеспечения также является важным аспектом разработки проекта. Тестирование программного обеспечения — это процедура выполнения программы или приложения с целью поиска ошибок в программном обеспечении. Это также может быть выражено как процесс проверки и подтверждения того, что программа или приложение соответствуют техническим требованиям, работают как принятые и могут быть выполнены с использованием аналогичного товарного знака. Для тестирования программного обеспечения были приняты различные подходы. Был написан документ спецификации требований к программному обеспечению (SRS), в котором полностью описывалось ожидаемое поведение программной системы.
Связанный проект:Электронный проект схемы переключателя хлопков с использованием таймера 555
Идентификатор требования | Датчик SRS-010 |
Заголовок | Датчик |
Описание | Датчики в системе снимают показания и отправляют их обратно в микроконтроллер. |
Версия | Версия 1.0 |
Идентификатор требования | Данные SRS-020 |
Заголовок | Отображение данных |
Описание | Когда пользователи пытаются получить данные из системы. Дисплей должен отображать данные для пользователя, например:значение температуры и влажности, за которыми следуют показания влажности. |
Версия | Версия 1.0 |
Идентификатор требования | SRS-микроконтроллер-030 |
Заголовок | Микроконтроллер |
Описание | Микроконтроллер в системе действует как мозг системы, который управляет всем в системе |
Версия | Версия 1.0 |
Идентификатор требования | Защелка SRS-040 |
Заголовок | Защелка |
Описание | Защелка в системе расширяет цифровые выводы для микроконтроллера |
Версия | Версия 1.0 |
Идентификатор требования | SRS-GSM-050 |
Заголовок | GSM |
Описание | Система будет реагировать, отправляя SMS-оповещение получателю каждый раз, когда микроконтроллер сообщит об этом. |
Версия | Версия 1.0 |
После написания документа SRS разработка программного обеспечения перешла к этапу статического тестирования, которое включает проверку документа. Здесь происходит проверка требований. Существует четыре различных типа методов проверки, определенных ниже:
- Осмотр (I):контроль или визуальная проверка
- Анализ (A):проверка на основе аналитических данных
- Демонстрация (D):проверка рабочих характеристик без количественного измерения.
- Тест (T):проверка количественных характеристик количественным измерением. Для каждого требования документа СГД определен метод проверки с аббревиатурой I, A, D и T.
Подтверждение:
ID требования | Заголовок требования | Метод |
REQ-010 | Убедитесь, что датчики системы получают показания | I |
REQ-020 | Убедитесь, что данные отображаются на экране. | D |
REQ-030 | Проверено, что микроконтроллер системы управляет или работает правильно, поскольку он дает 100% результат для каждого запроса. | D |
REQ-040 | Убедитесь, что схема защелки делает то, что должна делать. Он принимает вход sin 3 и выдает 8 контактов | A |
REQ-050 | Убедитесь, что SMS было отправлено и получено GSM | D |
Результаты
Поскольку все проверки прошли с удовлетворительным результатом. Поскольку нет как такового конкретного результата, который должен быть задокументирован. Поскольку система работает с датчиком влажности и DHT11 (температура и влажность), который снимает показания в соответствии с текущей комнатной температурой и влажностью. Показания датчика влажности в контуре также зависят от того, каков текущий уровень влажности для растения. В противном случае общий результат схемы с точки зрения функциональности был хорошим мотиватором.
Запись по теме:Программирование ШИМ на Arduino и его функции в Arduino
Окончательный и полный код программного обеспечения для автоматического полива растений и систем орошения
Примечание. Дополнительные коды, связанные с проектом, можно найти в файле PDF, например, пример кода для тестирования электромагнитного клапана, код для тестирования системных датчиков, код тестирования модема GSM, код подключения к сети GSM, код оповещения GSM для отправки SMS, код получения SMS для GSM,Р>
Окончательный код проекта автоматической поливки растений
#include <dht.h> #define dht_dpin A0 dht DHT; //———————– #include <LiquidCrystal.h> LiquidCrystal lcd (8, 9, 10, 11, 12, 13); //———————————- int plantPotMoisture[3] = {A1, A2, A3}; //——————— #include <GSM.h> #define PINNUMBER “” GSM gsmAccess; // include a ‘true’ parameter for debug enabled GSM_SMS sms; char remoteNumber[] = “0899506304”; String moistureMessage = “Moisture is Low on sensor: “; String SMS_Alert = “Sending SMS!”; String humidityMsg = “Humidity is High. Open All Solenoids”; String tempMsg = “Temperature is too HIGH!..Open ALl Solenoids “; String messageBuffer = “”; char senderNumber[20]; String stringOne = “Opens1”; String stringTwo = “Opens2”; String stringThree = “Opens3”; String stringFour = “OpenAll”; //————— #define solenoidData 5 #define solenoidClockster 4 #define solenoidLatch 6 //————— const int master = 0; const int slave1 = 1; const int slave2 = 2; const int slave3 = 3; boolean takeReadings = true; int serialSolenoidOutput = 0; void setup() { pinMode(solenoidData, OUTPUT); pinMode(solenoidClockster, OUTPUT); pinMode(solenoidLatch, OUTPUT); digitalWrite(solenoidLatch, HIGH); digitalWrite(solenoidLatch, LOW); shiftOut(solenoidData, solenoidClockster, MSBFIRST, 0); digitalWrite(solenoidLatch, HIGH); //————————- Serial.begin(9600); lcd.begin (16, 2); lcd.clear(); lcd.setCursor(0, 0); lcd.print(“Wait Until”); lcd.setCursor(0, 1); lcd.print(“GSM Initialized!”); boolean notConnected = true; while (notConnected) { if (gsmAccess.begin(PINNUMBER) == GSM_READY) notConnected = false; else { Serial.println(“Not connected”); delay(1000); } } } void loop() { if (takeReadings) { moistureSensor(); TempAndHumidity (); if (DHT.humidity > 50 || DHT.temperature > 25 && takeReadings ) { takeReadings = false; if (DHT.humidity > 50) { sendSMS(humidityMsg); } else if (DHT.temperature > 25) { sendSMS(tempMsg); } while (!takeReadings) recieveSMS(); } if (plantPotMoisture[0] > 30 || plantPotMoisture[1] > 30 || plantPotMoisture[2] > 30 && takeReadings) { takeReadings = false; if (plantPotMoisture[0] > 30) { sendSMS(moistureMessage + “1”); } else if (plantPotMoisture[1] > 30) { sendSMS(moistureMessage + “2”); } else { sendSMS(moistureMessage + “3”); } while (!takeReadings) recieveSMS(); } } } void moistureSensor() { for (int i = 0 ; i < 3; i++) { lcd.clear(); plantPotMoisture[i] = analogRead(i); plantPotMoisture[i] = map(plantPotMoisture[i], 550, 0, 0, 100); Serial.print(“Mositure” + i ); lcd.print(“Mositure” + i); Serial.print(plantPotMoisture[i]); lcd.print(plantPotMoisture[i]); Serial.println(“%”); lcd.print(“%”); delay(1000); } } void TempAndHumidity () { DHT.read11(dht_dpin); lcd.setCursor(0, 0); lcd.print(“Humidity=”); Serial.print(“Current humidity = “); Serial.print(DHT.humidity); lcd.print(DHT.humidity); lcd.print(“%”); Serial.print(“%”); Serial.print(“temperature = “); Serial.print(DHT.temperature); Serial.println(“C”); lcd.setCursor(0, 1); lcd.print(“temp=”); lcd.print(DHT.temperature); lcd.print(“C “); delay(1000); lcd.clear(); } void sendSMS(String messageToSend) { Serial.print(“Sending a message to mobile number: “); Serial.println(remoteNumber); Serial.println(“SENDING”); lcd.print(SMS_Alert); Serial.println(); Serial.println(“Message:”); Serial.println(messageToSend); sms.beginSMS(remoteNumber); sms.print(messageToSend); sms.endSMS(); Serial.println(“\nCOMPLETE!\n”); lcd.clear(); lcd.print(“Completed!!!”); } void recieveSMS() { char c; if (sms.available()) { lcd.clear(); lcd.print(“Message received from:”); delay(800); lcd.clear(); sms.remoteNumber(senderNumber, 20); lcd.print(senderNumber); while (c = sms.read()) { Serial.println(c); messageBuffer += c; } Serial.println(messageBuffer); if (messageBuffer == stringOne) { toggleSolenoid1(); takeReadings = true; } else if (messageBuffer == stringTwo) { toggleSolenoid2(); takeReadings = true; } else if (messageBuffer == stringThree) { toggleSolenoid3(); takeReadings = true; } else if (messageBuffer == stringFour) { toggleAll(); takeReadings = true; } else { takeReadings = true; } messageBuffer = “”; Serial.println(“\nEND OF MESSAGE”); // Delete message from modem memory sms.flush(); Serial.println(“MESSAGE DELETED”); } delay(1000); } void toggleSolenoid1() { solenoidWrite(master, HIGH); delay(1000); solenoidWrite(slave1, HIGH); delay(1000); solenoidWrite(slave1, LOW); delay(1000); solenoidWrite(master, LOW); delay(1000); } void toggleSolenoid2() { solenoidWrite(master, HIGH); delay(1000); solenoidWrite(slave2, HIGH); delay(1000); solenoidWrite(slave2, LOW); delay(1000); solenoidWrite(master, LOW); delay(1000); } void toggleSolenoid3() { solenoidWrite(master, HIGH); delay(1000); solenoidWrite(slave3, HIGH); delay(1000); solenoidWrite(slave3, LOW); delay(1000); solenoidWrite(master, LOW); delay(1000); } void toggleAll() { solenoidWrite(master, HIGH); delay(1000); solenoidWrite(slave1, HIGH); delay(1000); solenoidWrite(slave2, HIGH); delay(1000); solenoidWrite(slave3, HIGH); delay(1000); solenoidWrite(slave1, LOW); delay(1000); solenoidWrite(slave2, LOW); delay(1000); solenoidWrite(slave3, LOW); delay(1000); solenoidWrite(master, LOW); delay(1000); } void solenoidWrite(int pin, bool state) { if ( pin >= 0 && pin < 8) { if (state) serialSolenoidOutput |= (1 << pin); else serialSolenoidOutput &= ~(1 << pin); } digitalWrite(solenoidLatch, LOW); shiftOut(solenoidData, solenoidClockster, MSBFIRST, serialSolenoidOutput); digitalWrite(solenoidLatch, HIGH); }
Full Project Report Automatic Watering Plants System (PDF) Free Download
- Title:
- Format:
- Size:
- Pages:
- Download:
Запись по теме:Как спроектировать печатную плату (пошаговые и графические изображения)
About the author
-Department of Engineering School of Informatics &Engineering Institute of Technology, Blanchardstown Dublin 15Промышленные технологии
- Вероятные сбои в проверенных системах
- Схема системы автоматического открывания дверей с обнаружением движения и работа
- Система сигнализации Arduino:SERENA
- Автоматическая система полива растений с Arduino
- Система полива домашних растений
- Система автоматического полива
- Переживание проекта миграции системы управления
- Общие нарушения правил электроснабжения, о которых следует знать
- Понимание системы автоматической коробки передач
- Понимание автоматической системы смазки