Ljus-kontrollerade Box (5 / 7 steg)
Steg 5: Programmet servo att vända på en viss ljusstyrka
#include < Servo.h >
Servo servo;
int pos = 0;
int sensorPin = 0;
int ledPin = 10;
int ledPin2 = 11;
int sensorValue = 0;
int fadeAmount = 5;
void setup() {
servo.attach(9); förbinder servo till pin 9
pinMode (ledPin, produktionen);
pinMode (ledPin2, produktionen);
servo.write(POS);
Serial.BEGIN(9600);
}
Ogiltig loop () {
sensorValue = analogRead(sensorPin);
Serial.println(POS);
fadeAmount = karta (sensorValue, 0, 1000, 500, 0); kartor-ingång
analogWrite (ledPin, fadeAmount); justerar ljusstyrka lysdioder baseras på ingång
analogWrite (ledPin2, fadeAmount);
om ((sensorValue > 500) & & (pos == 0)) { //turns servo 180° i steg om 1° om input är större än 500 och servo är vid 0
för (; pos < 180; pos + = 1) {
servo.write(POS);
Delay(10);
}
}
om ((sensorValue < 400) & & (pos == 180)) { //turns servo tillbaka 180° i steg om 1° om indata är mindre än 400 och servo är på 180
för (; pos > 0; pos-=1) {
servo.write(POS);
Delay(10);
}
}
}
Detta kommer att användas till att sänka en skugga om ljusstyrkan kände av fotomotstånd är större än 500 och höja skuggan om det är mindre än 400.