Go Down

Topic: LCD Serial versus Variável numérica (Read 1 time) previous topic - next topic

avoletta

Ola pessoal,

Sou novo por aqui, e tenho uma pequena experiencia com o Arduino.

Comprei um LCD Serial na Mercado Livre (http://produto.mercadolivre.com.br/MLB-223073923-display-lcd-16x4-serial-fundo-azul-c-backlight-_JM),
e consegui faze-lo funcionar apenas com caracteres string (entre aspas). Não consegui ainda passar para o display o conteúdo de uma variável qualquer. Podem me ajudar?

Minha placa: Duemilanove Atmega 168

Meu código atual: (tudo funciona perfeitamente)

//============== Rotina de uso do LCD ===============================

int i;
int j;
char tex[] = "";

//===================================================================
int LCD_inicio(){

  Serial.print("[\a]"); // Limpa a tela do LCD
  delay(10); // Aguarda 10 ms
 
  Serial.print("[\v]"); // Liga cursor
  delay(10); // Aguarda 10 ms
}

//====================================================================

int LCD_print(int i, int j, char tex[]){

  Serial.write(64);
  Serial.write(j);
  Serial.write(i);
  delay(10);

  Serial.print(tex);
  delay(100); 
}

//====================================================================

void setup()
{
  Serial.begin(9600); 
}

//====================================================================

void loop()
{

   
  LCD_inicio();

  LCD_print(1,1,"[Linha 1]");
  delay (2000);
  LCD_print(2,1,"[Linha 2]");
  delay (2000);
  LCD_print(3,1,"[Linha 3]");
  delay (2000);
  LCD_print(4,1,"[Linha 4]");
  delay (2000);
 
 
  delay(5000);
 
}

--------------------------------------------------------------
O que não funciona:

int x = 100;
LCD_print(1,1,(x)); // imaginem que o x está entre [] ao invés de () (mudei porque o forum esta corrompendo a grafia)

Obrigado







Kotch


Ola pessoal,
Sou novo por aqui, e tenho uma pequena experiencia com o Arduino.



Ve se te ajuda um pouco mais com o teu aprendizado:

http://ordemnatural.com.br/Cartilhas%20do%20ARDUINO/CartilhadoArduino_ed10.pdf
8)
????????????????????

mmoscz

Acho que você precisa usar a função sprintf.

que fica na library stdio.h

Faz mais de 15 anos q não programo em C, então só lembro que tem que usar algo do tipo

Code: [Select]

sprintf(variavel, "Aqui parece o valor de  [%i"], X);


Esse link mostra como usar.
http://www.cplusplus.com/reference/clibrary/cstdio/sprintf/

PS. Quando ocorrer um problema parecido com seu ( ), utilize o marcador de CODE que é o # ao digitar a resposta, pois ele mostra o texto direto.

4x Duemilanove (clone)
Uno torrado (clone)
Amiga 1200 40MB
Windows XP

bubulindo

Pesquisa por itoa() que está na stdlib.h . É muito menos pesado que o sprintf (porque não tem de fazer os testes de conversão de float) e faz o mesmo que pretendes. Se pretenderes converter float, podes usar o ftoa().
This... is a hobby.

Go Up