INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Hilfe bei Programmierung ANFÄNGER
01.10.2015, 13:06 (Dieser Beitrag wurde zuletzt bearbeitet: 01.10.2015 13:08 von Klaus(i).)
Beitrag #9
RE: Hilfe bei Programmierung ANFÄNGER
Ihr seid aber ungeduldig.
Der kommt bestimmt wieder.

Mein Vorschlag ist den Status vorher abzufragen.
Code:
if (tasterStatus == HIGH)
{
  digitalWrite(Vorlauf, HIGH);
  digitalWrite(Ruecklauf, HIGH);
}
// Wenn nicht, schalte die LED aus:
else
{
  if (bitRead(PORTB, 5)==1){
    //nur ausschalten, wenn PIN 13 auch angeschaltet
    digitalWrite(Vorlauf, LOW); // schalte die LED aus
    delay(10000);
    digitalWrite(Ruecklauf,LOW); // schalte die LED aus
  }
}

Gruß, Klaus
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
06.10.2015, 12:16
Beitrag #10
RE: Hilfe bei Programmierung ANFÄNGER
Wenn der Schalter nicht gedrückt ist, "fliegt" das Programm in die Else Schleife.
Dort ist das Delay, dadurch schläft der Arduino im Loop, was zu einer entsprechenden Verzögerung beim Einschalten führt.

Vorschlag: Schalterstatus im Loop erfassen und die Einschalt und Ausschalt Sequenz auslagern in Funktionen.
Im Loop als allererstes die Schaltungsänderung abfragen über ne zusätzliche Variable

loop()
{
tasterStatus = digitalRead(tasterPin);

if ( tasterStatus != tasterstatus_ALT)
{
delay (50) ; // simples entprellen
if (tasterStatus)
{
einschalten();
}

else
{
ausschalten();
}
}

TasterStatus_ALT = TasterStatus;

} //Loop Ende


einschalten (void)

{
(...)
}

ausschalten (void)
{
(...)
}



Naja so in etwa... kann mich sicherlich vertippt haben hier und da
Wink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.10.2015, 15:45
Beitrag #11
RE: Hilfe bei Programmierung ANFÄNGER
int TasterPin = 2;
int Vorlauf = 12;
int Ruecklauf = 13;
int TasterStatus = 0;
int TasterStatus_ALT = 0;


unsigned long aus_bei;
int Verzug = 2000;
boolean Zeit_aktiv;

void setup()
{
Zeit_aktiv = false;

pinMode(Vorlauf, OUTPUT);
pinMode(Ruecklauf, OUTPUT);
pinMode(TasterPin,INPUT_PULLUP);
digitalWrite(TasterPin,HIGH);


Serial.begin(9600); //Zur Diagnose im Serial Monitor unter "tools"

}


void loop()
{
TasterStatus = digitalRead(TasterPin);

if ( TasterStatus != TasterStatus_ALT) //Taster wurde bewegt
{
Zeit_aktiv = false; // In jedem Fall, die Verzögerun rücksetzen.

Serial.println("Taster wurde bewegt");
delay (50) ; // Abwarten bis Schalterprellen klar ist
// Das ist nicht gern gesehen, aber bei so einfachen Sachen ok.

TasterStatus=digitalRead(TasterPin);
Serial.println(TasterStatus);
if(TasterStatus) // Taster wurde gedrückt
{
Serial.println("Taster wurde ein geschaltet");
an(); //Aufruf der Funktion an


}
else

{
Serial.println("Taster wurde aus geschaltet");
aus();

}
} // Ende Tastererkennung

if( Zeit_aktiv) //Aufruf nur wenn Aktiv
{
Ende();
}


TasterStatus_ALT = TasterStatus;
}
void an ()

{
digitalWrite(Vorlauf, HIGH);
digitalWrite(Ruecklauf, HIGH);


}
void aus ()
{
Zeit_aktiv=true;
aus_bei = millis(); // Abschaltzeit wird festgehalten
digitalWrite(Vorlauf, LOW);
Serial.println("aus.......");

}

