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
funktion im loop nur einmal ausführen
26.12.2020, 16:42
Beitrag #1
funktion im loop nur einmal ausführen
Hallo zusammen....

folgendes Problem......die Funktion idok() soll einmal laufen wenn der reedschalter gedrückt wird und dann soll das weiter im text laufen, da danach noch andere funktionen abgefragt und durchlaufen werden sollen......so wie ich mir das gedacht habe mit der do / while Schleife begrenzen funktioniert das nicht so wie es soll....ist quasi in der loop gefangen und durchläurft es jedesmal wieder....

wie bekomme ich das am besten hin....

Code:
void loop() {
  // put your main code here, to run repeatedly:


disp.setFont(u8g2_font_5x8_tf);
disp.setCursor(29,30);
disp.println(a);
disp.setCursor(53,30);
disp.println(a);
disp.setCursor(79,30);
disp.println(a);
disp.setCursor(104,30);
disp.println(b);
display.display();
digitalWrite(rot, HIGH);

  if(digitalRead(reed) == HIGH){
      digitalWrite(rot, LOW);
      digitalWrite(grn, HIGH);
      do{
      idok();
      z++;
      }while(z<1);
      currentz = 1;
      z = currentz;
    
  }else{
    digitalWrite(grn, LOW);
    digitalWrite(rot, HIGH);
      display.fillRect(0,8,128,11, BLACK);
  disp.setFont(u8g2_font_crox1h_tf);
  disp.setCursor(0,19);
  disp.println("DNA CHECK");
  disp.setCursor(95,19);
  disp.println("RAPID");
  display.display();
  if(digitalRead(feuer) == HIGH){
    display.fillRect(0,8,128,11, BLACK);
  disp.setFont(u8g2_font_crox1h_tf);
  disp.setCursor(0,19);
  disp.println("ACCESS DENIED");
  display.display();
  mp3_play(3);
  delay(5000);
  display.fillRect(0,8,128,11, BLACK);
  disp.setFont(u8g2_font_crox1h_tf);
  disp.setCursor(0,19);
  disp.println("DNA CHECK");
  disp.setCursor(95,19);
  disp.println("RAPID");
  display.display();  
  }
}
  
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.12.2020, 16:43
Beitrag #2
RE: funktion im loop nur einmal ausführen
Dann schau Dir mal diesen Beitrag an. Da hatten wir ein ähnliches Problem.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.12.2020, 17:00
Beitrag #3
RE: funktion im loop nur einmal ausführen
Und die Antwort hatte ich dir im anderen Thread unter Post #39 schon gegeben.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.12.2020, 17:15
Beitrag #4
RE: funktion im loop nur einmal ausführen
danke für den Denkanstoss......

habe das jetzt so gemacht und bis jetzt läuft das so wie ich es mir wünsche....

Code:
void loop() {
  // put your main code here, to run repeatedly:


disp.setFont(u8g2_font_5x8_tf);
disp.setCursor(29,30);
disp.println(a);
disp.setCursor(53,30);
disp.println(a);
disp.setCursor(79,30);
disp.println(a);
disp.setCursor(104,30);
disp.println(b);
display.display();
digitalWrite(rot, HIGH);

  if(digitalRead(reed) == HIGH){
      digitalWrite(rot, LOW);
      digitalWrite(grn, HIGH);
   if(reedstate == 0){
      idok();
      reedstate = 1;
   }
    
  }else{
    digitalWrite(grn, LOW);
    digitalWrite(rot, HIGH);
      display.fillRect(0,8,128,11, BLACK);
  disp.setFont(u8g2_font_crox1h_tf);
  disp.setCursor(0,19);
  disp.println("DNA CHECK");
  disp.setCursor(95,19);
  disp.println("RAPID");
  display.display();
  if(digitalRead(feuer) == HIGH){
    display.fillRect(0,8,128,11, BLACK);
  disp.setFont(u8g2_font_crox1h_tf);
  disp.setCursor(0,19);
  disp.println("ACCESS DENIED");
  display.display();
  mp3_play(3);
  delay(5000);
  display.fillRect(0,8,128,11, BLACK);
  disp.setFont(u8g2_font_crox1h_tf);
  disp.setCursor(0,19);
  disp.println("DNA CHECK");
  disp.setCursor(95,19);
  disp.println("RAPID");
  display.display();  
  }
  reedstate = 0;
}

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.12.2020, 17:19
Beitrag #5
RE: funktion im loop nur einmal ausführen
Ja, so hatte ich es gedacht.
Prima....

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.12.2020, 17:23
Beitrag #6
RE: funktion im loop nur einmal ausführen
(26.12.2020 17:19)hotsystems schrieb:  Ja, so hatte ich es gedacht.
Prima....

Danke dir schon mal.......werde aber bestimmt noch paar dumme Fragen stellen bevor das Projekt zu ende ist......
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.12.2020, 18:19
Beitrag #7
RE: funktion im loop nur einmal ausführen
(26.12.2020 17:23)Thor Wallhall schrieb:  
(26.12.2020 17:19)hotsystems schrieb:  Ja, so hatte ich es gedacht.
Prima....

Danke dir schon mal.......werde aber bestimmt noch paar dumme Fragen stellen bevor das Projekt zu ende ist......

Dann man los, aber dumme Fragen gibt es nicht. Wink

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  1. Parameterüberrgabe an Funktion. 2. F-Makro in Funktion phg 13 1.141 27.03.2021 16:16
Letzter Beitrag: phg
  von loop nach setup Karl Stanger 5 977 13.03.2021 11:51
Letzter Beitrag: Karl Stanger
  Funktion bis Abbruch ausführen vlakvark 15 1.559 18.02.2021 17:02
Letzter Beitrag: vlakvark
  Programm zurück in den Loop bringen AnjinSan 8 1.143 08.01.2021 20:02
Letzter Beitrag: MicroBahner
  ständiger Programmablauf ohne Funktion AnjinSan 9 1.296 06.12.2020 14:10
Letzter Beitrag: AnjinSan
  return-Anweisung in void loop() wonk 1 1.025 09.10.2020 10:13
Letzter Beitrag: Tommy56
  einmaliger Loop nach Knopfdruck Saftschmuggler 2 1.036 09.08.2020 18:18
Letzter Beitrag: Saftschmuggler
  loop inerhalb von void loop () FoxFactoy 11 2.535 28.06.2020 10:04
Letzter Beitrag: Tommy56
  Mehrere Aktionen unterschiedlich oft mit While ausführen dreikommasieben 3 1.245 19.05.2020 17:11
Letzter Beitrag: dreikommasieben
  PID-Regler PID als Funktion nimmzwei 3 1.732 27.04.2020 20:39
Letzter Beitrag: nimmzwei

Gehe zu:


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