kk logo

 Mit zwei Servomotoren, vier LDR, einem Arduino und der grafischen Programmierung Ardublock, kann dieser einfache Sonnenlichtverfolger gebaut werden. 

 

Die Schaltung des Lichtverfolgers 

Die beiden Servomotoren bekommen VCC und GND vom Arduino, die beiden PWM Pins sind auf 11 und 9 angeschlossen. Die 4 LDR bekommen VCC vom Arduino und sind mit jeweils einem 1K Ohm "pull down" Widerstand an die analogen Eingänge A1,A3,A4 und A4 angeschlossen. Mehr braucht es nicht für diese kleine Bastelei. 

4 LDR Sonnenlichtverfolger arduino selber bauen

 Aufbau der Servo und LDR

 Der untere Servo bewegt sich nach links und rechts. Auf den unteren Servo ist aus Pappe ein Rechteck geklebt und an die Seite der zweite Servo, der sich nach oben und unten bewegt. 

Die LDR für Links und rechts, sind durch eine Pappe getrennt und sind auf den unteren Servo geklebt. Die LDR für oben und unten,sind auch durch eine Pappe getrennt und auf den oberen Servo geklebt. 

So kann zwischen den 4 LDR eine unterschiedliche "Lichtstärke" gemessen werden. 

1 Arduino LDR Servo Sonnen Lichtverfolger

 

Auf diesem Bild etwas besser zu sehen. Oben der angeklebt Servo mit den beiden LDR. Unten die beiden LDR, die durch die Pappe getrennt sind.  

3 Arduino LDR Servo Sonnen Lichtverfolger

 

Ardublock Programm 

Das Programm ist mit Ardublock geschrieben. Im Setup Teil, finden sich die benötigten Variablen. Zudem wird der Servo in die Mitte gefahren und dann gewartet. Im Loop Teil habe ich die sechs benötigten Unterprogramme. Ist alles schön übersichtlich und nach "Aufgaben" geteilt. 

5 Arduino LDR Servo Sonnen Lichtverfolger

 

Unterprogramm 0 und 3

Das Unterprogramm 0 und 3 ist genau das gleiche nur für unterschiedliche LDR. In diesem Teil wird lediglich der LDR ausgelesen und in die Variable geschrieben. Zudem kann im Serial Monitor noch der zugehörige Wer ausgelesen werden. Wobei 0 die L/R und 3 die O/U Bewegung ist. 

6 Arduino LDR Servo Sonnen Lichtverfolger

 

 Unterprogramm 1

Das Unterprogramm 1 wird dann ausgeführt wenn der LDR 1 mehr Licht als der LDR 2 bekommt.

- Der Mathematische Block mit (-dif) sogt dafür dass sich der Servo erst bei einer bestimmt Differenz bewegt. Sonst würde der Servo ggf. ständig hin und her fahren. 

- Der "solange" Block sorgt nun dafür dass sich der Servo erst bewegt wenn in der eingestellten Zeit in der Variablen "zeit", 5 mal nacheinander Der LDR diese Differenz misst. Dieser Teil soll verhinder dass der Servo sich bei einer Wolke die Kurzzeitig von einem der LDR ist, unnötig bewegt. 

- Damit sich der Servo nicht schnell sondern sehr langsam, schritt für schritt dreht, wird die Variablen "Servo" über (+1) runter gezählt bis aus 0. Dann wird nicht mehr gezählt. Der Servo fährt dann auf die in der Variablen gespeicherte Zahl. 

7 Arduino LDR Servo Sonnen Lichtverfolger

 

Unterprogramm 2

Das Unterprogramm 2 ist genau das gleiche nur, dass es ausgeführt wird wenn der LDR 2 mehr Licht misst wie dir LDR 1. 

Der Servomotor wird hier gefahren wenn die Bedingung (LDR2-dif|>=LDR1) erfüllt ist.

Sonst bleibt alles gleich, nur dass der Servo noch oben bis 180 gezählt wird und dann aufhört.  

8 Arduino LDR Servo Sonnen Lichtverfolger

 

 Unterprogramm 4 und 5

Hier bleibt alles gleich bis auf die Pin Nummern. Sonst ist es genau das gleiche Programm.  

9 Arduino LDR Servo Sonnen Lichtverfolger

10 5Arduino LDR Servo Sonnen Lichtverfolger

 

 Nachrichtlich ist das nur ein schönes Experiment, für eine wirklich gute Ausrichtung nach dem Sonnenlicht muss noch etwas mehr bedacht werden. Aber es verdeutlicht die Funktionsweise so einer Anlage sehr deutlich. 

Hier gibt es auch noch den Arduino Code zum kopieren und einfügen in die Arduino IDE. 

2 Arduino LDR Servo Sonnen Lichtverfolger bauanleitung

 

 

King of my heart

Let the King of my heart
Be the mountain where I run
The fountain I drink from
Oh, He is my song

Ronnie

schwäbischer tüftler und bastler, kraftsportler, ADHS power, 43 Jahre, 1 Frau, 5 Kinder und 1003 Ideen. 

ronnie berzins at mee