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
tip für Qellcode nur 1mal ablaufen lassen
18.05.2016, 07:06
Beitrag #1
tip für Qellcode nur 1mal ablaufen lassen
Hallo,

Ich bin neu hier und zu dem noch anfänger. Und wollte mal fragen ob jemand für mich einen tip hat den nachfolgenden code zu ändern. Und zwar möchte ich, wenn ZUSTAND1 eingetreten ist, das dieser nur ein einziges mal abläuft. Und wenn ZUSTAND2 eingetreten ist dieser ebenfalls nur einmal abläuft.Mein hauptproblem ist dabei wie ich das richtig formuliere bzw. welche schleife ich benötige.

grüsse Huber

void setup()
{
pinMode(10, INPUT);
pinMode(7,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
}
void loop()

{
if(digitalRead(10) == HIGH) // ZUSTAND1

{ digitalWrite(2,HIGH);
delay(1500);
digitalWrite(2,LOW);

delay(4000);

digitalWrite(3,HIGH);
delay(1500);
digitalWrite(3,LOW);
}

if(digitalRead(10) == LOW) // ZUSTAND2

{
digitalWrite(2,HIGH);
delay(1500);
digitalWrite(2,LOW);

delay(4000);

digitalWrite(7,HIGH);
delay(1500);
digitalWrite(7,LOW);

}


}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.05.2016, 08:46
Beitrag #2
RE: tip für Qellcode nur 1mal ablaufen lassen
Dann musst du mit einer Hilfsvariablen arbeiten.
Diese setzen wenn der Taster gedrückt wird und nach Ablauf deiner Bedingung wieder rücksetzen

zB:
if(digitalRead(10) == HIGH && HV == false);
HV = true;
mach mal was

if(digitalRead(10) == LOW && HV == true);
HV = false

Damit verhinderst du das deine Bedingung mehrfach abgearbeitet wird, auch wenn der Taster noch gedrückt wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.05.2016, 08:53
Beitrag #3
RE: tip für Qellcode nur 1mal ablaufen lassen
Code:
byte Flag1 = 0;
byte Flag2 = 0;

void setup()
{
  pinMode(10, INPUT);
  pinMode(7,OUTPUT);
  pinMode(2,OUTPUT);
  pinMode(3,OUTPUT);
}
void loop()
{
  if(digitalRead(10) == HIGH && Flag1 == 0) // ZUSTAND1
  {
    Flag1 = 1; Flag2 = 0;
    digitalWrite(2,HIGH);
    delay(1500);
    digitalWrite(2,LOW);
    delay(4000);
    digitalWrite(3,HIGH);
    delay(1500);
    digitalWrite(3,LOW);
  }

  if(digitalRead(10) == LOW && Flag2 == 0) // ZUSTAND2
  {
    Flag2 = 1; Flag1 = 0;  
    digitalWrite(2,HIGH);
    delay(1500);
    digitalWrite(2,LOW);
    delay(4000);
    digitalWrite(7,HIGH);
    delay(1500);
    digitalWrite(7,LOW);
  }


}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
18.05.2016, 13:14
Beitrag #4
RE: tip für Qellcode nur 1mal ablaufen lassen
Hallo,

Code:
static boolean DeineVariable = true;

if (Dein Schalter() == Dein Zustand)
{
if(DeineVariable)
{
  // Deine Aktionen je Schalter
  DeineVariable = false;
}
}
else
{
  DeineVariable = true;
}

Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.05.2016, 11:51
Beitrag #5
RE: tip für Qellcode nur 1mal ablaufen lassen
Mahlzeit,

Also erst mal dake. Das hat mir schon sehr weiter geholfen. jetzt muß ich nur noch mal nachfragen, was habe ich eigentlich mit diesen //// byte //// gemacht.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  WS2812b LEDs Wellenlänge wiedergeben lassen avoid 3 361 04.05.2018 21:56
Letzter Beitrag: avoid
  Servo langsamer drehen und auf position lassen Thor Wallhall 13 1.845 12.04.2018 11:42
Letzter Beitrag: BanditBandeh
  2 Schrittmotoren laufen lassen Reinhard112 20 1.489 09.04.2018 19:16
Letzter Beitrag: Tommy56
  2 LEDs unabhängig blinken lassen cappy0815 1 719 26.09.2017 07:42
Letzter Beitrag: hotsystems
  Ausgang "blinken" lassen NormanIGB 11 1.778 28.12.2016 17:20
Letzter Beitrag: Tommy56
  Programme lassen sich nicht auf das Gemma Board downloaden! Jack Sparrow 13 1.870 08.04.2016 10:01
Letzter Beitrag: hotsystems
  Lampe mit Key leuchten lassen FCraftLP 1 1.072 05.03.2016 11:44
Letzter Beitrag: hotsystems
  Leds blinken lassen mit if-Abfrage und millis ferdi 11 3.503 24.10.2015 08:54
Letzter Beitrag: Bitklopfer
  Counter rückwärts laufen lassen???? Haustechno 6 1.652 10.08.2015 18:26
Letzter Beitrag: Haustechno
  mehrere funksteckdosen über arduino laufen lassen. purzele06 12 4.937 28.03.2015 02:03
Letzter Beitrag: Homer

Gehe zu:


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