• Welcome to LusoRobótica - Robótica em Português.
 

Tutorial LCD caracteres 16x2 Paralelo 4 Bits/8Bits (work in progress)

Started by joaoamaral, 31 de May de 2009, 14:11

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

rafhit

por exemplo este
Quote
/*
  LiquidCrystal Library - Blink
 
 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the 
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.
 
 This sketch prints "Hello World!" to the LCD and makes the 
 cursor block blink.
 
 The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * 10K resistor:
   * ends to +5V and ground
   * wiper to LCD VO pin (pin 3)
 
 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe 
 modified 25 July 2009
 by David A. Mellis
 
 http://www.arduino.cc/en/Tutorial/LiquidCrystal
 
 */

// include the library code:
#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
  // set up the LCD's number of rows and columns:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // Turn off the blinking cursor:
  lcd.noBlink();
  delay(3000);
   // Turn on the blinking cursor:
  lcd.blink();
  delay(3000);
}




so vejo os pontos de interrogaçao...

ricardo-reis

admitindo que a tua configuração de pinos está correcta, o teu problema está na função setup..


void setup() {
  // set up the LCD's number of rows and columns:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}


tu mandas escrever na 16ª posição da 3ª linha.. que n existem..

lcd.begin(x,y);

nesta função, os valores de x variam entre 0 e 15 e os valores de y variam entre 0 e 1.. muda os valores d'acordo com esta explicação e com as posições onde queres que apareça o 'hello world' e dps conta como correu..

rafhit

eu tive a ver e falta o pino 10 do arduino no sketch
(LiquidCrystal lcd(12, 11, 5, 4, 3, 2);)

acrescentei o 10 e ja funciona, mesmo estando la o
lcd.begin(16, 2);


ricardo-reis

e fica nas posições onde tu querias o texto?

realmente eu confundi a função que eu usava pra definir as posições de escrita, que era a lcd.setCursor(x,y);

a lcd.begin(x,y) n tou a ver o que faz ao certo, pk nunca a usei (se n tou em erro), só indo ao código da biblioteca liquidCrystal ver..

rafhit

ja ta bom!
exprimentei o codigo que o joaoamaral pôs ai e a 2ª linha nao estava a dar..
entao acrescentei ao codigo o lcd.begin(16,2) e ja da xD


Raul

Desculpem de reabrir este tópico mas como o tópico de compra colectiva http://lusorobotica.com/index.php/topic,925.0.html não é possível de lá postar.
Queria saber onde compraram os lcd´s e se estão à espera de mandar vir mais?

Obrigado e cumprimentos.

metRo_


Raul

Pois mas eu não quero estar a abrir um tópico só por quero comprar um lcd.


Cumprimentos

AcidDagger


amando96

Um potenciometro tem três pinos, o do meio ligas ao terceiro pino do lcd, um dos pinos do lado vai para 5v, e o outro do lado para GND, tanto faz qual dos lados vai para 5v, ou gnd, desde que o do meio vá para o lcd.

AcidDagger


AcidDagger

ja agora, existe alguma alternativa ao portenciometro?

é que agora aqui nao tenho nenhum...

amando96

Acho que podes usar duas resistencias, mas não tenho acerteza, outro membro poderá esclarecer :)

Skilgannon

podes usar duas resistências, mas nesse caso o valor não é variável, e depende apenas das duas resistências que la puseste. Tens que fazer as contas bem feitas para saber que voltagem queres.
As resistências ligam-se em serie, com um fio entre elas que vai corresponder ao fio do meio do potenciómetro. E como é claro, uma está ligada ao GND e outra ao VCC.