Mục lục:

Hiệu quả và Giá rẻ: Hiển thị với STM32L4: 13 bước
Hiệu quả và Giá rẻ: Hiển thị với STM32L4: 13 bước

Video: Hiệu quả và Giá rẻ: Hiển thị với STM32L4: 13 bước

Video: Hiệu quả và Giá rẻ: Hiển thị với STM32L4: 13 bước
Video: STM32 - Phân tích và lựa chọn board thực hành 2024, Tháng mười một
Anonim
Image
Image
Giới thiệu
Giới thiệu

Hôm nay, chúng ta sẽ nói về ba chủ đề mà tôi thực sự yêu thích: màn hình LCD tiêu tốn ít năng lượng, STM32 với Core Arduino và Arduino Mega Pro Mini. Đây là bộ ba không thể sai lầm cho Internet of Things. Sau đó, tôi sẽ giới thiệu cho bạn màn hình LCD sáu chữ số HT1621 và tạo một điều khiển mẫu có mã hoạt động trên cả Arduino Mega Pro Mini và STM32 L432KC. Một chi tiết đáng chú ý là mã nguồn của hai vi điều khiển hoàn toàn giống nhau. Tôi cũng sẽ không thay đổi cách ghim. Nó hoàn toàn tuyệt vời!

Bước 1: Giới thiệu

Giới thiệu
Giới thiệu

Màn hình LCD HT1621 có màn hình thường được sử dụng trong đồng hồ vạn năng, cân điện tử, đồng hồ điện tử, nhiệt kế và các thiết bị đo lường điện tử.

• Nó có 6 chữ số với 7 đoạn

• Nó sử dụng giao tiếp SPI 3 dây

• Nó có đèn nền phù hợp với môi trường tối

• Điện áp hoạt động của nó là 4,7 ~ 5,2V

• Nó tiêu thụ 4mA với đèn nền

Lưu ý rằng nó có hơn SIX chữ số, BA dấu thập phân và đồng hồ đo pin có BA vạch.

Bước 2: Thư viện để sử dụng

Chúng tôi sẽ sử dụng thư viện người dùng github ANXZHU, khá đơn giản. Nó có thể được nhìn thấy trong phiên bản gốc trong liên kết dưới đây:

github.com/anxzhu/segment-lcd-with-ht1621

Tên thư viện hơi lạ, vì vậy tôi quyết định đổi tên nó (tệp, lớp, trình xây dựng, v.v.). Tên ban đầu của nó là "A6seglcd". Tôi đã thay thế tên này bằng "lcdlib".

Bước 3: Thư viện

Thêm thư viện "lcdlib".

Truy cập liên kết và tải xuống thư viện.

Giải nén tệp và dán vào thư mục thư viện của Arduino IDE.

C: / Tệp chương trình (x86) / Arduino / thư viện

Bước 4: Trình diễn

Trình diễn
Trình diễn

Lắp ráp mega Arduino

Bước 5: Trình diễn

Trình diễn
Trình diễn

Lắp ráp SMT32

Bước 6: STM32 NUCLEO-L432KC

STM32 NUCLEO-L432KC
STM32 NUCLEO-L432KC

Tôi muốn nhấn mạnh ở đây rằng STM32-L432KC không có bộ chuyển đổi USB nối tiếp. Thay vào đó, nó có một USB đầy đủ, sử dụng giao thức liên kết STMicroelectronics. Do đó, nó khá phức tạp và cho phép gỡ lỗi rất hiệu quả nếu bạn đang sử dụng IR hoặc Microvision. Và là một Arduino Core (MBED, sử dụng công cụ gốc của Microsoft), nó sử dụng các trình biên dịch chuyên nghiệp cao. Tôi có cần nói gì nữa không?

Bước 7: Arduino Mega 2560 PRO MINI

Arduino Mega 2560 PRO MINI
Arduino Mega 2560 PRO MINI

Tôi cũng thích điều này, vì nó là một Arduino "thuần" và "thực". Đó là một Mega, với rất nhiều IO. Nhưng nó là Mini, vì vậy nó phù hợp với mọi nơi. Tôi thích IO ở mọi nơi. Với điều này, tôi thích kết nối Led, SPI, i2c, vv Về mặt này, Mega này là tuyệt vời.

Bước 8: Lắp ráp

cuộc họp
cuộc họp

Trong hệ thống lắp ráp của chúng tôi, hàng ghim đực ở phía trong, trong khi hàng ghim nữ ở phía ngoài cùng, tạo điều kiện thuận lợi cho công việc và kết nối của chúng tôi với bảng điều khiển. Chúng tôi tạo kết nối SPI, hãy nhớ rằng Arduino Mega và bản sao Arduino Nano này có cùng một chốt, đó là STM32-L432KC.

Bước 9: Chương trình

Chúng tôi sẽ tạo một chương trình rất đơn giản, trong đó chúng tôi sẽ viết các ký hiệu khác nhau (chữ cái, số và điểm) trên màn hình.

Hãy nhớ rằng chương trình này hoạt động trên cả Arduino Mega Pro Mini và STM32 L432KC.

Bước 10: Thư viện và biến

Sau đó, chúng tôi sẽ bao gồm thư viện chịu trách nhiệm giao tiếp và thực hiện quyền kiểm soát màn hình. Hàm "const char" hiển thị một bảng mảng. Chính thông qua các vectơ này mà bạn sẽ thực hiện tham chiếu của ký tự được in trên màn hình.

#include // biblioteca para control do display

lcdlib lcd; // instancia do controlador do display / * 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, b, C, c, d, E, F, H, h, L, n, N, P, r, t, U, -, bat, pf, '', * / const char num = {0x7D, 0x60, 0x3E, 0x7A, 0x63, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x77, 0x4F, 0x1D, 0x0E, 0x6E, 0x1F, 0x17, 0x67, 0x47, 0x0D, 0x46, 0x75, 0x37, 0x06, 0x0F, 0x6D, 0x02, 0x80, 0xFF, 0x00}; / * chỉ số num 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 * /

Bước 11: Thiết lập

Để bắt đầu Thiết lập, chúng tôi sẽ xác định các chân, thực hiện thiết lập ban đầu và thiết lập vệ sinh màn hình. Chúng tôi xác định rằng màn hình hiển thị "Xin chào" và sau một khoảng thời gian nhất định, thông báo hiển thị sẽ bị xóa.

void setup () {lcd.run (2, 3, 4, 5); // [cs wr data led +] Defção dos pinos lcd.conf (); // configuração inicial lcd.clr (); // limpa o display // escreve HELLO lcd.display (10, num [17]); lcd.display (8, num [15]); lcd.display (6, num [19]); lcd.display (4, num [19]); lcd.display (2, num [0]); // fim HELLO delay (1000); lcd.clr (); // limpa o display}

Bước 12: Vòng lặp

Ở đây, chúng tôi tạo một hàm có tên "writeLoop", hàm này sẽ viết từ LOOP trên màn hình, sau đó viết tất cả các ký hiệu của mảng của chúng tôi. Chúng tôi cũng có chức năng "writeBattery", chức năng này in các điểm đánh dấu pin.

Cuối cùng, chúng ta có lệnh "lcd.dispnum" ghi giá trị dấu phẩy động.

Bước 13: Tải xuống tệp

PDF

NS

Đề xuất: