Deverá remover a conversão da temperatura em número inteiro
alterar linha (498):
t1 = temp1; //Convert the temperature to int for display
Para:
//t1 = temp1; //Convert the temperature to int for display
alterar o código para do display de linha (504)
if (t1 >= 10)
{
data[0] = (t1 / 10); //Calculate and store temperature 10s value
data[1] = (t1 % 10); //Calculate and store temperature 1s value.
data[2] = 10; //Degree symbol
data[3] = 11; //Letter C for Celcius
}
para:
if (t1 >= 10)
{
data[0] = (t1 / 10); //Calcula e grava temperatura décimas
data[1] = (t1 % 10); //Calcula e grava temperatura unidad.
data[2] = 15; //em branco
data[3] = (t1 / 100); //centésimas
}
Fazer as alterações para as outras condições temperaturas negativas linha (522)
O data[2] deve ter o código para o ponto desse display alfanumérico, adicionar o ponto na definição linha (18) DP1 ou DP2
byte digits[21] = { //Bit pattern for 7 segment display
// -ABCDEFG Segments labelled as per datasheet for Kingbright DA56-11EW dual common anode LED display module.
B10000001, // 0 1 represents segment OFF, 0 is ON
B11001111, // 1 the MSB is not used.
B10010010, // 2
B10000110, // 3
B11001100, // 4
B10100100, // 5
B10100000, // 6
B10001111, // 7
B10000000, // 8
B10000100, // 9
B10011100, // Degree symbol
B10110001, // Letter C
B11111110, // - Symbol
B10011111, // Letter E
B11100011, // u
B11111111, // Blank (OFF)
B11110000, // t
B11101010, // n
B11000010, // d
B11100010, // a
B11111110, // -
};
teremos de adicionar o DP1 e DP2, assim,
B00000001 //DP1
se adicionarmos no fim será o digito 22 podemos então colocar o ponto em vez do espaço alterando a condição da linha
data[2] = 15; //em branco
para
data[2] = 22; //com o ponto dp