Sử dụng màn hình LCD

Một phần của tài liệu Arduino cho người mới học (Trang 31 - 36)

Màn hình LCD là một trong những thiết bị thường được sử dụng trong để hiển thị các thông số trong quá trình sử dụng Arduino. Bài viết này hướng dẫn cách sử dụng màn hình lcd 16x2 thông dụng trên thị trường. Trong quá trình thực hành, các bạn có thể tham khảo thêm clip trên youtube “Lập trình vi điều khiển-Phần 42-Kết nối màn hình LCD thường với Arduino”.

1. Dụng cụ thực hành:

1 mạch Arduino Uno, 1 màn hình lcd 16x2, 1 rào đực đơn, 1 biến trở 10K, 15 dây đực đực, 1 test board.

2. Màn hình lcd 16x2:

Màn hình lcd 16x2 là loại màn hình có 2 dòng, mỗi dòng có thể viết được 16 ký tự. Loại màn hình này cần được dùng kèm 1 biến trở 10K để chỉnh độ tương phản của chữ so với nền. Nếu không có biến trở này thì có thể không thấy được chữ hiển thị. Hình 27 thể hiện màn hình LCD 16x2

Hình 27. Màn hình LCD 16x2

Khi kết nối màn hình LCD với Arduino, người dùng cần hàn thêm rào đực đơn hoặc rào cái đơn cho 16 chân của màn hình để có thể dùng các dây cắm đực cái hoặc dây cắm đực đực kết nối các chân của LCD với board Arduino. Hình 28 thể hiện rào đực đơn, nếu các bạn mua bộ Arduino cơ bản của shop thì trong bộ này có kèm theo rào đực đơn 16 chân. Hình 29 hướng dẫn cách gá đặt màn hình LCD và rào đực để hàn rào đực đơn vào màn hình LCD. Tiếp đến, hình 30 thể hiện bộ LCD và rào sau khi hàn.

www.ktphuhung.com

Thạc Sĩ Huỳnh Minh Phú 32 www.ktphuhung.com Hình 28. Rào đực đơn 16 chân.

Hình 29. Cách gá đặt màn hình LCD để hàn

Hình 30. LCD và rào đực đơn sau khi hàn xong 3. Test board

www.ktphuhung.com www.ktphuhung.com www.ktphuhung.com

Thạc Sĩ Huỳnh Minh Phú 33 www.ktphuhung.com Nghĩa của từ test board là một board để kiểm tra (test) nhằm giúp người dùng liên kết thử các linh kiện điện tử khác nhau mà không cần hàn linh kiện. Test board gồm các hàng lỗ để cắm chân linh kiện như ở hình 31. Các lỗ nằm trên một hàng được nối với nhau bằng một tấm kim loại bên dưới, 2 hàng khác nhau thì riêng biệt với nhau, không được nối với nhau. Nhờ vậy mỗi hàng chúng ta có thể lấy từng tín hiêu riêng của các thiết bị điện tử hoặc cấp nguồn cho các chân khác nhau.

Hình 31. Test board

4. Cách nối dây

-Chân VSS (GND) nối với chân GND trên board Arduino

-Chân VDD(tương ứng chân VCC trong hình 27) nối với chân 5V trên board Arduino -Chân V0 (chân chỉnh độ tương phản) nối với chân giữa của biến trở 10K (xem hình 26) -Chân RS nối với chân số 12

-Chân RW nối với 1 chân của biến trở 10K, chân này của biến trở cũng được nối với chân GND -Chân E (viết tắt của Enable) nối với chân số 11

-Chân D4 nối với chân số 5 -Chân D5 nối với chân số 4 -Chân D6 nối với chân số 3 -Chân D7 nối với chân số 2

-Chân A (chân thứ 15) nối nguồn 5V của Arduino -Chân K (chân thứ 16) nối với chân GND của Arduino

-Ngoài ra chân còn lại của biến trở cũng được nối với nguồn 5V như được minh họa ở hình 32

Hàng 1 Hàng 2 Hàng 17

Các lỗ trong một hàng

Khối 1 Khối 2

Rãnh ngăn 2 khối

……….

www.ktphuhung.com

Thạc Sĩ Huỳnh Minh Phú 34 www.ktphuhung.com Ở đây, hai chân A và K dùng để bật đèn led nền. Biến trở dùng để chỉnh độ tương phản giữa chữ và màu nền. Bạn đọc có thể vặn núm xoay biến trở để thay đổi độ tương phản của chữ và nền.

Hình 33 thể hiện cách nối dây khi sử dụng test board.

Hình 32. Cách nối dây cho màn hình LCD 16x2 với Arduino Uno

Hình 33. Cách nối dây thự tế sử dụng test board cho LCD www.ktphuhung.com

Thạc Sĩ Huỳnh Minh Phú 35 www.ktphuhung.com 5. Mã code của chương trình

Sau đây là một mã code mà các bạn có thể dùng test màn hình LCD:

#include <LiquidCrystal.h>//Sử dụng thư viện màn hình LCD, thư viện này có sẵn trong Arduino

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//Sử dụng thư viện với các chân đã được kết nối như phần trên

void setup() {

// Thiết lập số lượng hàng và cột của LCD:

lcd.begin(16, 2);//có 2 hàng, 16 cột (16 ký tự) // Print a message to the LCD.

lcd.print("Toi yeu Arduino");//In lên màn hình LCD dòng chữ “Tôi yêu Arduino”

//Dòng chữ này sẽ xuất hiện ở dòng đầu tiên, trong phần mềm tính là dòng số 0

//Có thể thay dòng chữ “Tôi yêu Arduino” bằng dòng chữ khác, miễn sao nhỏ hơn 16 ký tự }

//Lập trình in số giây từ khi bắt đầu chương trình lên LCD void loop() {

// Thiết lập vị trí in là ở cột số 0, dòng 1

//Chú ý: dòng 1 thực chất là dòng 2 vì phần mềm tính từ 0 lcd.setCursor(0, 1);

// In số giây từ khi bắt đầu hoặc từ khi reset lcd.print(millis()/1000);

}

Thạc Sĩ Huỳnh Minh Phú 36 www.ktphuhung.com

Một phần của tài liệu Arduino cho người mới học (Trang 31 - 36)

Tải bản đầy đủ (PDF)

(42 trang)