Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
98 views

ELE551 Embedded Systems and IOT Fundamentals Mid Sem Project Work Project Title: Arduino Sunflower

This document describes a student's mid-semester project to create an Arduino sunflower that tracks light using a servo motor and two photoresistors. The circuit diagram and Arduino code are provided. The project demonstrates the phototropic behavior of sunflowers and has applications in improving the efficiency of solar energy panels by allowing them to track the sun's movement. Potential improvements include creating a dual-axis tracker for more precise light tracking.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
98 views

ELE551 Embedded Systems and IOT Fundamentals Mid Sem Project Work Project Title: Arduino Sunflower

This document describes a student's mid-semester project to create an Arduino sunflower that tracks light using a servo motor and two photoresistors. The circuit diagram and Arduino code are provided. The project demonstrates the phototropic behavior of sunflowers and has applications in improving the efficiency of solar energy panels by allowing them to track the sun's movement. Potential improvements include creating a dual-axis tracker for more precise light tracking.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

ELE551 Embedded Systems and IOT fundamentals

MID SEM PROJECT WORK

PROJECT TITLE:
Arduino Sunflower

Name: KRISHNAMURTHY D
Reg No: 1940135
Class: 5CME
INDEX

1. Introduction

2. Equipment’s and Components

3. Circuit Diagram

4. Connection

5. Circuit Working

6. Procedure

7. Arduino Program

8. Application

9. Improvements

10. Reference

INTRODUCTION:
The sunflower (Helianthus annuus) is a living annual plant in the family Asteraceae, with a
large flower head (capitulum). The stem of the flower can grow up to 3 metres tall, with a
flower head that can be 30 cm wide.

Sunflowers one of the several plant species that make the optimum use of light. The steps of
the sunflower turn to face the sun. This process is called phototropism. Phototropism is the
ability of a plant to grow in the direction of the sources of light through this process the plants
track like to enhance photosynthesis. Photosynthesis is the process of creating food from light
and thus increasing its growth rate. In this project I have designed an Arduino Sunflower
which turns towards the source of light and helps us demonstrate the process of phototropism
in a sunflower. In this project the sunflower follows the light using a servo motor and two
photoresistors.

EQUIPMENTS AND COMPONENTS:


1. Arduino UNO Board
The Arduino (Uno) Board is a micro-controller board that was created to house the
ATmega328 chip. The chip is a high performance and low power 8-bit micro-controller that
has 23 programmable I/O lines, 32K bytes of flash memory (of which 0.5KB is already used
for the Boot loader), 1k bytes of EEPROM and 2k bytes of RAM. The Arduino Uno board
provides the user with 6 analog input pins, 14 digital I/O pins of which 6 of them can also be
used for PWM outputs, a power jack, a USB port, an ICSP header, a reset button, a small
LED connected to digital pin 13, and a 16MHz crystal oscillator.

3 Servo Motor
A servomotor is rotary actuator that allows for a precise control of angular position, velocity
and acceleration.

4. Photoresistor (LDR)
A photoresistor is a passive component that decreases resistance with respect to receiving
luminosity on the component's sensitive surface.

5. 10K ohm Resister

6. Jumper Wire

7. USB cable

CIRCUIT DIAGRAM:
MY CIRCUIT IMAGE:
CONNECTIONS:

Connect the circuit as shown in the circuit diagram.

Servo Motor
 Yellow wire - D9
 Red wire - 5V
 Brown wire - Ground (GND)

LDR
 First – A0
 Second – A1
Connect one end of the LDR to 5V and the other to 10kΩ resistor. The other end of the
resistor must be connected to ground. Connect the A0 port pin where the resistor and
LDR are connected.
WORKING:
This works on the basis of sunlight. When the light falls on the first LDR the servo motor
starts rotating to the right towards the light. when the light falls on the second LDR the servo
motor shifts the direction and rotate to the left towards the light. When there is no light
Source the Servo motor doesn't rotate. In this way the Sunflower attached to the servo motor
turns towards the source of light.

PROCEDURE:
Make the connections as shown in the circuit diagram, open the Arduino IDE and type LDR
controlled servo motor program in the editor and run it, rectify the errors if any.

Arduino Program:

#include <Servo.h> // simplifies all servomotor operation


int sensorPin1 = A0; // set the integer variable to which you assign the pin to which the
sensor is connected, in this A0

