MINT - Unterricht  mit  Arduino und anderen

Zahlreiche Pflanzen, wie zum Beispiel die Sonnenblume, richten sich tagsüber nach dem Stand der Sonne. Dieses einfache, aber geniale Prinzip lässt sich zur Effizienzsteigerung von Solaranlagen nutzen. Solarmodule, die dem Lauf der Sonne folgen, können deutlich mehr Sonnenenergie einfangen als starre Systeme. Messungen zufolge kann der Mehrertrag 25 bis 45 Prozent betragen.

Damit ein Solarmodul selbstgesteuert dem Lauf der Sonne folgen kann, werden zwei Fotowiderstände benötigt, die ihren Widerstandswert je nach Sonneneinstrahlung ändern. Ummantelt man die Widerstände wie in der Abbildung rechts, werden bei direkter Ausrichtung auf die Sonne beide lichtempfindlichen Flächen gleich belichtet. Wandert die Sonne zu einer Seite aus, wird die entferntere beschattet und der Widerstandswert ändert sich.

Mit einem Arduino und einer passenden Programmierung können solche Unterschiede überwacht und das Solarmodul mit Hilfe eines Servomotors nachgeführt werden. Die folgende Abbildung zeigt, wie das Sensormodul am Servomotor und dieser auf einem passenden Ständer (z.B. eine Handy-Halterung fürs Auto) befestigt werden muss, damit sich das Modul frei drehen kann. Das eigentliche Solarmodul muss hinzugedacht werden.

 

 

 Die Abbildung zeigt, wie die Teile mit dem Arduino zu verbinden sind. Zum besseren Verständnis die Verdrahtung schematisch.

 

 

Beim genaueren Hinsehen wird man erkennen, dass die Fotowiderstände über "normale" Widerstände (10 Kiloohm) mit GND verbunden sind. Wie das praktisch gelöst werden kann, zeigt die letzte Abbildung.

 

Abgebildet sind Vorder- und Rückseite des Sensormoduls. Mit Hilfe einer Lochrasterplatine (ein Stück Pappe genügt auch) werden zwei Fotowiderstände so platziert, dass ihre Beinchen nach hinten herausragen. Zwei werden unmittelbar (Zeichnung rechts oben) zwei über jeweils einen 10 Kiloohm Widerstand (Zeichnung rechts unten) miteinander verlötet. Der Pluspol (5 V) wird mit den direkt verlöteten Beinchen verbunden, der Minuspol (GND) an die Lötstelle zwischen den beiden 10 Kiloohm Widerständen angelegt. Die Datenleitungen (A0 und A1) kommen an die Lötstellen zwischen Foto- und normalem Widerstand.

 

Programmcode: 

#include <Servo.h> 

Servo myservo;

int pos = 90;

int sens1 = A0;

int sens2 = A1;

int tolerance = 2;

 void setup()

{

 myservo.attach(13);

 pinMode(sens1, INPUT);

 pinMode(sens2, INPUT);

 myservo.write(pos);

 delay(2000);

}

 void loop()

{

   int val1 = analogRead(sens1);

   int val2 = analogRead(sens2);

   if ((abs(val1 - val2) <= tolerance) || (abs(val2 - val1) <= tolerance)) {

     } else {

       if (val1 > val2)

       {

         pos = --pos;

       }

       if (val1 < val2)

       {

         pos = ++pos;

       }

    }

    if (pos > 180) {

       pos = 180;

    }

    if (pos < 0) {

       pos = 0;

    }

    myservo.write(pos);

    delay(50);

  }

 



Fotowiderstände und Servos können preiswert im Funduino-Shop erworben werden.