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
Countdown timer
02.03.2015, 19:54
Beitrag #9
RE: Countdown timer
Was ich oben gepostet habe ist der komplette Sketch ^^
Nur deine Änderungen rein. Und mehr gibts noch nicht. Wobei ich mir jetzt überlegt habe dass es im Grunde fast einfacher wäre wenn ich die Countdowntimer Libary weg lasse. Im Grunde muss ich ja nur auf Knopfdrock die Momenten millis() in einer Variable speichern, da addiere ich meine Zeit mit drauf und ziehe die momentan laufenden millis() ab bis ich bei 0 lande.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.03.2015, 22:40
Beitrag #10
RE: Countdown timer
So, ich habe das ganze umstrukturiert. Ich hoffe es ist nicht zu verwirrend.
Grundsätzliche macht es schon das was es soll. Nur halt noch nicht wirklich elegant.
Ich stell am encoder die Zeit ein, drücke Knopf1 und der Counter läuft ab der gewählten Zeit. Wenn ich Knoopf 2 drücke dann fängt er an von vorn zu Zählen.
Beide zaheln (die laufende und die eingestellte Zeit) Stehen zur Zeit im Display.
Ich möchte das ganze noch so haben dass man erst nur die Einzustellende Zeit angezeigt bekommt. Die kann ich dann bestätigen auf Knopf 1. Und Wenn ich Knopf 2 drücke soll die Anzeige umspringen und mir nur noch die runterlaufende Zeit anzeigen. Dann muss da noch ein Knopf zum Anhalten der Uhr dran der die Uhr aber erst anhält wenn man ihn 5 Sec gedrückt hält. Wie ich das anstgellen soll ist mir noch ein kleines Rätsel.
Wie immer bin ich für Ratschläge und Tipps offen.

Gruß Chris

Code:
#include <Encoder.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>



#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
Encoder myEnc(3, 4);
long oldPosition  = -999;
const int buttonPin_1 = 2;
const int buttonPin_2 = 6;
int buttonState_1 = 0;
int buttonState_2 = 0;
int timea = 0;
int oldmillis = 0;
//------------------------------------------------------------------------------------
void setup()   {    
  Serial.begin(9600);
  pinMode(buttonPin_1, INPUT);
  
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
  display.clearDisplay();
  display.setTextSize(2);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.print("Time");  // Armed = "Scharf", Remaining! = Verbleibende Zeit,
  display.drawFastHLine(0, 16, 128, WHITE);
  display.drawFastHLine(0, 17, 128, WHITE);
  display.display();
  
}
//------------------------------------------------------------------------------------
void loop()   {  

  long newPosition = myEnc.read();
  if (newPosition != oldPosition) {
  oldPosition = newPosition;
  }
  
  int newmillis = (millis()/1000)-oldmillis;
  int timeR = (newPosition/4);
  int time = (timea*60);
  int Sec = time-newmillis;
  int Min = Sec/60;
  int teiler = Min*60;
  
  buttonState_1 = digitalRead(buttonPin_1);
  if (buttonState_1 == HIGH) {
    timea = timeR;
  }
  
   buttonState_2 = digitalRead(buttonPin_2);
  if (buttonState_2 == HIGH) {
    oldmillis = millis()/1000;
  }
  
  display.setTextColor(WHITE);
  display.fillRect(0, 23, 128, 41, BLACK);   // Blöcke löschen
  display.setTextSize(2);
  display.setCursor(0,26);
  display.print(Min);  
  display.print(":");  
  display.print(Sec-teiler);  

//   Funktionierender Encoder zähler
  display.setTextSize(2);
  display.setCursor(0,45);
  display.print(newPosition/4);  
  display.print(" min");

  display.display();

}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  NXT plus Arduino: i2c, Rotationsencoder, Timer-IRQ, DueTimer, PID, keyboard, lib.c HaWe 2 1.228 27.05.2015 08:14
Letzter Beitrag: HaWe
  Timer mit Ablaufsignal escor 2 1.641 06.12.2014 12:51
Letzter Beitrag: marcus

Gehe zu:


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