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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy