Brauch Hilfe bei Programm schreiben für mein Projekt

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);
}

wenn du den Code in Code Tags postest (in der Forumsbeschreibung nachlesen, dann den ersten Beitrag editieren und richtig stellen.)
beschreibst, was dein Programm machen soll(Sollzustand, ).
beschreibst was dein Programm statt dessen macht (Istzustand, Beschreibung des Fehlers, unter welcher Bedingung der Fehler auftritt).
dann kann man dir vieleicht helfen.

Normalerweise hilft es, wenn du dir Variablen auf den Serial Monitor ausgibst und dein Programm selber debugst.

Den K1, K2 kannst du nicht direkt mit UNO ansprechen, wen das ist irgend ein Modul, zeige was für einer. Die Vermutung ist das er nicht für 230V geeignet ist egal was auf den Relais steht.
Für den LCD brauch man keine Pull_Up Widerstände normal sind die schon vorhanden == messen gegen Vcc und SDA, SCL

@noiasca & @fony: Einiges aus dem Thema Arduino programm für eine fassmischer ist wohl noch nicht verstanden oder korrigiert worden. Das halte ich für umso kritischer, als mit Netzspannung hantiert wird.

Danke alles Klar :wink:

Was für eine Dreistigkeit.
Das ist deine Abschlussprüfung.

Hast du dir alle Lösungen für die Aufgaben auch so besorgt?

Zeile 33:
if(anValue==LOW);

Zeile 36:
if (ausValue==LOW);

Damit sind die nachfolgenden Anweisungsblöcke zum Schalten des relayMotor nicht durch die Bedingungen gesteuert, sondern werden immer ausgeführt.

Natürlich nicht, sieh doch ich der Code geschrieben aber trete ich immer Fehler
wenn du keine Antwort hast, dann ignoriere meine Frage

Ich habe deinen Kode durchaus betrachtet,
daraus kann ich sehen, dass du bisher nicht programmiert hast.

Ich empfinde es als absolut unverschämt, derart zu betrügen.

Karma is a bitch.

wenn kein Antwort bitte an der Seite setzen und nicht reinreden :kissing_smiling_eyes:

Wenn man keine Ahnung hat, sollte man bei Prüfungen durchfallen.

Viel Erfolg mit deiner Einstellung zu Ehrlichkeit, Lernen, Üben, etc.

Ach Vorschriften will uns der Herr, der nicht in der Lage ist seinen Abschluss selbst zu realisieren, auch noch machen?

Meinst Du übrigens, wenn Du mit einem neuen Thema nochmal von vorn anfängst, bekommst Du bessere Antworten?

Gruß Tommy

Keine Sorge, die meisten Professoren/Lehrbeauftragten lesen hier mit (oder mindestens die Assistenten). Da gibt es dann bei der Abgabe: Betrug, Note 6, Durchgefallen.

Gruß Tommy

ich habe nicht um die ganze Lösung geboten ihr beide

Zwei halbe Lösungen tun es auch, gell?

2 Likes

Die Lösung werde dir schon gezeigt == deine Fehler im Code

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.