Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Въпрос за ARDUINO и LCD дисплей
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=12765
Страница 1 от 1

Автор:  AA [ Пон Мар 10, 2014 12:13 pm ]
Заглавие:  Въпрос за 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 - един знак след десетичната запетая. Как може да се направи това?

Автор:  michev [ Пон Мар 10, 2014 2:29 pm ]
Заглавие:  Re: Въпрос за ARDUINO и LCD дисплей

Код:
..
lcd.print(c,1);
..

Автор:  AA [ Пон Мар 10, 2014 3:07 pm ]
Заглавие:  Re: Въпрос за ARDUINO и LCD дисплей

Благодаря! Получи се. Още един въпрос - къде прочете това описание на командата print ? В описанието, което четох - http://arduino.cc/en/Reference/LiquidCr ... x2oBs64pIA - параметъра BASE се отнася за друго. Или пък не съм се ориентирал правилно. Както и да е - още веднъж благодаря!

Автор:  michev [ Пон Мар 10, 2014 3:36 pm ]
Заглавие:  Re: Въпрос за ARDUINO и LCD дисплей

В сорс кода на клас Print :)
Правилно си се ориентирал, просто документацията не изглежда да е пълна. За числа с плаваща запетая втори параметър е за броя цифри след десетичната запетая.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/