Śledzenie źródła światła to prosty układ do którego powstania skłonił mnie mój syn. Układ działa na zasadzie, że serwo i fotorezystor skanują jak i poszukują źródła światła w obszarze 180 stopni i rejestrują położenie źródła światła. Po zakończeniu skanowania lub jak kto woli analizy serwomotor jak i fotorezystor zatrzymują się w kierunku z którego dociera światło.
Potrzebne komponenty
Schemat połączeń
Kod programu:
#include <Servo.h>
const int photocellPin = A0;
Servo myservo;
int outputValue = 0;
int angle[] = {0,10, 20, 30, 40, 50, 60,70, 80, 90, 100,110,120,130,140,150,160,170,180};
int maxVal = 0;
int maxPos = 0;
void setup()
{
Serial.begin(9600);
myservo.attach(9);
}
void loop()
{
for(int i = 0; i < 19; i ++)
{
myservo.write(angle[i]);
outputValue = analogRead(photocellPin);
Serial.println(outputValue);
if(outputValue > maxVal)
{
maxVal = outputValue;
maxPos =i;
}
delay(200);
}
myservo.write(angle[ maxPos]);
while(1);
}
Dobre. Jako pozycjoner do fotowoltaiki (po niewielkim tuningu).
Dzięki przydało się do szkoły.