int sensorPin2 = A1; // set the integer variable to which you assign the pin to which the
sensor is connected, in this A1

int servoPin = 9; // set the integer variable to which you assign the pin to which the
servo motor is connected, in this 9

int sensorValue1 = 0; // sets an integer type variable to which you will


enter the value read by the loop ()

int sensorValue2 = 0; // sets an integer type variable to which you will


enter the value read by the loop ()

int servoGrad = 90; // sets an integer type variable that indicates the position in degrees
of the servo at the start of the sketch position the servo value at 90 ° if you want to start
from a different angle, you can change this value

int tollerance = 40; //sets an integer type variable to which you specify a tolerance
within which the servo does not rotate even if the sensor detects variations from the
central value, you will see what is best for what
Servo myservo; //initializes the Servo object by assigning it to the myservo instance
void setup() {

pinMode( sensorPin1, INPUT); // sets the pin to which the sensor is connected in
INPUT mode

pinMode( sensorPin2, INPUT); // sets the pin to which the sensor is connected in
INPUT mode

myservo.attach( servoPin ); // using the attach (pin) method of the myservo


object, tell which pin the servomotor is connected to

myservo.write( servoGrad ); // with the write (grad) method set the degrees to
which the servo is to be positioned, at setup () the value
}

void loop() {

sensorValue1 = analogRead(sensorPin1); // read the value from the analogue pin (A0)
with the analogRead () function and assign it to the sensorValue1 variable

sensorValue2 = analogRead(sensorPin2); // read the value from the analogue pin (A1)
with the analogRead () function and assign it to the sensorValue2 variable

if ( sensorValue2 > (512+tollerance) ) // perform the first check if the value read
from line 28 is less than the difference between 512 and the set tolerance six in the
condition where the panel is no longer oriented toward the sun, one of the two resistance
photos is detecting greater intensity than the other, which depends on how you connected
the resistors, in my example is the right photo resistance and to adjust the position of the
panel I have to rotate over the initial 90 degrees, between 90 ° and 180 °

{
if (servoGrad < 180)
servoGrad++; // perform a further check that the servo is not> 180 if the servo
you are using will not be able to go any further if the servo angle is <180 ° then you can
increase the degrees of rotation. The servoGrad ++ expression indicates that the
servoGrad value is increased from 90 to 91,92,93 and so on ... at each loop ()
}

if ( sensorValue1 > (512+tollerance) ) // verifies a condition similar to line 29. In


this case, the value read by the sensor is compared with the sum of 512 + tolerance
{
if (servoGrad > 0)
servoGrad—; // check that the angle the servo is located is not less than 0, even in
this case it would not be possible for the servomotor to perform the required
displacement. Then decreases the servoGrad value one degree for each loop () where the
conditions described
}
myservo.write( servoGrad ); // it is time to move the servo, reuse the write
(degrees) method to get the servo shift to the desired position

delay(100); // wait 100 milliseconds between a detection and the next, this will allow
the servo to reach the position indicated before sensor sensing changes. You can increase
this value of many thousands as the sun takes hours to move.
}

APPLICATION:
The main application of this project is solar tracker. Solar energy is one of the fastest growing
industries in the world. Today more than 65 GW energy is produced by solar power. Since
solar energy is renewable, it is a good power source, especially for developing countries. The
solar panel tracker is designed to follow the sun movement so that maximum light intensity
hits on the solar panel, thus increasing the power efficiency. Use of a solar tracker circuit in
the field of energy production will increase its efficiency by almost 25%. This system can
also be successfully implemented in other solar energy-based projects water heaters and
steam turbines.

IMPROVEMENTS:
There are basically two types of Arduino trackers. One of them is the single axis tracker and
the other is dual axis. Single axis tracking system moves the sunflower from east to west in a
day to point in the direction of the sun. Dual axis trackers use the motor to move the
sunflower in all four directions (North-South & East-West).

REFERENCE:
 https://create.arduino.cc/projecthub/Mako_/arduino-sunflower-c4fd84
 ELE551 Embedded systems Lab Manual 2021
 https://duino4projects.com/arduino-solar-tracker-using-ldr-sensor-servo-motor/
 https://www.instructables.com/Sunflower-Arduino-Solar-Tracke

You might also like