Giới thiệu :
Hôm nay tôi sẽ hướng dẫn các bạn cách để hiển thị dữ liệu ( kí tự , thông tin , ... ) lên LCD 16x2 bằng Arduino cũng như một số các hiệu ứng mà các bạn có thể hiển thị được với LCD .Mục tiêu cần nắm :
Nắm được các pin out của LCD .
Cách kết nối Arduino và LCD .
Chuẩn bị :
Arduino Uno .
LCD 16x2.
Bread board.
Biến trở 10k ( loại nào cũng được ) .
Giới thiệu sơ lược về thư viện LCD :
Thư viện LiquidCrystal là thư viện điều khiển LCD trên Arduino, nó được xây dựng để cho các bạn có thể lập trình điều khiển các module LCD ô vuông một cách nhanh chóng mà không cần phải lập trình nhiều. Thư viện này được viết để phù hợp với con IC HD44780 (con điều khiển module LCD), tuy nhiên, trên thị trường mình toàn thấy các con LCD của Trung Quốc và thư viện này vẫn hoạt động tốt. Nghĩa là, bạn chỉ cần mua module LCD về và gắn vào Arduino, nạp code là chạy được, không cần quan tâm đến IC điều khiển LCD.
Pinout :
- VSS: tương đương với GND - cực âm
- VDD: tương đương với VCC - cực dương (5V)
- Constrast Voltage (Vo): điều khiển độ sáng màn hình
- Register Select (RS): điều khiển địa chỉ nào sẽ được ghi dữ liệu
- Read/Write (RW): Bạn sẽ đọc (read mode) hay ghi (write mode) dữ liệu? Nó sẽ phụ thuộc vào bạn gửi giá trị gì vào.
- Enable pin: Cho phép ghi vào LCD
- D0 - D7: 8 chân dư liệu, mỗi chân sẽ có giá trị HIGH hoặc LOW nếu bạn đang ở chế độ đọc (read mode) và nó sẽ nhận giá trị HIGH hoặc LOW nếu đang ở chế độ ghi (write mode)
- Backlight (Backlight Anode (+) và Backlight Cathode (-)): Tắt bật đèn màn hình LCD.
Lắp mạch :
Module LCD có thể được điều khiển ở chế độ: 4-bit điều khiển và 8-bit điều khiển. Với cách dùng ở chế độ 4-bit, bạn cần 7 chân ở Arduino, và nếu muốn dùng hết khả năng của LCD thì bạn cần 7 + 4 = 11 chân ở Arduino (không nên tí nào). Ngoài ra, mình đã thử hết các hàm trong thư viện LiquidCrystal của Arudino ở chế độ 4-bit thì mọi thứ đều hoạt động tốt cả. Vì vậy, mình sẽ mắc mạch ở chế độ 4-bit điều khiển và hướng dẫn theo hướng này.
Code :
- #include <LiquidCrystal.h>//thư viện LCD
- LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//khai báo chân ( RS,E,d4,d5,d6,d7)
- void setup() {
- lcd.begin(16, 2);//khởi tạo LCD16x2
- lcd.print("T-Hi tech");//in dòng chữ
- }
- void loop() {
- lcd.setCursor(0, 1);//đặt trỏ tại vị trí cột 0 dòng 1
- //dòng trên là 0 dòng dưới là 1 .
- lcd.print("Hello");
- }
Demo:
Blink
Cuộn chữ.
Hãy tự sáng tạo thêm nhiều hiệu ứng cho mình nhé !!! Do kiến thức bị giới hạn nên nếu bài viết có sai sót gì xin các bạn cứ góp ý dưới phần nhận xét.
Không có nhận xét nào