Giter Club home page Giter Club logo

solar-tracker-prototype-based-on-arduino's Introduction

Solar-Tracker-Prototype-based-on-Arduino

The project is based on two main components: the servo motors and the LDRs (light dependent resistors). Each LDR is in series with a 100 kΩ resistor and at the other end there is a 5V voltage supply. The electrical resistance of and LDR decreases with the increase of the light across it, i.e. the brigther the light across the LDR, the smaller the resistance and thus, the smaller the voltage across it (it forms a voltage divider when in series with the 100 kΩ resistor). Therefore if we read the voltage across each 100 kΩ resistor and substract it from 5V we can find the voltage across the LDR, and thus we can find the light intensity on each LDR. The LDRs will be placed on each side of the panel: 1 top-left, 1 top-right, 1 bottom-left, 1 bottom-right. The servo motors will be placed in such way to control the horizontal and the vertical position of the panel, see Implementation. Thus we can use an algorithm to control the servo-motors with respect to the light intensity in each side of the panel. I prefered to calculate the average of each 2 consecutive LDRs, so thus I will get four averages (top, bottom, left, right) and compare them in order to find the equilibrium. Therefore whenever the light intensity is greater on one side, that means that the voltage average of those two LDRs will be smaller, the servo motors will move accordingly. The solar tracker also uses an LCD in order to print information to the user. I used it in order to show the voltage across each LDR but it can be used to show other information regarding the tracker. I used an I2C serial communication LCD because it uses only two pins on the arduino board and another two for supply and ground. The Serial monitor continuously prints the averages and the voltages across the LDR for maintenance. I also used a tolerance because the light across LDRs is continuously changing a little bit, so without the tolerance range the solar tracker would keep move even if the position is the most efficient one. The average float data is first calculated and after that it is multiplied by 100 and downcasted to int type because the comparisons are much less sensitive to tolerance with integer type than floating point.

solar-tracker-prototype-based-on-arduino's People

Contributors

vladcoman0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.