The aim of the project is to automate a greenhouse in order to enhance the growth of crops that thrive in a controlled environment, requiring careful monitoring of air temperature, humidity, and soil moisture levels to ensure maximum production. The project originated from farmers' need for an automated system to effortlessly monitor greenhouse parameters, start and stop irrigation and ventilation systems based on data from multiple environmental sensors. This system would eliminate the necessity for excess labor to tend to the crops.

General description

The device utilizes various sensors to gather environmental data, including light levels, air temperature, humidity, and soil moisture levels. This information is transmitted to an ESP32 microcontroller, which can connect to a user's phone via Bluetooth or the internet to provide sensor readings. The user can then use this information to determine the optimal moisture levels and intervals for the water pumps and ventilation system, which are controlled by relays. Additionally, the ESP32 microcontroller can connect to a server to provide data for further modeling to improve crop growth.

Hardware Design

List of parts:

  • NodeMCU32S - The NodeMCU32S is a development board based on the ESP32 microcontroller. The ESP32 is a powerful and versatile microcontroller that includes Wi-Fi and Bluetooth capabilities, making it a popular choice for Internet of Things (IoT) projects. The NodeMCU32S board includes many features and interfaces, including USB, GPIO pins, I2C, SPI, UART, and more. It also has a built-in regulator that allows it to be powered by a wide range of voltages, making it a flexible choice for a variety of projects. Additionally, the NodeMCU32S supports programming with the ESP-IDF framework, as well as the popular Arduino IDE, making it easy to get started with development.

  • DHT11 - The DHT11 is a basic, low-cost digital temperature and humidity sensor. It uses a capacitive humidity sensor and a thermistor to measure the surrounding air, and it provides digital output over a 1-wire interface. The temperature range of the DHT11 is 0°C to 50°C, with an accuracy of ±2°C, and the humidity range is 20% to 90%, with an accuracy of ±5%. The DHT11 is commonly used in various applications such as weather stations, home automation systems, and other projects that require temperature and humidity sensing.

  • YL-69 - YL-69 is a soil moisture sensor that can be used to detect the moisture content of soil by measuring the resistance of the soil. The sensor consists of two probes which are placed into the soil, and a control board that measures the resistance between the probes. The more moisture there is in the soil, the lower the resistance will be. The control board is typically connected to a microcontroller or other electronics device to read the resistance and provide a measurement of soil moisture. The YL-69 is a low-cost and commonly used soil moisture sensor in many DIY projects.

  • LDR - An LDR (Light Dependent Resistor) is a type of sensor that is used to detect changes in light intensity. It is a type of variable resistor whose resistance decreases as the intensity of light falling on it increases.

  • RELAYS - Relays are electromechanical switches that can be used to control high-power devices through low-power circuits. They consist of a coil and one or more sets of contacts, which are mechanically linked to the coil. When a voltage is applied to the coil, it creates a magnetic field that pulls the contacts together, completing the circuit and allowing current to flow through the high-power device. When the voltage is removed from the coil, the contacts return to their original position, breaking the circuit and stopping the current flow. Relays can be used for a variety of purposes, including switching lights on and off, controlling motors, and regulating heating and cooling systems.

Software Design

PlatformIO is an open source ecosystem for IoT development with a focus on different microcontroller platforms, including the ESP32. It provides a unified and easy-to-use development environment for embedded systems, with support for popular IDEs such as VSCode, Atom, and Sublime Text. PlatformIO also offers extensive libraries, tools, and features for seamless integration with hardware platforms and cloud services.

The Arduino framework on ESP32 is an implementation of the popular Arduino programming language and environment for the ESP32 microcontroller. It provides a set of APIs and libraries for rapid prototyping and development of embedded systems, including support for WiFi, Bluetooth, sensors, and other peripherals. The framework is easy to use and well-documented, making it accessible to beginners and experienced developers alike. The Arduino framework on ESP32 can be used with the Arduino IDE or with PlatformIO.

Final results

Upon completing the project, I have come to the conclusion that utilizing technology to collect data from multiple sensors can provide a better understanding of agriculture and enable the adaptation of a controlled environment for optimal crop growth through a range of infrastructure controls. These controls include the ability to manage humidity and air temperature, with the potential to eventually control the amount of light entering the environment.



O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului: surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-).

Fişierele se încarcă pe wiki folosind facilitatea Add Images or other files. Namespace-ul în care se încarcă fişierele este de tipul :pm:prj20??:c? sau :pm:prj20??:c?:nume_student (dacă este cazul). Exemplu: Dumitru Alin, 331CC → :pm:prj2009:cc:dumitru_alin.


Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.


pm/prj2023/apredescu/greenhouse.txt · Last modified: 2023/05/17 22:45 by bianca.popescu2009
CC Attribution-Share Alike 3.0 Unported Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0