#include <Servo.h> 
 
Servo myservo;  // create servo object to control a servo 
 
const int analogInPin = A0;  // Analog input pin that the potentiometer is 
//attached to 
const int analogOutPin = 5; // Analog output pin that the LED is attached to 
 
int sensorValue = 0;        // value read from the pot 
int outputValue = 0;        // value output to the PWM (analog out) 
int pos = 0; 
 
void setup() { 
  // initialize serial communications at 9600 bps: 
  Serial.begin(9600); 
  pinMode(analogOutPin, OUTPUT); 
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object 
} 
 
void loop() { 
  // read the analog in value: 
  sensorValue = analogRead(analogInPin); 
  // map it to the range of the analog out: 
  outputValue = map(sensorValue, 0, 1023, 255, 0); 
  // change the analog out value: 
  analogWrite(analogOutPin, outputValue); 
 
  // print the results to the Serial Monitor: 
  Serial.print("sensor = "); 
  Serial.print(sensorValue); 
  Serial.print("\t output = "); 
  Serial.println(outputValue); 
   
  // move the servo motor. The speed is inversely proportional to the light 
//coming in 
  if (outputValue < 200){  
    myservo.write(0); 
    delay(random(outputValue*5,outputValue*20));                   
     
    myservo.write(180);      
    delay(random(outputValue*5,outputValue*20));                   
     
  } 
 
  // wait 2 milliseconds before the next loop for the analog-to-digital 
  // converter to settle after the last reading: 
    delay(2); 
} 
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
ldr1:VCC
ldr1:GND
ldr1:DO
ldr1:AO
servo1:GND
servo1:V+
servo1:PWM