/*Solar tracking system
https://srituhobby.com
*/
//Include the servo motor library
#include <Servo.h>
//Define the LDR sensor pins
#define LDR1 A0
#define LDR2 A1
//Define the error value. You can change it as you like
#define error 10
//Starting point of the servo motor
int Spoint = 90;
//Create an object for the servo motor
Servo servo;
void setup() {
//Include servo motor PWM pin
servo.attach(11);
//Set the starting point of the servo
servo.write(Spoint);
delay(1000);
}
void loop() {
//Get the LDR sensor value
int ldr1 = analogRead(LDR1);
//Get the LDR sensor value
int ldr2 = analogRead(LDR2);
//Get the difference of these values
int value1 = abs(ldr1 - ldr2);
int value2 = abs(ldr2 - ldr1);
//Check these values using a IF condition
if ((value1 <= error) || (value2 <= error)) {
} else {
if (ldr1 > ldr2) {
Spoint = --Spoint;
}
if (ldr1 < ldr2) {
Spoint = ++Spoint;
}
}
//Write values on the servo motor
servo.write(Spoint);
delay(80);
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
servo1:GND
servo1:V+
servo1:PWM
ldr1:VCC
ldr1:GND
ldr1:DO
ldr1:AO
ldr2:VCC
ldr2:GND
ldr2:DO
ldr2:AO
r1:1
r1:2
r2:1
r2:2