quinta-feira, 25 de abril de 2013

Display LCD e Arduino

O que muitas pessoas acham, quando se diz ao uso de um display LCD, é que é complexo sua implementação, porém com o Arduino, não.
Veremos a baixo o quão fácil usar um display de 2 linhas e 16 barras em um Arduino qualquer. 
Display LCD
O que precisaremos para esse tutorial será:

      - Display LCD compatível com Hitachi HD44780 driver;
      - Potenciômetro 10K;
      - Alguns jumpers;
      - E claro, o Arduino.

Após ter tudo o que é preciso, iremos seguir o seguinte esquema:



1. Ligaremos o pino Reset (RS) do LCD ao pino digital 12;
2. Pino Enable (E) ao pino digital 11;
3. Pino D4 ao pino digital 5;
4. Pino D5 ao pino digital 4;
5. Pino D6 ao pino digital 3;
6. Pino D7 ao pino digital 2;
7. Vcc do LCD no 5V do Arduino e o GND do LCD no GND do Arduino.
8. E finalmente ligar um potenciômetro de 10K no 5V e GND do Arduino e sua saida em VO do LCD (servirá para regular o contraste do LCD)

Para facilitar as conexões, tenha em mãos o Datasheet do seu modelo do LCD display.

Após tudo conectado, é só programar. Segue logo a baixo uma sugestão de código:


1:  /*  
2:   * LCD RS pin to digital pin 12  
3:   * LCD Enable pin to digital pin 11  
4:   * LCD D4 pin to digital pin 5  
5:   * LCD D5 pin to digital pin 4  
6:   * LCD D6 pin to digital pin 3  
7:   * LCD D7 pin to digital pin 2  
8:   * LCD R/W pin to ground  
9:   * 10K resistor:  
10:   * ends to +5V and ground  
11:   * wiper to LCD VO pin (pin 3)  
12:  */  
13:  #include <LiquidCrystal.h>
14:  // initialize the library with the numbers of the interface pins  
15:  LiquidCrystal lcd(12, 11, 5, 4, 3, 2);  
16:  void setup() {  
17:   // set up the LCD's number of columns and rows:   
18:   lcd.begin(16, 2);  
19:   // Print a message to the LCD.  
20:   lcd.print("hello, world!");  
21:  }  
22:  void loop() {  
23:   // set the cursor to column 0, line 1  
24:   // (note: line 1 is the second row, since counting begins with 0):  
25:   lcd.setCursor(0, 1);  
26:   // print the number of seconds since reset:  
27:   lcd.print(millis()/1000);  
28:  }  

0 comentários:

Postar um comentário