Page 323 - 최강 아두이노 퍼스트 참고서
P. 323
sprintf(tempString, "%04d", deciSecond); //Convert
deciSecond into a string that is right adjusted
//sprintf(tempString, "%d", deciSecond); //Convert
deciSecond into a string that is left adjusted
//sprintf(tempString, "%04d", deciSecond); //Convert
deciSecond into a string with leading zeros
//sprintf(tempString, "%4d", deciSecond * -1); //Shows a
negative sign infront of right adjusted number
//sprintf(tempString, "%4X", deciSecond); //Count in HEX,
right adjusted
//Produce an output on the display
myDisplay.DisplayString(tempString, 8); //(numberToDisplay,
decimal point location)
//Other examples
//myDisplay.DisplayString(tempString, 0); //Display string,
no decimal point
//myDisplay.DisplayString("-23b", 3); //Display string,
decimal point in third position
//Check if 100 ms has elapsed
// 100 ms, 0.1 초
if (millis() - timer >= 100)
{
timer = millis();
deciSecond++;
}
delay(5);
}
와이어링 및 업로드 정상 상태인 경우 숫자 증가 하는 것을 볼 수 있습니다.
위의 코드중 myDisplay.DisplayString(tempString, 8); DisplayString 이라는 함수가 있습니다.
SevSeg.h 파일을 열어보면
void SevSeg::DisplayString(char* toDisplay, byte DecAposColon); 라고 정의 되 어 있습니다.
2 번째 파라메터는 DOT 표시입니다. 지정된 위치에 점(DOT)을 표시하게 됩니다.
myDisplay.DisplayString(tempString, 0); // DOT 표시 안함.
myDisplay.DisplayString(tempString, 1); //DOT 표시 1 번째 위치.
myDisplay.DisplayString(tempString, 2); //DOT 표시 2 번째 위치.
myDisplay.DisplayString(tempString, 4); //DOT 표시 3 번째 위치.
myDisplay.DisplayString(tempString, 8); //DOT 표시 4 번째 위치.
2 번째와 3 번째 위치에 DOT 을 표시하고 싶다면
myDisplay.DisplayString(tempString, 2 | 4); // OR 연산자 or 6
323