Страница 1 из 1
float на дисплее HD44780
Добавлено: 19.11.2015{, 13:04}
dim21841
Всем привет. вчера столкнулся с проблемой вывода на дисплей HD44780 значение float.
собирал омметр и не мог вывести значения с точкой.
вопрос: почему в программе дисплей выводит только значения string?
в Arduino IDE запросто написал пару строк кода и передал на дисплей и значение с А7 и результат расчёта.
float на дисплее HD44780
Добавлено: 19.11.2015{, 15:32}
kossn93
переменная float-преобразование строк- вход блока экрана. нет проблем перевести флоат в стринг, или я что-то не понимаю?
float на дисплее HD44780
Добавлено: 19.11.2015{, 15:54}
dim21841
Цитата kossn93 ()200?'200px':''+(this.scrollHeight+5)+'px');">переменная float-преобразование строк- вход блока экрана. нет проблем перевести флоатfloat напрямую в строку не переводится (
вот что я делал:
и что получилось:
а вот пример того как я делал по примеру в Arduino IDE:
// ОММЕТР (С)2013 ALEN Studio by Little_Red_Rat
// Омметр на осное ARDUINO
// Подключение делителя напряжения к ARDUINO
// Arduino 5V -> R1 10kOm -> Arduino Analog 0 -> R2 -> Arduino GND
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7 );
int analogPin = 7; // Анлоговый вход для считывания напряжения с делителя напряжения
float Vout = 0; // Переменная для хранения значения напряжения в средней точки делителя (0-5.0)
float R2 = 0; // Переменная для хранения значения резистора R2
void setup()
{
lcd.begin(16, 2);
Serial.begin(57600); // Подготовка Serial Monitor для вывода информации
}
void loop()
{
Vout = (5.0 / 1023.0) * analogRead(analogPin); // Вычисляем напряжение в средней точки делителя (0-5.0)
R2 = 10000 / ((5.0 / Vout) - 1); // Вычисляем сопротивление R2 (10000 это значение R1 10 кОм)
Serial.print("Voltage: "); //
Serial.println(Vout); // Напряжения в средней точки делителя (0-5.0) для справки
Serial.print("R2: "); //
Serial.println(R2); // Значение сопротивления R2
lcd.setCursor (0, 0);
lcd.print("Voltage: ");
lcd.print(Vout);
lcd.setCursor (0, 1);
lcd.print("R2: ");
lcd.print(R2);
delay(1000); // Пауза 1 сек
}
и вот как это выглядело:
float на дисплее HD44780
Добавлено: 19.11.2015{, 16:51}
Олег
dim21841 писал(а):float напрямую в строку не переводится
В редакторе float к блоку конвертации подключить можно. Обратную конвертацию блок делает. и в описании не написано что float подключать нельзя.
float на дисплее HD44780
Добавлено: 19.11.2015{, 17:26}
dim21841
Цитата Олег ()200?'200px':''+(this.scrollHeight+5)+'px');">Обратную конвертацию блок делает.Хм, и вправду получилось. хотя я вроде пробовал и линии не стыковались(они там разных цветов) и не цеплялись друг к другу. спасибо за совет
вот результат:
float на дисплее HD44780
Добавлено: 19.11.2015{, 19:13}
Олег
Не всегда с первого раза подцепляется, приходится дублировать. А по-поводу цвета - если блок рассчитан на несколько видов, то один идет по умолчанию и меняется на другой при подключении.
float на дисплее HD44780
Добавлено: 19.11.2015{, 21:26}
dim21841
Олег спасибо учту в будущем
float на дисплее HD44780
Добавлено: 19.11.2015{, 22:18}
Олег
Не за что, все мы здесь осваиваем эту классную программу и учимся друг у друга.
float на дисплее HD44780
Добавлено: 19.11.2015{, 23:51}
dim21841
Олег писал(а):все мы здесь осваиваем эту классную программу и учимся друг у друга
Абсолютно согласен и поддерживаю на все 100%!!!