Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Внутренний сад Arduino

Компоненты и расходные материалы

Arduino Nano R3
× 1
mbientLab Bluetooth to USB Dongle
× 1
Специальная плата JLCPCB
× 1

Об этом проекте

Садоводство в современную эпоху означает усложнение и трудность работы с помощью электронов, битов и байтов. Совмещение микроконтроллеров и садоводства - действительно популярная идея. Я думаю, это потому, что у садов очень простые входы и выходы, которые легко понять. Думаю, люди (в том числе и я) видят заведомо простое и расслабленное хобби и не могут не чувствовать себя вынужденными чрезмерно усложнять его.

В этом проекте я покажу вам, как построить более простую версию внутреннего сада с помощью платы разработчика Arduino . .

Я предоставляю полное пошаговое руководство, чтобы показать вам, как сделать свой собственный красивый сад, и я подробно объясняю как аппаратные, так и программные части, чтобы превратить это руководство в самый простой способ, который заставит вас попробовать свои владеть навыками изготовления электроники. Этот проект очень удобно сделать специально после того, как мы получили заказную печатную плату, которую мы заказали у JLCPCB, чтобы улучшить внешний вид нашего автомобиля, а также в этом руководстве достаточно документов и кодов, чтобы вы могли создать свою автоматическую садовую систему.

Мы сделали этот проект всего за 7 дней, всего за три дня, чтобы закончить изготовление оборудования и сборку, затем за 4 дня, чтобы подготовить код и приложение для Android. чтобы через него управлять садом. Прежде чем начать, давайте сначала посмотрим

Что вы узнаете из этого руководства:

  • Выбор правильных компонентов в зависимости от функциональности вашего проекта.
  • Создание схемы для соединения всех выбранных компонентов
  • Соберите все части проекта и начните тестирование.
  • С помощью приложения для Android. подключиться через Bluetooth и начать манипулировать системой

Шаг 1. Что такое домашний сад!

У большинства растений есть простые потребности. В гостях они относительно нетребовательны. Есть только три основных вещи, которые вам нужно понять, прежде чем вы решите пригласить растение домой:свет, вода и воздух. Если вы сможете освоить эти четыре элемента с точки зрения растения, вы сможете создать домашний сад практически в любой точке мира и в любое время года.

  • Свет - Большинству садовых растений требуется не менее шести часов света в день. Но должен быть хороший свет. Если вы поднесете руку к окну, и оно не отбрасывает тень, скорее всего, большинству растений недостаточно света для счастливой жизни. Тем не менее, вы всегда можете дополнить условия низкой освещенности лампами для выращивания. Если у вас скромное естественное освещение в вашем доме и вы не хотите возиться со специальным освещением, придерживайтесь растений, которые обычно нуждаются в условиях низкой освещенности, или попробуйте переместить свой сад в другое место. солнечный подоконник.
  • Вода - Растениям необходимы условия, близкие к естественным. Растение, называющее пустыню своим домом, будет нуждаться в меньшем поливе, чем растение, живущее в болоте. Знание того, какие водные условия предпочитает растение, - хороший первый шаг к созданию успешного домашнего сада. Это проще, чем вы думаете, потому что сами растения часто дают вам подсказки. Растения с толстыми эластичными листьями хранят воду и обычно могут выжить при меньшем количестве воды, чем растения с тонкими нежными листьями. Если вы ненавидите поливать свои растения, выбирайте сорта, которые растут меньше, или выбирайте цветочные горшки со скрытыми резервуарами, чтобы сократить свои обязанности по поливу.
  • Воздух - В качестве побочного продукта фотосинтеза растения производят кислород и фильтруют неприятные газы, такие как формальдегид, из окружающей среды вашего дома через свои листья. Чтобы растения оставались здоровыми, нужно содержать их листья в чистоте, а воздух вокруг них должен быть влажным и подвижным. Для этого вы можете разместить их в месте с хорошей циркуляцией воздуха или снабдить их небольшим вентилятором.

Я сделаю систему на основе Arduino, чтобы контролировать состояние температуры и влажности моего растения и автоматически обеспечивать его необходимые потребности, такие как интенсивность света, вода и чистый свежий воздух, и для этого мне нужны датчики для управления некоторыми исполнительными механизмами. Например, я буду контролировать интенсивность света в зависимости от сигналов, полученных от датчика яркости света, так же, как и для полива, я использовал датчик влажности для включения и выключения водяного насоса и датчик температуры / влажности для включения и выключения вентиляторов 12 В постоянного тока. .

