Hallo Leute,
ich hab aktuell das problem dass das IDE während dem kompelieren den fehler"exit status 1
'Boden' was not declared in this scope" ausgibt und das obwohl ich an der stelle vom code nichts geändert hab.
In den letzten paar monate hat der sketch ohne problem funktioniert, nur jetzt nach dem ich einen sd-kartenleser intigriert habe und versuche den "delay without delay" zu intigreiren, erkennt er aufeinmal den Void Boden nicht mehr. Bis jetzt hat in so einem fall immer das neustarten des IDE geholfen nur jetzt nicht. Die Void ansich ist in einer extra datei, die ebenfasll Boden heist und die bis jetzt auch ohne problem erkannt wird,Was kann ich machen, damit das Programm wieder kompeliert wird?
#include <SPI.h> //SD-Karten-leser einbinden
#include <SD.h>
File Datei;
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
long laenge;
long cm;
int rainPin1 = A0;
int rainPin2 = A1;
int rainPin3 = A2;
int rainPin4 = A3;
int rainPin5 = A4;
int rainPin6 = A5;
int rainPin7 = A6;
int rainPin8 = A7;
int rainPin9 = A8;
int rainPin10 = A9;
int LEDrot = 3;
int LEDgruen = 5;
int LEDblau = 6;
int Button = 2;
int buttonState = 0;
int Low1 = 750;
int Low2 = 700;
int sensor1 = 0;
int sensor2 = 0;
int sensor3 = 0;
int sensor4 = 0;
int sensor5 = 0;
int sensor6 = 0;
int sensor7 = 0;
int sensor8 = 0;
int sensor9 = 0;
int sensor10 = 0;
unsigned long previousMillis = 0; // speichert wie viele Sekunden seit derletzten Änderung vergangen sind
unsigned long interval = 6000; // Interval zwischen zwei Änderungen
unsigned long previousMillis2 = 0; // speichert wie viele Sekunden seit derletzten Änderung vergangen sind
unsigned long interval2 = 6000; // Interval zwischen zwei Änderungen
void setup() {
pinMode(rainPin1, INPUT);
pinMode(rainPin2, INPUT);
pinMode(LEDblau, OUTPUT);
pinMode(LEDgruen, OUTPUT);
pinMode(LEDrot, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, INPUT);
pinMode(Button, INPUT);
analogWrite(LEDrot, 0);
Serial.begin(9600);
//lcd.clear();
lcd.begin();
if (!SD.begin(10)) //SD-Kareten check
{
Serial.println("Verbindung zur SD Karte fehlgeschlagen");
return;
}
Datei = SD.open("Feuchte.txt", FILE_WRITE);
Datei.println("Dieser Text wird in die Datei geschrieben");
Datei.close();
Datei = SD.open("Feuchte.txt", FILE_READ);
while (Datei.available()) {
Serial.write(Datei.read());
}
Serial.println(" ");
Datei.close(); //SD-Kareten check
}
void loop()
{
digitalWrite(8, LOW); //entfernungsmesser
delayMicroseconds(2);
digitalWrite(8, HIGH);
delayMicroseconds(5);
digitalWrite(8, LOW);
laenge = pulseIn(9, HIGH);
cm = (laenge * 34) / 2000;
Serial.print(cm);
Serial.println("cm");
Serial.println(" ");
Datei = SD.open("Feuchte.txt", FILE_WRITE);
if (cm <= 30) {
Datei.print(cm);
Datei.println("cm");
Datei.println(" ");
Datei.close();
}
Boden();
buttonState = digitalRead(Button);
if (buttonState == HIGH || cm < 30) { //wenn der enfernungsmesser und button an sind
//Boden();
delay(1);
LCD();
lcd.backlight();
}
delay(5000);
}
else { //wenn der entfernungsmesser und button aus sind
lcd.noBacklight();
analogWrite(LEDblau, 0);
analogWrite(LEDrot, 0);
analogWrite(LEDgruen, 0);
}
}