#4_Joystick KY-023
Joystick KY-023 thực chất là tích hợp của 2 biến trở và 1 nút nhấn. Trong chuyên mục “STM32 và ngoại vi” ta sẽ tìm hiểu về ngoại vi này. Đọc biến trở và nút nhấn đã tìm hiểu trong STM32 cơ bản.
———————————
Cùng xem bài viết bên dưới.
Module Joystick KY-023
Datasheet của module này rất ngắn, tại vì nó không có gì phức tạp để mô tả cả. Từ datasheet ta đọc được chức năng và cách thức hoạt động.
Module gồm núm xoay theo 2 trục X và Y (tương ứng với 2 biến trở) và 1 nút nhấn. Để sử dụng ngoại vi ta sẽ dùng Multi ADC và GPIO Input, nếu cần bạn xem lại bài viết “#5.2_Multi ADC | STM32 cơ bản“.
Thực hành trên STM32cubeIDE
Cấu hình chân
Trên STM32, chân PA1, PA2 và PA3 theo thứ tự là chân VRX, VRY và SW của ngoại vi Joystick KY-023. Ta cấu hình PA1 và PA2 là chân ADC còn PA3 là chân I/O (Input).
Về thiết lập cubeMX, đo biến trở nên không cần chú ý đến tần số lấy mẫu. Phần DMA cấu hình như ảnh để nhận được dữ liệu từ ngoại vi vào bộ nhớ. Do độ phân dải của ADC đã là 12bit nên dùng “Word” ~ 16bit để nhận dữ liệu.
Cuối cùng là 1 số lưu ý:
- Khi dùng nút nhấn nhất định hàn điện trở vào module, không nối tắt.
- 2 trục X Y thực chất là 2 biến trở.
Lập trình ngoại vi Joystick KY-023
Phần lập trình thêm hàm MAP() chuyển khoảng giá trị từ (0,4096) về (0,100) để tiện theo dõi.
– 4 giá trị sau lần lượt là khoảng giá trị ban đầu (12bit ~ 212 = 4096) và khoảng giá trị mong muốn.
– Mình mua và dùng con KY-023 9k để test nên nó hơi đểu :v
Và đây là kết quả debug:
Phần cứng và code
Phần cứng sử dụng STM32F411, Joystick KY-023. Phần mềm sử dụng là stm32cubeIDE. File code ví dụ các bạn tải về bên dưới, phần cứng tại Shoppe.
Ta vừa tìm hiểu về ngoại vi Joystick KY-023 trong chuyên mục STM32 và ngoại vi. Mong rằng chuyên mục này sẽ giúp nhiều bạn tiếp cận hơn với dòng vi điều khiển STM32.
Trong bài viết tới ta sẽ tìm hiểu cách sử dụng “cảm biến chạm TTP223”
Các bài viết khác cùng chuyên mục trong “STM32 và ngoại vi“.
Các chuyên mục khác:
Bạn có thắc mắc gì trong bài viết không?
Đánh giá và để lại bình luận bên dưới nhá.