Шаг 2. Датчики и исполнительные механизмы

Создание этой системы представляет собой сборку некоторых датчиков и исполнительных механизмов, чтобы получить доступ к физическим данным вокруг завода и иметь возможность найти, что требуется заводом и когда вы должны их поставить.

Вот почему вам следует использовать несколько датчиков и исполнительных механизмов, подключенных к одной плате Arduino:

Датчики

  • Датчик освещенности BH1750:BH1750FVI - это цифровой датчик освещенности, представляющий собой цифровую микросхему датчика внешней освещенности для интерфейса шины I2C. Эта ИС является наиболее подходящей для получения данных об окружающем освещении для регулировки мощности подсветки ЖК-дисплея и клавиатуры мобильного телефона. Возможно обнаружение широкого диапазона при высоком разрешении (1 - 65535 лк).
  • Датчик влажности почвы. Датчики влажности, которые измеряют сопротивление или проводимость в матрице почвы между двумя контактами, по сути, бесполезны. Прежде всего, сопротивление не является очень хорошим индикатором содержания влаги, потому что оно сильно зависит от ряда факторов, которые могут варьироваться от сада к саду, включая pH почвы, растворенные твердые вещества в воде и температуру. Во-вторых, большинство из них некачественные, с легко разъедаемыми контактами. По большей части вам повезет, если он продержится весь сезон.
  • Датчик температуры и влажности:DHT11 - это базовый сверхдорогой цифровой датчик температуры и влажности. Он использует емкостной датчик влажности и термистор для измерения окружающего воздуха и выдает цифровой сигнал на вывод данных (выводы аналогового ввода не требуются). Он довольно прост в использовании, но требует аккуратного выбора времени для сбора данных. Единственным реальным недостатком этого датчика является то, что вы можете получать от него новые данные только каждые 2 секунды, поэтому при использовании нашей библиотеки показания датчика могут быть старше 2 секунд.

Приводы

  • Белый светодиод. Светодиод (LED) представляет собой двухпроводной полупроводниковый источник света. Это диод с p – n переходом, который при активации излучает свет. [5] Когда на выводы подается подходящее напряжение, электроны могут рекомбинировать с электронными дырками внутри устройства, высвобождая энергию в виде фотонов.
  • Водяной насос. Насос - это устройство, которое перемещает жидкости (жидкости или газы), а иногда и суспензии, за счет механического воздействия. Насосы можно разделить на три основные группы в зависимости от метода, который они используют для перемещения жидкости:насосы прямого подъема, вытеснения и гравитационные насосы. Насосы работают с помощью какого-либо механизма (обычно возвратно-поступательного или вращательного) и потребляют энергию для выполнения механической работы, перемещая насос. жидкость. Насосы работают от многих источников энергии, включая ручное управление, электричество, двигатели или энергию ветра, бывают разных размеров, от микроскопических для использования в медицине до крупных промышленных насосов.
  • Охлаждающий вентилятор постоянного тока 12 В:важно понимать методы охлаждения, которые можно использовать для сохранения жизни вашего растения за счет подачи свежего воздуха вокруг растения, когда это необходимо для поддержания растений в здоровых условиях.

Шаг 3:Изготовление печатной платы (Изготовлено JLCPCB)

О JLCPCB

JLCPCB (Shenzhen JIALICHUANG Electronic Technology Development Co., Ltd.) - крупнейшее предприятие по производству прототипов печатных плат в Китае и высокотехнологичный производитель, специализирующийся на производстве быстрых прототипов печатных плат и мелкосерийном производстве печатных плат.

Обладая более чем 10-летним опытом производства печатных плат, у JLCPCB более 200 000 клиентов в стране и за рубежом, с более чем 8 000 онлайн-заказов на изготовление прототипов печатных плат и производство небольших партий печатных плат в день. Годовая производственная мощность составляет 200 000 кв.м. для различных 1-слойных, 2-слойных или многослойных печатных плат. JLC - профессиональный производитель печатных плат, отличающийся крупномасштабным, скважинным оборудованием, строгим управлением и превосходным качеством.

Вернуться к нашему проекту

