Не силен я в ардуино, но по СИ
uint16_t Temp1[Temp1Count][2] PROGMEM =
{
{77.95155709,-25,}, //первое число на входе, второе температура
uint16_t = безнаковое 2х байтовое целое ( short )
как вы собираетесь в него дробное число записывать ? ( и тем более отрицательные )
если в ардуино нет плавующей точки, то придеться реализовавыть самому ( примеров в инете уйма ), если есть попробуйте заменить uint16_t на float
з.ы. что касается варианта с double ( либо его нет ) , либо функция вывода не понимает double.
Варианты решения:
1) Проверить функцию вывода, скорей всего она должна понимать double, через формат строку println ("Value = %f",temp[i] );
2) Перед выводом привести к целому. uint16_t u16 = (uint16_t)temp[i];