arduino - delay() does not work with seven segment LED -


my question is, how display variable in 7 segment led? want refresh display every 2 seconds, if execute code below, not display properly. solutions?

#include "sevseg.h" int reading; int temppin = 0; float tempc; unsigned long starttime = millis(); sevseg sevseg; //initiate 7 segment controller object  void setup() {     analogreference(internal);     serial.begin(9600);     byte numdigits = 4;     byte digitpins[] = {2, 3, 4, 5};     byte segmentpins[] = {6, 7, 8, 9, 10, 11, 12, 13};     sevseg.begin(common_anode, numdigits, digitpins, segmentpins);     sevseg.setbrightness(90); }  void loop() {     unsigned long currenttime = millis();     unsigned long elapsedtime = currenttime - starttime;     if(elapsedtime > 2000) {         tempc = temprequest();         sevseg.setnumber(tempc, 2);         sevseg.refreshdisplay(); // must run repeatedly         starttime = currenttime;     } }  float temprequest() {     reading = analogread(temppin);     tempc = reading / 9.31;     return tempc; } 

as comment in code points out, need call sevseg.refreshdisplay(); repeatedly , not every 2 sec.

its's mentioned in the documentation:

displaying

sevseg.refreshdisplay(); 

your program must run refreshdisplay() function repeatedly display number. note delays introduced other functions produce undesirable effects on display.

which means must run sevseg.refreshdisplay(); on every loop() execution , not when change number. , use of delay() make not work.

void loop() {      unsigned long currenttime = millis();     unsigned long elapsedtime = currenttime - starttime;       if(elapsedtime > 2000){         tempc = temprequest();          sevseg.setnumber(tempc, 2);         starttime = currenttime;      }     sevseg.refreshdisplay(); // must run repeatedly  } 

Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -