Programmlaufzeit auf 4 7 Segment Display


ich bin ein einem proekt und ein 4 7 segment display sekunden und minuten vom start des programms programmieren. ich habe schon ein programm diese zählt aber nicht im richtigen sekundentakt.

was ist falsch oder könnte ich anders machen???



code: [select]
#include <core_build_options.h>

#include "sevseg.h" //die vorher hinzugefügte library laden
sevseg sevseg;
long zaehler = 0;


void setup() {
 
long zaehler = 0;
 
byte numdigits = 4;
byte digitpins[] = {2, 3, 4, 5};
byte segmentpins[] = {6, 7, 8, 9, 10, 11, 12, 13};
sevseg.begin(common_cathode, numdigits, digitpins, segmentpins);

}

void loop()
{
delay(1);

zaehler++;

 
sevseg.setnumber(zaehler/1000);

sevseg.refreshdisplay();
//erscheinen.
sevseg.setbrightness(90);

}



vielen dank

challenger

ich nehme mal dein zähler läuft ein wenig zu langsam ??

delay ist keine gute idee.
das macht ca. 1 sekunde pause aber dein code macht ja auch noch andere dinge die
zeit brauchen bis du schon >1 sekunde -> ausgabe wieder 1 sekunde warten
und wieder zeit für "alles mögliche". uhr geht nach.

warum eigentlich zähler / 1000 ?
da du bei zähler = 0 anfängst ergibt zähler / 1000 erst nach fast 20 minuten 1 !!!!

besser ist es du misst die zeit mit "millis" !

code: [select]


.
.
.
.

uint32_t lastmillis = 0;

void loop()
{
   if ((millis() - lastmillis) > 1000) // in millisekunden
   {
      lastmillis = millis();
      zaehler ++;
 
      /* tue immer du tun willst */

      lastmillis = millis();
   }

    // , on ........

}



ulli


Arduino Forum > International > Deutsch (Moderator: uwefed) > Programmlaufzeit auf 4 7 Segment Display


arduino

Comments

Popular posts from this blog

Flip address is out of range arduino uno r3

Arduino Uno not uploading

Indesign and MathType fonts