Ich habe hier ein Sketch gebastelt, welches mit Hilfe von LEDs bestimmen soll, aus welcher Richtung mehr Licht kommt. Ich plane nämlich einen Sonnentracker für die Solaranlage auf dem Wohnwagen zu bauen...
fündig bin ich hier geworden: http://netaddict.de/blinkenlights:led-sensor
Habe dann den Code ein wenig angepasst und nun sollte nur noch die Ansteuerung an die entsprechende Stelle eingefügt werden. Hat aber ja mit dem Auswerten nichts zu tun. Hoffe jemand erfreut sich daran! ![]()
const int ledPin1 = 11;
const int ledPin2 = 10;
unsigned long s1 = 0;
unsigned long s2 = 0;
void setup() {
// initialize serial communication
Serial.begin(9600);
}
void loop() {
// set pin to output
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
//charge LED
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
delay(1);
// set pin to input
pinMode(ledPin1,INPUT);
digitalWrite(ledPin1, LOW);
// count time while discharging ledPin1
s1=millis();
while(digitalRead(11)==HIGH){
if (millis()-s1 > 30){
break;
}
};
s1=millis()-s1;
// set pin to input
pinMode(ledPin2,INPUT);
digitalWrite(ledPin2, LOW);
// count time while discharging ledPin2
s2=millis();
while(digitalRead(10)==HIGH){
if (millis()-s2 > 30){
break;
}
};
s2=millis()-s2;
int diff = s1 - s2;
//if s1 - s2 = 0 (same value) do nothing
if(diff != 0) {
if(diff > 0){
Serial.println("<--");
//turn motor in one direction
} else {
Serial.println("-->");
//turn motor in one direction
}
}
delay(500); //wait some time
}
Die Konsole gibt dann, je nach dem, welche LED mehr angestrahlt wird, einen Pfeil aus... das sieht etwa so aus:
-->
-->
-->
-->
-->
<--
<--
<--
<--
<--
-->
-->
