Число перевести в большие символы на 16x2 дисплей

mkvmaks
Offline
Зарегистрирован: 07.07.2013

Есть код:

float n;
n=temperature(data);

В переменной n храниться значение к примеру -25.04. Обычный вывод на дисплей  lcd.print(n);  выведет значение -25.04 в 1 строку. Как преобразовать значение переменной n  в большие цифры??? 

mkvmaks
Offline
Зарегистрирован: 07.07.2013

Ссылки на  работу  с большими символами видел, пробовал все получалось, а вот как значение из переменной вывести не  понимаю ((( 

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

а какие могут быть большие цифры на дисплее 16х2?

Вот такие страшные?

то примеров сих полно - каждой цифре соответствует свой массив символов:
https://www.youtube.com/watch?v=IJ4epNBVpJc
http://duinokit.com/ShowAndTell/viewtopic.php?f=4&t=18
http://woodsgood.ca/projects/2015/01/16/large-numbers-on-small-diplays/
https://www.google.com/search?q=arduino+lcd+big+numbers+clock

vosara
vosara аватар
Offline
Зарегистрирован: 08.02.2014
Необходимо переменную (lcd.print(n);  выведет значение -25.04) 
разбить на отдельные цыфры, тоесть примерно так n1=2, n2=5, n3=0, n4=4 после этого каждую переменную вывести в своё место
Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013
// локальные переменные (делать их глобальными нет смысла)
byte digits[4];  // массив с четырьмя цифрами
unsigned int inputValue = abs(n) * 100; // избавляется от запятой и возможных отрицательных чисел
Digits[0] = (inputValue / 1000) % 10; // первая цифра
Digits[1] = (inputValue / 100) % 10; 
Digits[2] = (inputValue / 10) % 10; 
Digits[3] = (inputValue % 10); // четвертая цифра

// тут выводим эти четыре цифры на дисплей