- Vật liệu thiết yếu
- Giới thiệu ngắn gọn về màn hình LCD ma trận điểm 16 × 2
- ADC trong TIVA Launchpad
- Sơ đồ mạch và kết nối
- Lập trình TIVA TM4C Launchpad cho LCD bằng Energia IDE
- Màn hình LCD 16x2 với Bàn di chuột TIVA
Trong hướng dẫn trước, chúng ta đã bắt đầu tìm hiểu về TIVA TM4C Launchpad và cách điều khiển các chân Đầu vào và Đầu ra Kỹ thuật số của nó bằng Energia IDE. Bây giờ, trong hướng dẫn này, chúng ta sẽ tìm hiểu về giao diện của màn hình LCD 16 × 2 Dot matrix với bảng này để hiển thị thông tin hữu ích và dữ liệu cảm biến.
Màn hình LCD 16x2 là hầu hết chúng ta đã từng bắt gặp điều này thông qua các PCO công cộng hoặc đã sử dụng nó trong các dự án điện tử khác. Màn hình LCD 16x2 là mô-đun hiển thị chi phí thấp, rất tiện dụng cho bất kỳ ứng dụng điện tử nào để hiển thị dữ liệu hoặc thông tin gỡ lỗi khác. Vì vậy, ở đây chúng tôi là Màn hình LCD 16x2 Giao tiếp với TIVA C Series TM4C123G LaunchPad. Ở đây chúng tôi sẽ hiển thị các giá trị ADC và mức điện áp trên màn hình LCD. Một chiết áp được gắn vào để thay đổi các giá trị ADC. Tìm hiểu thêm về Màn hình LCD 16x2 và các chân của nó tại đây.
Vật liệu thiết yếu
- TIVA TM4C LaunchPad từ Texas Instruments
- Màn hình LCD ma trận điểm 16 × 2
- Kết nối dây
Giới thiệu ngắn gọn về màn hình LCD ma trận điểm 16 × 2
Như đã nói trước đó, Energia IDE cung cấp một thư viện tuyệt đẹp giúp giao diện trở thành một miếng bánh và do đó không bắt buộc phải biết bất kỳ điều gì về mô-đun hiển thị. Nhưng, sẽ không thú vị khi hiển thị những gì chúng tôi đang sử dụng !!
Tên 16 × 2 ngụ ý rằng màn hình có 16 Cột và 2 Hàng, cùng nhau (16 * 2) tạo thành 32 hộp. Một hộp duy nhất sẽ trông giống như thế này trong hình dưới đây
Một hộp đơn có 40 pixel (chấm) với thứ tự ma trận gồm 5 Hàng và 8 cột, 40 pixel này cùng nhau tạo thành một ký tự. Tương tự, 32 ký tự có thể được hiển thị bằng cách sử dụng tất cả các hộp. Bây giờ chúng ta hãy nhìn vào sơ đồ chân.
Màn hình LCD có tổng cộng 16 Chân, như hình trên, chúng có thể được phân loại thành bốn nhóm như sau
Các chân nguồn (1, 2 và 3): Các chân này cấp nguồn và mức độ tương phản cho màn hình
Các chân điều khiển (4, 5 và 6): Các chân này đặt / điều khiển các thanh ghi trong IC giao tiếp LCD (có thể tìm thêm thông tin này trong liên kết bên dưới)
Các chân dữ liệu / lệnh (7 đến 14): Các chân này cung cấp dữ liệu về thông tin nào sẽ được hiển thị trên màn hình LCD.
Chân LED (15 và 16): Các chân này được sử dụng để phát sáng đèn nền của LCD nếu cần (tùy chọn).
Trong số tất cả 16 chân này, chỉ có 10 chân được sử dụng bắt buộc để màn hình LCD hoạt động tốt nếu bạn muốn biết thêm về các màn hình LCD này, hãy xem bài viết về LCD này.
Đồng thời kiểm tra giao diện của màn hình LCD 16x2 với nhiều bộ vi điều khiển khác
- Giao diện LCD 16x2 với Vi điều khiển Atmega16 AVR ở chế độ 4 bit
- Giao diện LCD với Vi điều khiển PIC sử dụng MPLABX và XC8
- Giao diện LCD 16x2 với STM32F103C8T6
- Giao diện LCD với MSP430G2 LaunchPad
- Giao diện LCD với Vi điều khiển 8051
- Giao diện LCD 16x2 với Arduino
- Giao diện LCD 16x2 với Raspberry Pi bằng Python
ADC trong TIVA Launchpad
Chiết áp cung cấp đầu ra tương tự nên không thể kết nối nó với các chân kỹ thuật số của Launchpad. Vì vậy, các chân Analog hoặc ADC của MCU được sử dụng để giao tiếp với bất kỳ cảm biến nào có đầu ra là tương tự. TIVA TM4C có 2 kênh ADC với đầu ra 12 bit, điều này có nghĩa là các giá trị tương tự, từ cảm biến hoặc chiết áp, có thể được ánh xạ từ 0 đến 2 ^ 12 (4096) để chuyển đổi chúng thành giá trị kỹ thuật số. Để tìm hiểu thêm về chuyển đổi Analog sang Digital trong Vi điều khiển, hãy nhấp vào liên kết.
Có 12 chân đầu vào tương tự (A0-A11) trong TIVA Launchpad như trong hình bên dưới.
Sơ đồ mạch và kết nối
Sơ đồ mạch hoàn chỉnh để giao diện màn hình LCD ma trận 16 × 2 với TIVA Launchpad TM4C được hiển thị bên dưới.
Một hạn chế chính trong khi giao tiếp các màn hình LCD này là điện áp hoạt động của nó. Màn hình LCD có điện áp hoạt động là + 5V trong khi TM4C chỉ hoạt động với 3.6V. May mắn cho chúng tôi là chân dữ liệu của IC giao diện LCD (HD44780U) có điện áp hoạt động rộng từ 2,7V đến 5,5V. Vì vậy, chúng ta chỉ phải lo lắng về Vdd (chân 2) của màn hình LCD trong khi các chân dữ liệu có thể hoạt động ngay cả với 3.6V.
Bo mạch TIVA mặc định không có chân + 5V, vì vậy cần sử dụng nguồn điện bên ngoài để LCD hoạt động. Hoặc sử dụng nguồn cấp từ board Arduino hoặc sử dụng bộ điều chỉnh điện áp 7805. Đảm bảo kết nối đất của nguồn điện với mặt đất của bo mạch TIVA.
Dưới đây là bảng hiển thị các kết nối giữa LCD và TIVA Launchpad
Tên pin LCD | Bàn di chuột TIVA |
Vss | Đất |
Vdd | Nguồn điện + 5V |
Rs | Ghim PC_6 của TIVA |
R / W | Đất |
Kích hoạt | Pin PB_7 của TIVA |
D4 | Ghim PA_2 của TIVA |
D5 | Ghim PA_3 của TIVA |
D6 | Ghim PA_4 của TIVA |
D7 | Pin PB_6 của TIVA |
Để hiển thị các giá trị chiết áp trên màn hình LCD, hãy kết nối đầu ra Pot với bất kỳ chân analog nào (PE2).
Lập trình TIVA TM4C Launchpad cho LCD bằng Energia IDE
Trước khi tiếp tục giải thích, hãy ghi lại các ghim được sử dụng trong dự án này. Hãy nhìn vào sơ đồ mạch và sơ đồ chân ra của TIVA được đưa ra ở trên. Mã hoàn chỉnh với video hoạt động được đính kèm ở cuối hướng dẫn này.
Energia IDE, theo mặc định, đi kèm với Thư viện cho màn hình LCD 16x2 (LiquidCrystal). Nếu nó không có mặt, hãy tải xuống từ liên kết github này và dán nó vào thư mục thư viện của Energia IDE.
Sau đó, bắt đầu chương trình bằng cách bao gồm thư viện cho LCD và xác định các chân cho nó
#include
Bước tiếp theo là đề cập đến các chân mà LCD được kết nối với, vì chúng ta đã đặt tên cho nó bằng cách sử dụng #define, bây giờ chúng ta có thể chỉ cần đề cập đến tên của các chân LCD. Hãy chắc chắn rằng thứ tự được tuân theo.
Màn hình LCD LiquidCrystal (RS, EN, D4, D5, D6, D7);
Có rất nhiều loại màn hình LCD khác nhau về kích thước và tính chất, vì vậy trong hàm void setup () , trước tiên hãy chỉ định loại LCD bạn đang sử dụng trong dự án. Ở đây chúng tôi đã sử dụng màn hình LCD 16x2.
lcd.begin (16, 2);
Để in thứ gì đó trên màn hình LCD, hãy đề cập đến hai điều trong chương trình. Một là vị trí của văn bản có thể được đề cập bằng cách sử dụng dòng lcd.setCursor () và khác là nội dung cần in có thể được đề cập bởi lcd.print (). Ở đây chúng tôi đang đặt con trỏ thành hàng thứ nhất và cột thứ nhất.
lcd.setCursor (0,0);
Tương tự, chúng ta cũng có thể làm
lcd.setCursor (0, 1); // để đặt con trỏ thành cột thứ nhất, hàng thứ hai
Giống như việc xóa bảng trắng sau khi viết trên đó, màn hình LCD cũng nên được xóa khi có thứ gì đó được viết trên đó. Điều này có thể được thực hiện bằng cách sử dụng dòng dưới đây
lcd.clear ();
Trong vòng lặp () void chức năng, mất giá trị sử dụng nồi ) (analogRead chức năng và lưu trữ giá trị này trong một biến khác và sau đó hiển thị giá trị này.
sensorValue = analogRead (sensorPin); lcd.setCursor (0, 0); lcd.print ("Giá trị ADC:"); lcd.setCursor (10, 0); lcd.print (sensorValue);
Bây giờ, chuyển đổi giá trị ADC này thành điện áp chỉ bằng cách nhân nó với 3,3 vì nó là điện áp cao nhất có thể được chấp nhận bởi các chân bo mạch TIVA. Sau đó chia giá trị nhân với 4096.
lcd.setCursor (0, 1); lcd.print ("Điện áp:"); điện áp = (sensorValue * 3.3) / 4096; lcd.setCursor (10, 1); lcd.print (điện áp);
Chương trình hoàn chỉnh có thể được tìm thấy ở cuối.
Màn hình LCD 16x2 với Bàn di chuột TIVA
Khi phần cứng và mã đã sẵn sàng, chỉ cần kết nối bảng TIVA với máy tính và tải mã lên bảng. Làm theo hướng dẫn trước để tìm hiểu cách tải lên mã trong TIVA Launchpad.
Sau khi mã được tải lên, bạn sẽ thấy màn hình hiển thị như sau.
Bây giờ, chỉ cần xoay chiết áp để thay đổi giá trị ADC và bạn sẽ thấy rằng giá trị điện áp tương ứng cũng sẽ thay đổi, như trong hình dưới đây.
Các mã hoàn chỉnh và video chi tiết có thể được tìm thấy dưới đây. Hãy tiếp tục và thử thay đổi văn bản đang được hiển thị trên màn hình LCD.