void Ende()
{
if(millis() > aus_bei+Verzug) // Zeit abgelaufen ?
{
Serial.println("Abschaltung nach Ablaufzeit");
digitalWrite(Ruecklauf,LOW);
Zeit_aktiv=false; // Nach Abschaltung zurücksetzen
}

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.10.2015, 07:37
Beitrag #12
RE: Hilfe bei Programmierung ANFÄNGER
Guten Morgen ...

Herzlichen Dank an alle für die Hilfestellung . Das Programm funktioniert nun absolut Einwandfrei und mein auto fährt nun etwas kompfortabler mit Pflanzenöl . Wie aufwändig währe es eine Tankanzeige zu intigrieren ? ( also ähgnlich wie ne Ampel )


Danke nochmal !
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.10.2015, 09:20
Beitrag #13
RE: Hilfe bei Programmierung ANFÄNGER
(21.10.2015 07:37)Icemann_2 schrieb:  ...-Wie aufwändig währe es eine Tankanzeige zu intigrieren ? ( also ähgnlich wie ne Ampel )....

Eine Anzeige ist sicher kein Problem, aber wie willst du den Tankinhalt messen?
Ich sehen da immer ein Risiko, auch bei Pflanzenöl.Huh

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.10.2015, 09:40 (Dieser Beitrag wurde zuletzt bearbeitet: 21.10.2015 11:44 von Klaus(i).)
Beitrag #14
RE: Hilfe bei Programmierung ANFÄNGER
Man kann da eine kapazitive Messung durchführen.
Dazu am Tank ein Kunststoffrohr anbringen und außen am Rohr an gegenüber liegenden Seiten je eine Cu oder Al-Folie.
Dies ist dann ein Kondensator.
Das Öl im Rohr ändert die Kapazität.
   

Das Rohr muss oben eine kleine Belüftung haben bzw. oben wieder im Tank enden.

Im Netz gibt es dazu ein zwei Lösungen.

Gruß, Klaus

EDIT:
Alternativ machst Du in das Rohr einen Tennisball rein und zwei Lichtschranken in das Rohr.
Wenn dir das von der Genauigkeit reicht, ist dies die einfachste Methode.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.10.2015, 15:51 (Dieser Beitrag wurde zuletzt bearbeitet: 23.10.2015 19:41 von Binatone.)
Beitrag #15
RE: Hilfe bei Programmierung ANFÄNGER
Schlauchwaage aus dem Baumarkt vielleicht?
Big Grin

Im Ernst:
Zuerst dachte ich einen Ultraschallsensor.
K.V. (Kannste Vergessen)
Das Öl schwappt im Tank und schon ist der Sensor hinüber.

Kapazitiven Sensoren dürften funktionieren, sind aber nicht einfach in der Programmierung.

Ich würde glaub ich auf nen simplen Tankgeber vom Schrottplatz setzen.
Ist ja nix anderes wie ein Poti.
Allerdings werden die vermutlich bei Diesel und Benzin lange halten, bei Pflanzenöl jedoch auf Dauer zum Versager mutieren.

Binatone

Wie sieht das denn aus, wenn man einfach die Laufzeiten erfasst?
Ist die Laufzeit/Einschaltzeit einigermaßen proportional zum Verbrauch?
Wenn der Verbrauch nämlich nur um plus/minus 10% schwankt, sollte sich darüber so ne "Ampel-Eieruhr" doch schon ausreichend genau betreiben lassen
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Ublox Neo 6M und Nextion ! Bitte um Hilfe. b3ta 19 806 13.07.2017 14:52
Letzter Beitrag: Tommy56
  Anfänger sucht erfahrene Hilfe Customizer 21 1.163 11.07.2017 21:37
Letzter Beitrag: Customizer
  Bitte um Hilfe Arduino Nano-MAX7219-PIR_Sensor Opa_Klaus 35 1.503 20.05.2017 21:11
Letzter Beitrag: Opa_Klaus
  Brauche Hilfe für meine Abfüllanlage/ millis() Slash96 8 562 10.05.2017 21:04
Letzter Beitrag: MicroBahner
Question Problem beim Hochladen auf AtTiny45. Hilfe -.- Jonas Lindenblatt 17 1.104 16.04.2017 12:58
Letzter Beitrag: Jonas Lindenblatt
  Programmierung von PCa9685 Shield im Bezug auf Arduinos Crazydiver 5 311 10.04.2017 12:20
Letzter Beitrag: hotsystems
  Zeitschaltuhr Hilfe für RTC Anfänger 4Jordy 4 459 24.03.2017 15:23
Letzter Beitrag: MicroBahner
  Programmierung Schleife florikus 0 262 03.03.2017 18:46
Letzter Beitrag: florikus
  Hilfe bei Taster huber5093 11 570 14.02.2017 19:26
Letzter Beitrag: Tommy56
  Slider Steuerung, Programmierung blueblack 21 1.689 16.10.2016 22:31
Letzter Beitrag: blueblack

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste