esta parte do código define os display são 4
const uint8_t DEGREES[] = {
0x0, 0x0,
SEG_A | SEG_B | SEG_G | SEG_F, // Degree Symbol
SEG_A | SEG_F | SEG_E | SEG_D, // C
};
0x0 e 0x0 --->são os dois primeiros
SEG_A | SEG_B | SEG_G | SEG_F, // Degree Symbol -->acende os leds ABGF da imagem seguinte
SEG_A | SEG_F | SEG_E | SEG_D, // C --> acende os leds AFED da imagem seguinte
Primeiro alteramos este código para
const uint8_t DEGREES[] = {
0x0, 0x0, 0x0,
SEG_A | SEG_B | SEG_G | SEG_F, // Degree Symbol
};
no final temos a referencia do que vai para os digitos
display.showNumberDec(tempC,false,2,0);
Isto faz com que apareçam dois dígitos e nós precisamos de 2,1
basta alterar para
display.showNumberDec(tempC,false,3,0);
Fez esta pergunta no forum do arduino em Feb 17 e ninguém respondeu
Função
showNumberDec()
Esta função serve para mostrar valores no display seguindo os seguintes parâmetros:
1º parâmetro: Número do tipo inteiro. Valores de 0 até 9999;
2º parâmetro: Verdadeiro ou falso. Serve para exibir zeros à esquerda pra valores até 999. O valor padrão é falso.
3º parâmetro: Opcional. Corresponde ao número de dígitos a serem exibidos
4º parâmetro: Opcional. Posição do dígito menos significativo (0 mais à esquerda, 3 - mais à direita).
Pode por isso testar com várias opções
O problema aqui é a ,(virgula).
Se for 25,4 colocamos o valor 254 e acendemos o ponto de forma permanente. Mas, neste caso o TM1637 é para relógio, apenas tem os pinos centrais não existindo o "ponto" ou "virgula", por isso, nunca vai conseguir fazer o termometro com o TM1637
TM1637, aqui fica o datasheet