Đối với cách đọc nút bấm analog chúng ta thường dùng hàm analogRead() , sau đó dùng if () else .. để so sánh giá trị ADC đọc được và suy ra nút bấm. Nhưng có 1 cách khác đơn giản, hiệu quả và cũng dùng hàm chuẩn thông dụng của Arduino framework, đó là hàm map().
Khai báo : output = map(input, Min_in, Max_in, Min_out, Max_out);
chức năng : ánh xạ giá trị input thành output.
Giá trị input được giới hạn bởi Min_in và Max_in.
Giá trị output được giới hạn bởi Max_in và Max_out.
Từ chức năng của hàm như trên, chúng ta ứng dụng để ánh xạ giá trị ADC đọc được thành nút bấm, ví dụ :
Button = map(input, 0, 1023, 0, Max_Button);
1023 : giá trị tối đa của ADC đọc được (mặc định là 10 bit).
Max_Button : khai báo số nút bấm, cũng chính là số các điện áp trên thang chia voltage.
Như vậy, khi có nút bấm => nhận được giá trị điện áp => nút bấm liền mà không cần phải dùng if() else.
Hơn nữa, khi chúng ta thêm/bớt nút bấm đoạn mã trên vẫn sử dụng bình thường mà không cần phải viết lại như khi dùng if() else.
( Nguyên lý + Code chuẩn) Link Mediafire
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút hiện ra ở góc phải phía trên, nhấn vào để đến trang download
------------------------------------------------------------------------------------
DV1 - NHẬN VẼ MẠCH - LẬP TRÌNH 8051/ARDUINO/STM LẤY TRONG NGÀY
BẤM XEM CÁCH ĐẶT HÀNG TẠI ĐÂY
-----------------------------------------------------------------------------------
DV2 - Mua linh kiện về làm mạch nhanh - Miễn phí Ship
DV3 - Kênh youtube chia sẻ kiến thức điện tử thực hành ngay
DV4 - Kênh cộng đồng Facebook Điện Tử ChipKool
CÔNG TY ECHIPKOOL - UY TÍN - CHẤT LƯỢNG - NHANH CHÓNG - BẢO MẬT
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút hiện ra ở góc phải phía trên, nhấn vào để đến trang download
------------------------------------------------------------------------------------
DV1 - NHẬN VẼ MẠCH - LẬP TRÌNH 8051/ARDUINO/STM LẤY TRONG NGÀY
BẤM XEM CÁCH ĐẶT HÀNG TẠI ĐÂY
-----------------------------------------------------------------------------------
DV2 - Mua linh kiện về làm mạch nhanh - Miễn phí Ship
DV3 - Kênh youtube chia sẻ kiến thức điện tử thực hành ngay
DV4 - Kênh cộng đồng Facebook Điện Tử ChipKool
CÔNG TY ECHIPKOOL - UY TÍN - CHẤT LƯỢNG - NHANH CHÓNG - BẢO MẬT