Hãy cùng tìm hiểu cách kết nối màn hình tinh thể lỏng 84x48 pixel từ Nokia 5110 với Arduino.
Cần thiết
- - Arduino;
- - Màn hình LCD cho Nokia 5110/3310;
- - dây nối.
Hướng dẫn
Bước 1
Hãy kết nối màn hình LCD từ Nokia 5110 với Arduino theo sơ đồ bên dưới.
Bước 2
Nhiều thư viện đã được viết để làm việc với màn hình LCD này. Tôi khuyên bạn nên sử dụng cái này: https://www.rinkydinkelectronics.com/library.php?id=44 (tải xuống tệp LCD5110_Basic.zip).
Để cài đặt, hãy giải nén tệp vào thư mục Arduino IDE / thư viện /.
Thư viện hỗ trợ các tính năng sau.
LCD5110 (SCK, MOSI, DC, RST, CS); - thông báo của màn hình LCD cho biết sự tương ứng với các chân của Arduino;
InitLCD ([độ tương phản]); - khởi tạo màn hình 5110 với chỉ báo độ tương phản tùy chọn (0-127), giá trị mặc định là 70;
setContrast (độ tương phản); - đặt độ tương phản (0-127);
enableSleep (); - Đặt màn hình vào chế độ ngủ;
disableSleep (); - Đưa màn hình ra khỏi chế độ ngủ;
clrScr (); - xóa màn hình;
clrRow (hàng, [bắt đầu], [kết thúc]); - xóa hàng số hàng đã chọn, từ vị trí bắt đầu đến cuối;
invert (đúng); và đảo ngược (sai); - bật và tắt đảo ngược nội dung của màn hình LCD;
print (string, x, y); - hiển thị một chuỗi ký tự với các tọa độ được chỉ định; thay vì tọa độ x, bạn có thể sử dụng LEFT, CENTER và RIGHT; chiều cao của phông chữ tiêu chuẩn là 8 điểm, do đó các dòng phải cách nhau 8 điểm;
printNumI (num, x, y, [length], [fill]); - hiển thị một số nguyên trên màn hình tại một vị trí nhất định (x, y); chiều dài - chiều dài mong muốn của số; điền - một ký tự để lấp đầy "khoảng trống" nếu số lượng nhỏ hơn độ dài mong muốn; mặc định là không gian trống ";
printNumF (num, dec, x, y, [divider], [length], [fill]); - hiển thị một số dấu phẩy động; dec - số chữ số thập phân; dấu chia - dấu thập phân, dấu chấm "." theo mặc định;
setFont (tên); - chọn một phông chữ; phông chữ dựng sẵn được đặt tên là SmallFont và TinyFont; bạn có thể xác định phông chữ của mình trong bản phác thảo;
invertText (true); và invertText (false); - bật / tắt đảo ngược văn bản;
drawBitmap (x, y, data, sx, sy); - hiển thị hình ảnh trên màn hình ở tọa độ x và y; dữ liệu - một mảng chứa một hình ảnh; sx và sy là chiều rộng và chiều cao của bức tranh.
Bước 3
Hãy viết một bản phác thảo như vậy. Đầu tiên, chúng tôi đưa vào thư viện, sau đó chúng tôi khai báo một thể hiện của lớp LCD5110 với các phép gán chân.
Trong thủ tục setup (), chúng tôi khởi tạo màn hình LCD.
Trong thủ tục loop (), chúng ta xóa màn hình và viết văn bản tùy ý bằng một phông chữ nhỏ, dưới nó, bằng một phông chữ trung bình, hiển thị bộ đếm giây.
Bước 4
Hãy hiển thị một bức tranh. Để làm điều này, hãy chuẩn bị một hình ảnh đơn sắc mà chúng tôi muốn hiển thị trên Nokia 5110. Hãy nhớ rằng độ phân giải màn hình là 48 x 84 pixel và hình ảnh không được lớn hơn. Trên trang https://www.rinkydinkelectronics.com/t_imageconverter_mono.php chuyển đổi hình ảnh thành một mảng bit. Tải xuống tệp kết quả có phần mở rộng "*.c" và thêm nó vào dự án thông qua menu: Sketch -> Add File … hoặc chỉ cần đặt tệp vào thư mục phác thảo và sau đó tải lại Arduino IDE.
Bước 5
Bây giờ bạn cần khai báo một mảng với dữ liệu hình ảnh trong mã chương trình (trong mã của tôi, đây là dòng extern uint8_t mysymb;), và sau đó sử dụng hàm drawBitmap () để hiển thị hình ảnh ở vị trí mong muốn trên màn hình.
Bước 6
Tải bản phác thảo lên Arduino. Bây giờ văn bản được thay thế bằng hình ảnh và bộ đếm tăng giá trị của nó mỗi lần.