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
  Programme lassen sich nicht auf das Gemma Board downloaden! Jack Sparrow 13 567 08.04.2016 10:01
Letzter Beitrag: hotsystems
  Lampe mit Key leuchten lassen FCraftLP 1 477 05.03.2016 11:44
Letzter Beitrag: hotsystems
  Leds blinken lassen mit if-Abfrage und millis ferdi 11 1.530 24.10.2015 08:54
Letzter Beitrag: Bitklopfer
  Counter rückwärts laufen lassen???? Haustechno 6 916 10.08.2015 18:26
Letzter Beitrag: Haustechno
  mehrere funksteckdosen über arduino laufen lassen. purzele06 12 1.986 28.03.2015 02:03
Letzter Beitrag: Homer
  Arduino mit der Außenwelt kommunizieren lassen raspido 0 747 22.03.2015 19:50
Letzter Beitrag: raspido
  LED Blinken lassen ohne delay und mit einem Ende EddyErdmann 3 3.017 26.10.2014 19:33
Letzter Beitrag: Thorsten Pferdekämper
  led blinken lassen sascha_k 2 1.339 17.10.2014 18:18
Letzter Beitrag: sascha_k
  LED synchron blinken lassen Nimes 10 2.630 06.10.2014 10:56
Letzter Beitrag: scritch
  Motoren links und rechts herum laufen lassen (PWM) BenWolf 7 2.065 22.09.2014 12:37
Letzter Beitrag: BenWolf

Gehe zu:


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