Danke für eure Antworten!
michael_x: Vermutlich meckert der Compiler beim zweiten Mal, dass diff schon definiert ist.
Genau das ist es!
exit status 1 redeclaration of 'int diff'
Wäre dieser Code besser geeignet?
#include // Servo-Library einbinden
Servo horizontal; // Horizontale Servo
int servoh = 90; // Horizontale Servo stehen
Servo vertikal; // Vertikale Servo
int servov = 90; // Vertikale Servo stehen
// LDR Stiftverbindungen
// Name = analogpin;
int ldrlt = 0; // LDR oben links
int ldrrt = 1; // LDR ober rechts
int ldrld = 2; // LDR unten links
int ldrrd = 3; // LDR unten recht
Leere setup ()
{
Serial.begin (9600);
// Servoanschlüsse
// Name.attacht (Pin);
horizontal.attach (9);
vertical.attach (10);
}
Leere Schleife ()
{
int lt = analogRead (ldrlt); // oben links
int rt = analogRead (ldrrt); // oben rechts
int ld = analogRead (ldrld); // unten links
int rd = analogRead (ldrrd); // unten rigt
int dtime = analogRead (4) / 20; // Lesen Potentiometer
int tol = analogRead (5) / 4;
int avt = (LT + RT) / 2; // Mittelwert top
int avd = (ld + rd) / 2; // Mittelwert nach unten
int avl = (lt + ld) / 2; // Mittelwert links
int avr = (RT + rd) / 2; // Mittelwert rechts
int DVERT = avt - avd; // Überprüfen Sie die diffirence zwischen oben und unten
int dhoriz = avl - avr; // überprüfen Sie die diffirence zwischen links und rechts
if (-1 * tol > DVERT || DVERT > tol) // überprüfen, ob die diffirence im Toleranz anderes ändern vertikalen Winkel
{
if (avt > avd)
{
servov = ++ servov;
if (servov > 180)
{
servov = 180;
}
}
else if (avt < avd)
{
servov = --servov;
if (servov < 0)
{
servov = 0;
}
}
vertical.write (servov);
}
if (-1 * tol > dhoriz || dhoriz > tol) // überprüfen, ob die diffirence im Toleranz anderes ändern horizontalen Winkel
{
if (avl > avr)
{
servoh = --servoh;
if (servoh < 0)
{
servoh = 0;
}
}
else if (avl < avr)
{
servoh = ++ servoh;
if (servoh > 180)
{
servoh = 180;
}
}
else if (avl == avr)
{
// gar nichts
}
horizontal.write (servoh);
}
Verzögerung (DTIME);
}
// Die 4 Helligkeitswerte zu Testzwecken an den PC übertragen
Serial.print(ldrlt); // LDR oben links
Serial.print(" - ");
Serial.println(ldrrt); // LDR oben rechts
Serial.print(" - ");
Serial.println(ldrld); // LDR unten links
Serial.print(" - ");
Serial.println(ldrrd); // LDR unten rechts
Quelle: https://www.clickoslo.com/arduino-solar-tracker.html
Bin kein Programmierer, lese mich ein und möchte es mit eurer Hilfe verwenden!