#4_Joystick KY-023

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.

joystick ky-023
Datasheet KY-023

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 ADCGPIO Input, nếu cần bạn xem lại bài viết “#5.2_Multi ADC | STM32 cơ bản“.

Có 1 lưu ý nhỏ về nút nhấn, để sử dụng chúng cần hàn 1 điện trở dán vào nếu chưa có, giá trị tùy ý. Tuyệt đối không được nối tắt do chân VCC và GND sẽ bị thông nhau lúc nhấn nút. Các bạn có thể kiểm tra bằng đồng hồ điện.

Thực hành trên STM32cubeIDE

Cấu hình chân

Trên STM32, chân PA1, PA2PA3 theo thứ tự là chân VRX, VRYSW 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).

Joystick KY-023
Kết nối KY-023 và STM32 (click để phóng to)

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.

joystick ky-023
Hàm Map() (click để phóng to)
– Đầu vào của hàm là giá trị hiện tạ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á.

5/5 - (1 bình chọn)

Similar Posts

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *