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
Stoppuhr
22.06.2015, 22:23
Beitrag #1
Stoppuhr
Hallo im Forum Smile

Ich habe da eine kleine blöde Frage (bin ein totaler anfänger)

Ich habe in der Schule ein Projekt am laufen, dem ich mir spontan beigeschlossen habe. Hier geht es darum eine Stoppuhr zu entwickeln, die rundenzahlen zählt bzw rundenzeiten von 4 oder 5 bahnen.

Im internet habe ich ein kleines script gefunden, welches glaub ich das erfüllt. Nun die frage: Wo muss ich die schalter oder ggf. das lcd anschließen??

Hier das script:
Code:
#include <Time.h>  //Time Library hinzufügen
#include <InvertedTM1638.h>
#include <TM1638.h>

TM1638 module(8, 9, 7);

int modus; //mod
int speicher[8];
int zaehler=1;
char buttons[8];
int pause;
int pauseh;
int pausem;
int pauses;
int lauft;

void setup()
{
  Serial.begin(9600);
  buttons[0]=0b00000001;
  buttons[1]=0b00000010;
  buttons[2]=0b00000100;
  buttons[3]=0b00001000;
  buttons[4]=0b00010000;
  buttons[5]=0b00100000;
  buttons[6]=0b01000000;
  buttons[7]=0b10000000;
  setTime(0,0,0,01,1,1); // Zeit auf 0 stellen
}

void loop()
{
  start();
  reset();
  speichern();
  anzeigen();
  show();
  pausieren();
}

//Speichert die Zeiten in die Rundenspeicherplätze
void speichern(){
  if(module.getButtons()==0b00000001){
    if(zaehler<7){
      speicher[zaehler]=hour()*1000000+minute()*1000+second();
      module.setLED(TM1638_COLOR_RED, zaehler);
      zaehler=zaehler+1;
    }
  }
}

//Zeigt die gespeicherten Zeiten an
void show(){
  for(int i=1; i<8;i++){
    if(module.getButtons()==buttons[i]){
      module.setDisplayToDecNumber(speicher[i],0);
      module.setDisplayToString(" ", 0, 2);
      module.setDisplayToString(" ", 0, 5);
      delay(2000);
    }
  }
}

//Um die Uhr zu pausieren wird die gestoppte Zeit in Variabeln gespeichert, und wen es weiter geht, wird die Zeit damit neu gesetzt
void pausieren(){
  if(module.getButtons()==0b10000000){
    if(pause==0){
      pauseh=hour();
      pausem=minute();
      pauses=second();
      pause=1;
      delay(500);
    }
    else if(pause==1){
      setTime(pauseh,pausem,pauses,1,1,1);
      pause=0;
      delay(200);
    }
  }
}

//Zeigt die aktuell gestoppte Zeit an
void anzeigen(){
  if(pause==0){
    module.setDisplayToDecNumber(hour()*1000000+minute()*1000+second(),0);
    //Lücken zwischen den Zahlen
    module.setDisplayToString(" ", 0, 2);
    module.setDisplayToString(" ", 0, 5);
    delay(300);
  }
}

//Zum starten der Stoppuhr
void start(){
  if(lauft==0){
  
  while(module.getButtons()!=0b10000000){
    delay(10);
  }
  lauft=1;
  setTime(0,0,0,1,1,1);
}}


//Zurücksetzen
void reset(){
  if(module.getButtons()==0b00000011){
    lauft=0;
    for (int i=0;i<8;i++){
      speicher[i]=0;
      zaehler=0;
      module.setLED(TM1638_COLOR_NONE,i);
    }
  }
}
quelle
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
22.06.2015, 23:44
Beitrag #2
RE: Stoppuhr
Ok so ein modul hab ich leider nicht Sad gib es eine andere möglichkeit sowas zu erstellen oder hat wer ein script mit schaltplan?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


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