Страница 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%!!!  Изображение