/* Command a four-digits seven-segments display. Use sDisplayDigitValue[] to change the digits values. The digits are listed from left to right. You can use SegmentCharacter.h to get the binary code for a given character. Example: void setup(){ sDisplayDigitValue[0]=SC_4; sDisplayDigitValue[1]=SC_NUMBER[1]; sDisplayDigitValue[2]=SC_EQUAL; sDisplayDigitValue[3]=SC_A; } void loop(){ powerSegmentDisplay(); delay(20); } */ #include "SegmentDisplay.h" const int pinSDisplayShiftRegisterSER=23; const int pinSDisplayShiftRegisterRCLK=22; const int pinSDisplayShiftRegisterSRCLK=5; const byte pinSDisplayDigit[4]={17,18,19,21}; byte sDisplayDigitValue[]={0,0,0,0}; void setupSegmentDisplay(){ pinMode(pinSDisplayShiftRegisterSER,OUTPUT); pinMode(pinSDisplayShiftRegisterRCLK,OUTPUT); pinMode(pinSDisplayShiftRegisterSRCLK,OUTPUT); for(int i=0;i 9999 or <-999. */ void setNumberToDisplay(int number){ if(number<0){ sDisplayDigitValue[0]=SC_MINUS; if(number<-999){ sDisplayDigitValue[0]=SC_E; } number=number*-1; }else{ sDisplayDigitValue[0]=SC_NUMBER[number/1000]; } int n=number%1000; sDisplayDigitValue[1]=SC_NUMBER[n/100]; n=n%100; sDisplayDigitValue[2]=SC_NUMBER[n/10]; n=n%10; sDisplayDigitValue[3]=SC_NUMBER[n]; if(number>9999){ sDisplayDigitValue[0]=SC_E; } }