Чтобы произвести печатную плату, я сравнил цены у многих производителей печатных плат, и я выбрал JLCPCB, лучших поставщиков печатных плат и самых дешевых поставщиков печатных плат, чтобы заказать эту схему. Все, что мне нужно сделать, это несколько простых щелчков мышью, чтобы загрузить файл gerber и установить некоторые параметры, такие как цвет и количество толщины печатной платы, затем я заплатил всего 2 доллара, чтобы получить свою печатную плату только через 3 дня, и я заметил, что там время от времени на этой платформе онлайн-заказов есть предложения по бесплатной доставке.

Вы можете получить файл схемы (PDF) здесь.

Как вы можете видеть на фотографиях выше, печатная плата изготовлена ​​очень хорошо, и у меня получилась та же форма листа печатной платы, которую мы разработали, и все этикетки и логотипы, которые помогут мне во время пайки.

Шаг 4. Ингредиенты

Теперь давайте рассмотрим необходимые компоненты для этого проекта, и вы можете найти все связанные ссылки для онлайн-заказа, поэтому нам понадобятся:

  • - Плата, которую мы заказали у JLCPCB
  • - Arduino Nano:http://amzn.to/2C7g0YW
  • - Модуль ESP01:http://amzn.to/2CCRVdL
  • - Bluetooth-модуль HC-05 или HC-06:http://amzn.to/2CCRVdL
  • - Датчик освещенности BH1750:http://amzn.to/2CCRVdL
  • - Датчик температуры и влажности:http://amzn.to/2CCRVdL
  • - Датчик влажности:http://amzn.to/2CCRVdL
  • - Водяной насос:http://amzn.to/2CCRVdL
  • - Вентилятор 12 В постоянного тока:http://amzn.to/2CCRVdL
  • - белые светодиоды:http://amzn.to/2CCRVdL
  • - Некоторые соединители заголовков:http://amzn.to/2CCRVdL-

Шаг 5. Сборка

Показать все 9 элементов

Теперь мы готовы, так что давайте приступим к пайке компонентов и не забываем следить за этикетками, чтобы избежать ошибок при пайке. Мы начинаем с пайки разъема Arduino для проверки источника питания, и вы также можете написать базовый тестовый код, чтобы проверить правильность подключения для каждого датчика, такого как датчик освещенности, и то же самое для светодиодов, потому что все они подключены непосредственно к плате (Arduino ), чтобы у вас был полный доступ к ним.

Примечание :Вы должны содержать паяльник в чистоте и порядке. Это означает, что нужно протирать губкой каждый раз, когда вы пользуетесь ею. Наконечник паяльника должен быть чистым и блестящим. Если вы видите, что наконечник загрязнен флюсом или окислителем, что означает потерю блеска, вам следует его очистить. Даже если вы в процессе пайки. Чистое паяльное жало НАМНОГО упрощает передачу тепла к объекту пайки.

Плата, которую мы заказали у JLCPCB, поможет вам держать все в нужном месте, поэтому не стесняйтесь переходить по этой ссылке, если вы хотите просмотреть созданную нами печатную плату и сделать онлайн-заказ.

Как видите, использовать эту печатную плату очень удобно из-за ее качества, и наверняка все этикетки на ней содержат для вас лучшее руководство, так что вы будете на 100% уверены, что не сделаете никаких ошибок при пайке.

Я припаял каждый компонент к месту, и вы можете использовать обе стороны печатной платы для пайки электронных деталей.

Теперь у нас есть готовая печатная плата и все компоненты очень хорошо спаяны, после этого я подготовил этот дизайн, чтобы сделать лазерную резку с ЧПУ, чтобы вставить электронную часть и установку в одну опору, поэтому, если вы хотите сделать такую ​​же конструкцию, как я найду файлы (DXF) здесь

Шаг 6. Приложение для Android.

Это приложение позволит вам подключиться к вашему Arduino через Bluetooth, а в ручном режиме вы можете получить доступ к вентиляторам, свету, а также водяному насосу для включения и выключения, не забывая датчики, с помощью которых вы можете считывать их данные. нажав кнопку «получить данные», и все соответствующие данные будут отображены на экране вашего смартфона.

Вы можете получить это приложение для Android бесплатно по этой ссылке

Шаг 7. Код Arduino и проверка тестирования

