Energy & Thermal

Report-based engineering study

Agrivoltaic Monitoring & Solar Tracking

An Arduino-based agrivoltaic demonstrator combining environmental sensing, solar tracking, Proteus simulation and a spatial CAD model.

Arduino IDEArduino Mega 2560ProteusAutoCADArduino C/C++

Project brief

This project explores a compact agrivoltaic system in which solar generation and crop monitoring share one structure. It connects an Arduino Mega controller with two temperature and humidity sensors, a soil-moisture input, light-dependent resistors, a servo and an I2C character display. The report documents the work at several levels: an AutoCAD model describes the physical arrangement, a Proteus circuit shows the electronic connections, a prototype photograph records the controller assembly, and an Arduino appendix exposes the operating logic. The firmware reads indoor and outdoor conditions, reports soil status against two configured thresholds and compares east and west light readings to adjust the panel angle. A tolerance prevents unnecessary servo movement, while software bounds keep the commanded position within its stated range. The source also includes oscilloscope traces from the simulation and a wider discussion of irrigation, power storage and future agricultural deployment. The strongest demonstrated contribution is the integration of sensing, display and tracking within a single embedded workflow. Two overlapping report versions are treated as one project. The available evidence does not establish measured improvements in crop yield, water consumption or energy production; those remain motivations and proposed evaluation goals. Irrigation is described in the system concept, while the supplied firmware directly demonstrates soil-status messaging rather than a complete pump-control routine.

The engineering challenge

Integrate crop-condition monitoring and light-driven panel positioning while coordinating multiple sensor interfaces, display updates and servo limits.

Engineering approach

  1. Model the solar-panel structure and growing area in AutoCAD to communicate component placement.
  2. Build an Arduino Mega circuit in Proteus with environmental sensors, soil input, light sensors, servo and LCD.
  3. Read two DHT22 channels and an analog soil-moisture signal, then cycle through status messages.
  4. Compare two light-sensor readings and adjust servo position outside a configured tolerance.
  5. Document the physical controller assembly and simulated signal waveforms, distinguishing demonstrated functions from wider agricultural goals.

Results & observations

2 DHT22 inputsEnvironmental channels

The supplied firmware reads separate indoor and outdoor temperature/humidity channels on digital pins 8 and 9.

500 / 750Soil classification

Configured raw analog thresholds in the code for wet, intermediate and dry status; these are settings, not validated moisture percentages.

0–180°Tracker limits

Software bounds for the servo command; initial position is 90° and the light-reading tolerance is 20 raw counts.

16 × 2 LCDUser display

I2C display cycles through indoor, outdoor and soil-condition messages.

Features & capabilities

  • Environmental sensing
  • Soil-status classification
  • Differential light tracking
  • Servo position bounds
  • I2C display interface
  • CAD and circuit simulation

Software & engineering tools

Arduino IDE, Arduino Mega 2560, Proteus, AutoCAD, Arduino C/C++