Hallo ich habe der Code hier für mein Projekt geschrieben
es hat nicht funktioniert, wie es soll könnt ihr bitte dabei helfen
:Projektverlauf Beschreibung
S1 ganz oben links ist Hauptschalter des Projekts,
S2 ist Programm Anfang Taster
S3 ist Programm stopp Taster
S4 ist einer Drehschalter hat zwei Tastern wenn Taster auf pin4 betätigt das wird der Motor M 6std laufen und 10 Minute Pause je 30 Min und wird auf Display die Zeit gezeigt
und wird auch Fass Voll gezeigt
und wenn Taster auf Pin 5 betätigt wird der Motor 3 stunde laufen je 30 Min 10Min Pause .Das ganz auch wird auf Display gezeigt als Rückzähler
Dann wenn der Programme zu Ende sind dann schaltet Motor und Lüfter aus
der Sensor auf Pin 6 ist eine Hall Sensor (SE014) reagiert auf Magnet
wenn er 20 Sekunde keine Signal bekommt dann schaltet die Lampe am linke Seite an
und wird au Display gezeigt Fehler
Pin 12 und 13 sind zwei Relais die Motor bzw. Lüfter und die Lampe ansteuern
........................................................
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
LiquidCrystal_I2C lcd(0x27,16, 2);
int relayMotor = 11;
int relayLampe = 12;
int programmAn = 2;
int programmAus = 3;
int anValue=0;
int ausValue=0;
int ersteProgramm=4;
int zweiteProgramm=5;
const byte sensorpin = 6;
bool pegel, merker;
uint32_t altzeit;
const uint32_t wartezeit = 2000;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(sensorpin, INPUT_PULLUP);
pinMode(relayLampe, OUTPUT);
pinMode(relayMotor, OUTPUT); //Motor und Luefter parallen anschalten
pinMode(programmAn, INPUT);
pinMode(programmAus, INPUT);
pinMode(ersteProgramm, INPUT);
pinMode(zweiteProgramm, INPUT);
}
void loop() {
anValue=digitalRead(programmAn);
if(anValue==LOW);
{digitalWrite(relayMotor, HIGH);} //Motor&Lüfter sind an
ausValue=digitalRead(programmAus);
if (ausValue==LOW);
{digitalWrite(relayMotor, LOW);}
if (ersteProgramm == HIGH){
lcd.setCursor(0, 0);//Hier wird die Position des ersten Zeichens festgelegt. In diesem Fall bedeutet (0,0) das erste Zeichen in der ersten Zeile.
lcd.print("Prg1 Fassvoll ");
lcd.setCursor(0,1);// In diesem Fall bedeutet (0,1) das erste Zeichen in der zweiten Zeile.
lcd.print("6H je30M 10M Pa ");
relayMotor= HIGH;
delay(5000);
}
else if (digitalRead(zweiteProgramm)== HIGH){
lcd.setCursor(0, 0);
lcd.print("Prg2 Fasshalbvoll");
lcd.setCursor(0,1);
lcd.print("3H je30M 10M Pause");
digitalWrite(relayMotor, HIGH);
}
pegel = digitalRead(sensorpin);
if ( pegel && !merker) {
altzeit = millis();
merker=true;
}
if (! pegel ) merker = false;
while (millis() - altzeit >= wartezeit) {
lcd.print("STOERUNG");
digitalWrite (relayLampe, HIGH);
}