код доступен и, как обычно, вы можете скачать его по этой ссылке. И, как вы можете видеть на фотографиях, код настолько прост и хорошо прокомментирован, что вы можете понять его собственный.

Как вы можете видеть, ребята, каждая кнопка имеет функциональность с системой, но что я действительно ценю, так это автоматический режим управления яркостью света. Я разместил датчик освещенности в нижней части дома, а затем, когда мы выберем этот режим, система будет управлять яркостью. светодиодов передних фонарей в зависимости от сигналов датчиков. Также мы можем считывать значения температуры и влажности прямо на экране смартфона, что действительно впечатляет.

Код

  • Исходный код Arduino
Исходный код Arduino Arduino
 / ********************************************* ************************************************* ************************************************* ********************** * - Автор:БЕЛХИР Мохамед * * - Профессия:(Разработчик) Владелец MEGA DAS * * - Основное назначение:Промышленное применение * * - Владелец авторских прав (c):Все права защищены * * - Лицензия:Лицензия BSD с двумя пунктами * * - Дата:20.11.2017 * * ******************* ************************************************* ************************************************* *********************************************** / / *********************************** ПРИМЕЧАНИЕ ************** *********************** /// Распространение и использование в исходной и двоичной формах, с // модификациями или без них, разрешены при соблюдении следующих условий соблюдены:// * При повторном распространении исходного кода должно сохраняться указанное выше уведомление об авторских правах, // этот список условий и следующий отказ от ответственности. // * При повторном распространении в двоичной форме должно воспроизводиться указанное выше ve уведомление об авторских правах, // этот список условий и следующий отказ от ответственности в документации // и / или других материалах, поставляемых с распространением. ИЛИ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАясь, // ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ / * ________________________________________________________________________________________________ (`v) ________________________________________________________________________________________________ (` ()) __________________. _) __ (`()) ___________________________________________________________________________________________________ (` v) (_. ^ ._) __________________________________________________________________________________________________ (`()) (` v) _______________________________________________________________ ____________________________________ (_. ^ ._) (`()) ______________________________________________________________________________________________ (` v) _____ (_. ^ ._) (`v) _____________________________________________________________________________________________ (` ()) _ (`v) ___ (` ()) ______________________________________________________________________________________________ (_ . ^ ._) _ (`()) ___ (_. ^ ._) ______________________________________________________________________________________________ (` v) (_. ^ ._) (`v) ______________________________________________________________________________________________ (` ()) ____ (`()) _______________________________________________________________________________________________ (_ . ^ ._) _____ (_. ^ ._) ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________.__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________.___________________________________________________________________________________________________________________________________________________________________________________________________________ _____________________________________________________________ ______________________________ __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ (`v) __________________________________________________________________________________________ (` ()) __________________________________________________________________________________________ (_. ^ ._) ___________________________________________________________________________________________ (`v) ____________________________________________________________________________________________________________ (` ()) ____________________________________________________________ (`()) __________________________________________________________ ______________________ (`v) __________________________________________________________________________________________________ (` ()) __________________________________________________________________________________________________ (_. ^ ._) __________________________________________________________________________________________________________________________________________________________________________________________________ * / # include "DHT.h" // Включите библиотеку dht для взаимодействия с датчиком DHT # include  // Библиотека IC для использования датчика освещенности # include  // Импортируйте библиотеку BH1750, чтобы иметь возможность использовать датчик освещенности // ------------------- ----------------------------- Определите штифты управления ----------------- --------------------------------------- const int Pump =4; // Мы использовали этот вывод для управления мотопомпой const int Fan =5; // Используйте этот вывод как выход ШИМ для управления скоростью вентилятора int Light =6; // Используйте этот вывод для управления яркостью светодиода const int TempHum =7; // Входной контакт для датчика DHTconst int Moisture =8; // Вывод цифрового входа для чтения командных сигналов влажностиconst int TestLED =9; // Используйте этот выходной контакт, чтобы проверить правильность пайки на вашей печатной плате, включая и выключая тестовые светодиодыconst int Brightness =12; // Входной контакт для чтения сигналов датчика освещенностиconst int analogMoistue =0; // Аналоговый вход для чтения аналогового сигнала с датчика влажности // ------------------------------------ -------------------------------------------------- ------------------------------------------- # определить DHTTYPE DHT11 // DHT 22 (AM2302), AM2321DHT dht (TempHum, DHTTYPE); // Конструктор датчиков температуры и влажностиBH1750 lightMeter; // Конструктор датчика освещенностиchar Data ='x'; // Сохранение последовательных данных в этой переменнойString cmd =""; // Прочитать полную инструкцию, отправленную из приложения android flagModeAuto =0; // флаг для включения автоматического режимаint sprayCMD =0; // CMD предел распыления LightCMD =0; // Ограничение яркости CMDint lightLevelPlus =0; // Переменная для управления яркостью света float temperature =0; // Переменная для хранения значения температуры float влажность =0; // Переменная для хранения значения влажности uint16_t lux =0; // Переменная для чтения яркости света с датчика освещенности // ------------------------------------- ----------- Начать настройку контактов ----------------------------------- --------------------- void setup () {Wire.begin (); // Инициализируем шину I2C (библиотека BH1750 не делает этого автоматически) dht.begin (); // Запускаем считывание датчика температуры и влажности lightMeter.begin (); // Запускаем считывание датчика освещенности Serial.begin (9600); // Установите скорость передачи данных до 9600 бит / с для связи с приложением Android через Bluetooth Serial.setTimeout (100); // Устанавливаем время ожидания данных перед закрытием последовательного порта (через 100 мс) pinMode (Pump, OUTPUT); pinMode (Вентилятор, ВЫХОД); pinMode (Свет, ВЫХОД); pinMode (Влага, ВХОД); pinMode (TestLED, ВХОД); задержка (1000); digitalWrite (Насос, НИЗКИЙ); digitalWrite (Fan, LOW); digitalWrite (Light, LOW);} // ---------------------------------------- -------- Запустить код процесса -------------------------------------- ------------------ void loop () {while (Serial.available ()) // Считываем последовательные данные, когда они доступны {delay (10); Данные =Serial.read (); cmd + =Данные; } if (cmd =="dt") // Отправляем значение влажности в приложение Android {Serial.print (влажность); } if (cmd =="dh") // Отправляем значение яркости в приложение Android {Serial.print (lux); } if (cmd =="db") // Отправляем значение температуры в приложение Android {Serial.print (temperature); } if (cmd =="o") // Активируем автоматический режим {flagModeAuto =1; } if (cmd =="m") // Отключить автоматический режим {flagModeAuto =0; } если (flagModeAuto ==1) {autoPump (); lightBrightness (); autoFan (); } if (flagModeAuto ==0) {if (cmd =="f") // Включаем ВЕНТИЛЯТОР {analogWrite (Fan, 255); } if (cmd =="x") // ВЫКЛЮЧЕНИЕ ВЕНТИЛЯТОРА {analogWrite (Fan, 0); } if (cmd =="l") // Включаем свет {analogWrite (Light, 255); } if (cmd =="k") // Выключаем свет {analogWrite (Light, 0); } if (cmd =="w") // Включаем насос {analogWrite (Pump, 255); } if (cmd =="y") // Выключаем насос {analogWrite (Pump, 0); }} cmd =""; // Очистить переменную cmd, чтобы сделать ее доступной для следующей инструкции lux =lightMeter.readLightLevel (); // Получаем уровень яркости по датчику освещенности temperature =dht.readTemperature (); // Получить значение температуры от датчика DHT (C) влажность =dht.readHumidity (); // Получаем значение влажности от датчика DHT (%)} // ---------------------------------- -------------- Функция автоматического управления насосом-спреем ------------------------------ -------------------------- void autoPump () {if (analogRead (analogMoistue)  30) {analogWrite (Fan, 255); // Включаем вентилятор, если температура превышает 30 ° C} else {analogWrite (Fan, 0); // Выключаем вентилятор, если температура превышает 30 ° C}} 

Изготовленные на заказ детали и корпуса

dxf_mdf_5mm_s0PEHuez4w.rar

Схема


Производственный процесс

  1. Создание монитора Ambilight с помощью Arduino
  2. Игра Arduino Pong - OLED-дисплей
  3. Детектор звуковой частоты
  4. Клон Arduino Tamagotchi - цифровой питомец
  5. Манипулятор беспроводного переключателя света
  6. Tech-TicTacToe
  7. Водяной пистолет с датчиком движения
  8. Таймер обратного отсчета Arduino
  9. Arduino Sunflower:электронный танцор солнца
  10. Робот для супер-крутой навигации внутри помещений