
Въпрос за ARDUINO и LCD дисплей
Arduino-то е с Atmega168. Индикатора е AC-162BYILY-H. Свързани са по описанието -
http://arduino.cc/en/Tutorial/LiquidCry ... x14S864pIA . Използува се библиотеката LiquidCrystal. При изобразяване на променлива тип int, тя се изобразява примерно 123. При изобразяване на променлива float, тя се изобразява примерно 2.34 . Ако преобразувам int във float показанието на дисплея от примерно 123 става 123.00 . Ако преобразувам float в int показанието се сменя примерно от 2.34 на 2 . Примерен код - на аналоговия вход 0 е подадено напрежение от средния крак на потенциометър, включен между + и - на захранването
 |  |  |
 | Код: #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); int a; int b; float c; float d; int e; void setup() { lcd.begin(16,2); } void loop() { b=analogRead(0); a=b; delay(5); b=analogRead(0); a=a+b; delay(20); b=analogRead(0); a=a+b; a=a/3; d=float(a); c=a*5.0/1024.0; e=int(c); lcd.setCursor(0,0); lcd.print(c); lcd.print("V"); lcd.setCursor(8,0); lcd.print(a); lcd.setCursor(0,1); lcd.print(e); lcd.setCursor(8,1); lcd.print(d); delay(100); } |  |
 |  |  |
и резултата от него -
http://relhostpic.eu/images/2014/03/10/jMV79.jpg На първия ред вляво е сметнатото напрежение, вдясно е прочетеното от аналоговия вход (int). На втория ред е сметнатото напрежение, обърнато в тип int, a вдясно - прочетеното от аналоговия вход, обърнато в тип float.
Въпросът ми е такъв - искам да изобразя прочетеното от аналоговия вход и след това сметнато, във вид не примерно 2.38 а 2.4 - един знак след десетичната запетая. Как може да се направи това?