abelzk / Dual-Axis-Solar-Tracker-Arduino

Arduino-powered system that maximizes solar energy by dynamically tracking the sun using LDR sensors and servo motors.
MIT License
3 stars 1 forks source link
arduino arduino-project computer-engineering cpp proteus school-project

Dual Axis Solar Tracker Arduino

Logo

This project is an implementation of a dual-axis solar tracker using an Arduino. The tracker continuously adjusts the position of a solar panel in two axes (horizontal and vertical) to ensure optimal alignment with the sun. This maximizes the panel's exposure to sunlight, thereby increasing its efficiency.

Table of Contents

Overview

The dual-axis solar tracker uses Light Dependent Resistors (LDRs) to detect the intensity of sunlight in different directions. Based on these readings, the system controls two servos to adjust the position of the solar panel, ensuring it always faces the direction of maximum sunlight.

Additionally, the system monitors the voltage, current, and power output of the solar panel, displaying this information on an LCD screen and logging it via the Arduino's serial interface.

Components Used

Features

Circuit Diagram

Circuit Diagram

Code Overview

The project code is written in Arduino C/C++ and utilizes the following libraries:

Key Code Sections

Setup Instructions

  1. Hardware Setup:

    • Connect the LDRs, servos, and LCD to the Arduino according to the pin assignments in the code.
    • Ensure proper power supply and grounding for all components.
  2. Code Upload:

    • Open the Arduino IDE and load the provided code.
    • Upload the code to your Arduino Uno.
  3. Calibration:

    • If needed, adjust the servo limits (servohLimitHigh/Low and servovLimitHigh/Low) to match the physical constraints of your setup.

Loop Logic

Usage

  1. Power Up:

    • Power up the system and watch the solar panel align itself with the brightest light source (i.e., the sun).
  2. Monitor Performance:

    • Observe real-time performance metrics on the LCD display.
    • Use the serial monitor in the Arduino IDE for detailed data logging.
  3. Adjustments:

    • If the panel's movement seems off, recalibrate the LDRs or adjust the servo limits in the code.

Future Improvements

Author

Abel Zecharias
Email: abelzeki24@gmail.com Don't forget to give this repo a star⭐

Feel free to reach out if you have any questions or suggestions for improvements!