Go Down

Topic: LCD Serial versus Variável numérica (Read 863 times) 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().
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

Go Up