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
Unterprogram, loop, while
27.08.2015, 18:03 (Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2015 18:47 von Marc2014.)
Beitrag #1
Unterprogram, loop, while
Hallo Leute,

ich hab ein Programm das ein 20x4 LCD ( I2C) mit einem rotary encoder steuern soll.

Es klappt auch ganz gut soweit, allerdings gibt es ein Problem wenn ich im "Menü 1" bin das ich mir so umgebaut hab das es aktuelle Messwerte anzeigen soll.

Dann werden die Werte eingefroren mir ist auch klar warum... da ich eine (while ) Abfrage für den Drucktaster des rotary encoders eingebaut habe. diese brauch ich aber um das Menü jeweils erst beim "druck" dieses Tasters zu verlassen. Das Problem ist aber jetzt wie stelle ich das an, das die Messwerte ( Temperatur usw. ) immer "live" bleiben?

Wär schön wenn mir jemand weiterhelfen könnte.

Hier der beschrieben "Problem" Programmteil Wink

Code:
void menue1() {
  
   sensors.requestTemperatures(); // Temp abfragen

  
   lcd.clear();
   lcd.blink_off();
   lcd.cursor_off();
while (!fired) {
  
  
  
    lcd.setCursor(12, 1);

    lcd.print(sensors.getTempCByIndex(0) );
    
    lcd.setCursor(18, 1);

    lcd.write(0xDF);

    lcd.setCursor(19, 1);
  
    lcd.print("C");
    
    lcd.setCursor(15, 0);
  
    lcd.print("LLK");
    
//---------------------------------------------------//

    lcd.setCursor(0, 0);
  
    lcd.print("SYSTEM");
    
    if (schwimmerstatus == 1) {
    
       lcd.setCursor(0, 1);

       lcd.print("bereit");
     }  
    
   if (schwimmerstatus == 0) {
    
       lcd.setCursor(1, 1);

       lcd.print("stop");
     }  
    
    
    
    
//-----------------------------------------------------//


    lcd.setCursor(7, 0);
  
    lcd.print("PUMPE");
    
    if (pumpenstatus == true) {
    
       lcd.setCursor(7, 1);

       lcd.print("aktiv");
     }  
    
   if (pumpenstatus == false) {
    
       lcd.setCursor(8, 1);

       lcd.print("off");
     }  
    
//-----------------------------------------------------//
    
  

  }
  fired = false;
  turned = false;  
  lcd.blink_on();
  
  
}



Gruß Marc

Hat sich erledigt Smile

Ich hab die Temperatur abfrage außerhalb der while schleife gemacht Big Grin

jetzt geht alles

Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.08.2015, 19:11 (Dieser Beitrag wurde zuletzt bearbeitet: 27.08.2015 19:16 von hotsystems.)
Beitrag #2
RE: Unterprogram, loop, while
Schauu mal hier:
http://forum.arduino.cc/index.php?topic=73816.0
Das hier vorgestellte Menü bietet dir alles was du brauchst und ist obendrein noch sehr komfortabel.

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
Question Webserver, Client, Loop Marc2014 6 369 29.07.2016 21:04
Letzter Beitrag: Marc2014
  Funktion in Loop einmalig ausführen Haustechno 4 646 09.03.2016 22:43
Letzter Beitrag: Haustechno
  Loop reset Atwist 27 1.901 10.12.2015 16:58
Letzter Beitrag: hotsystems
  AnalogRead aus Loop-Schleife auskoppeln dna5544 7 1.477 16.07.2015 12:31
Letzter Beitrag: dna5544
  auslagern von Funktion aus der void loop? MaHaI976 19 2.886 22.06.2015 20:38
Letzter Beitrag: MaHaI976
  Loop nur einmal durchlaufen wowa 7 1.841 02.06.2015 20:05
Letzter Beitrag: wowa
  Zykluszeit für einen Loop oder einzelsätze Wampo 6 2.231 19.03.2015 14:10
Letzter Beitrag: Wampo
  Stop Befehl während einer Void - Loop lezz89 13 12.730 17.01.2014 19:40
Letzter Beitrag: demokrit

Gehe zu:


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