Hallo liebe Gemeinde,
ich bin der neue hier. Mein Name ist Dieter. Habe mir den Arduino gekauft um ein Bewässerungssystem zu bauen. Das erste funktioniert seit 6 Monaten einwandfrei. Nun wollte ich ein zweites bauen. bei der selben Software die ich für das erste System nahm gab es jetzt folgende Fehlermeldungen.
C:\Users\Udi15\Documents\Arduino\4 Canal Bewaesserungssystem arbeits\4 Canal Bewaesserungssystem arbeits.ino:104:1: error: 'Serial' does not name a type
Serial.print("MOISTURE LEVEL:");
^~~~~~
C:\Users\Udi15\Documents\Arduino\4 Canal Bewaesserungssystem arbeits\4 Canal Bewaesserungssystem arbeits.ino:105:1: error: 'value4' does not name a type
value4 = analogRead(Pin4);
^~~~~~
C:\Users\Udi15\Documents\Arduino\4 Canal Bewaesserungssystem arbeits\4 Canal Bewaesserungssystem arbeits.ino:106:1: error: 'Serial' does not name a type
Serial.println(value4);
^~~~~~
C:\Users\Udi15\Documents\Arduino\4 Canal Bewaesserungssystem arbeits\4 Canal Bewaesserungssystem arbeits.ino:107:1: error: expected unqualified-id before 'if'
if(value4>220)
^~
C:\Users\Udi15\Documents\Arduino\4 Canal Bewaesserungssystem arbeits\4 Canal Bewaesserungssystem arbeits.ino:113:1: error: expected unqualified-id before 'else'
else
^~~~
C:\Users\Udi15\Documents\Arduino\4 Canal Bewaesserungssystem arbeits\4 Canal Bewaesserungssystem arbeits.ino:119:1: error: 'Serial' does not name a type
Serial.println();
^~~~~~
exit status 1
Compilation error: 'Serial' does not name a type
Komisch ist das ich nichts geändert habe.
Der Programmcode:
//Automatisches Bewaesserungssystem 6 Canal
//Defination der 6 Steuerpins
int IN1 = 2;
int IN2 = 3;
int IN3 = 4;
int IN4 = 5;
int IN5 = 6;
int IN6 = 7;
//Da der vom Bodenfeuchtesensor erfasste Wert ein analoges Signal ist werden die 4 analogen Anschlsse definiert
int Pin1 = A0;
int Pin2 = A1;
int Pin3 = A2;
int Pin4 = A3;
int Pin5 = A4;
int Pin6 = A5;
//Es muessen 4 Variablen verwendet werden um die von den 4 Sensoren erfassten Werte zu speichern
float value1 = 0;
float value2 = 0;
float value3 = 0;
float value4 = 0;
float value5 = 0;
float value6 = 0;
//In der Setup Funktion, hauptsaechlich mit der Serial.begin Funktion, um die Baudratedes des seriellen Ports
//einzustellen, und mit der pin Mode Funktion um die Eingangs- und Ausgangsfunktion des Ports einzustellen.
//Output zeigt die Ausgangsfunktionan. Input zeigt die Eingangsfunktion an.
void setup() {
Serial.begin(9600);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(IN5, OUTPUT);
pinMode(IN6, OUTPUT);
// --- Signal vom Sensor ---
pinMode(Pin1, INPUT);
pinMode(Pin2, INPUT);
pinMode(Pin3, INPUT);
pinMode(Pin4, INPUT);
pinMode(Pin5, INPUT);
pinMode(Pin6, INPUT);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
digitalWrite(IN5, HIGH);
digitalWrite(IN6, HIGH);
delay(500);
}
//Verwenden Sie abschliessend in der Funktion loop zyklisch die Funktion Serial.Print, um die
//Eingabeaufforderungsinformationen im seriellen Monitor auszugeben. Verwenden Sie die Funktion analogRead um
//den Sensorwert zu lesen. Verwenden Sie dann die Funktion If um den Sensorwert zu bestimmen. Wenn die Anforderungen
//erfuellt sind, schaltet das Relais ein und verwenden Sie die Funktion digitalWrite um die Pumpe zu betreiben.
//Wenn nicht schaltet das Relais aus.
//Es gibt insgesammt 4 Zeilen mit if(value4>550) in der loop Funktion. Dies ist die Anweisung die den Start der
//Pumpe steuert. Der Wert in value muss entsprechend des Wasserbedafes der Pflanze eingestellt werden. Testen.
void loop() {
Serial.print("MOISTURE LEVEL:");
value1 = analogRead(Pin1);
Serial.println(value1);
if(value1>220)
{
digitalWrite(IN1, LOW);
}
else
{
digitalWrite(IN1, HIGH);
}
Serial.print("MOISTURE LEVEL:");
value2 = analogRead(Pin2);
Serial.println(value2);
if(value2>220)
{
digitalWrite(IN2, LOW);
}
else
{
digitalWrite(IN2, HIGH);
}
Serial.print("MOISTURE LEVEL:");
value3 = analogRead(Pin3);
Serial.println(value3);
if(value3>220)
{
digitalWrite(IN3, LOW);
}
else
digitalWrite(IN3, HIGH);
}
Serial.print("MOISTURE LEVEL:");
value4 = analogRead(Pin4);
Serial.println(value4);
if(value4>220)
{
digitalWrite(IN4, LOW);
}
else
{
digitalWrite(IN4, HIGH);
}
Serial.println();
Der Fehler tritt nur ab Serial.print("MOISTURE LEVEL:");
value4 = analogRead(Pin4); auf. Habe auch schon value3 kopiert und auf 4 geändert. Das selbe wieder. Ich finde den Fehler nicht. Ist übrigens mein erstes Projekt.
Arduinoboard ist UNO R3, Softwareversion IDE 2.0.3
Vielleicht kann mir jemand helfen. Finde es schon komisch das die selbe Software auf einmal nicht mehr funktioniert. Vielen Dank. Ach ja, noch ein Hinweis. Ich wollte vorher die Softwareversion auf 2.1.0 updaten, was aber gar nicht funktionierte.
Es Grüsst Dieter