Debounce cho nút nhấn bằng tụ điện

Nội dung chính cần nắm

Xin chào, bài đăng của mình sẽ nói về kỹ thuật DEBOUNCE cho nút bấm. Đây là kỹ thuật rất đơn giản và hiệu quả.

DEBOUNCE LÀ GÌ

  • Button ( nút bấm) là 1 linh kiện cơ khí, sử dụng kim loại có tính đàn hồi cao để làm tiếp điểm, do đó khi các tiếp điểm tiếp xúc với nhau, sẽ xảy ra hiện tượng các tiếp điểm dao động trước khi ổn định. Tên khoa học của hiện tượng này là "SWITCH BOUNCE" laugh. SWITCH BOUNCE sẽ làm button bị on-off liên tục thêm vài lần mặc dù người sử dụng chỉ nhấn-thả nút có 1 lần và vấn đề này sẽ gây sai lệch giá trị logic (0 và 1) trong project.
  • "DEBOUNCE" chính là tên gọi của cách giải quyết hiện tượng "SWITCH BOUNCE". Có 2 cách để Debounce:
    1. Cách thứ 1 (Debouncing in Software): là lập trình để xác nhận sự kiện nhấn nút mà admin đã viết rất chi tiết. Các bạn xem tại link sau: http://arduino.vn/bai-viet/154-bai-9-nhan-giu-button-de-hoan-vi-trang-thai-cua-led-debounce
    2. Cách thứ 2 (Debouncing in Hardware): là thay đổi về phần cứng để debounce mà mình sẽ đề cập sau đây.

PHẦN CỨNG

LẮP MẠCH

 

GIẢI THÍCH

  • Chân digital để đọc giá trị nút nhấn ở trên là pin 8.
  • Trong mạch trên mình sử dụng điện trở kéo xuống (pull-down resistor), gọi là điện trở kéo xuống vì nó kéo điện áp tại chân digital về LOW ( 0 ) khi không nhấn nút. 
  • Khác biệt duy nhất là mình mắc thêm 1 tụ 100nF song song với cái điện trở 10k. Khi nút được nhấn, điện áp tại chân digital sẽ được kéo lên HIGH ( 1 ), khi nút bấm được thả, chân digital sẽ được kéo về LOW thông qua điện trở 10k, và tụ điện 100nF sẽ tạo ra 1 delay nhỏ, giúp loại bỏ hầu hết các sai sót được tạo ra do hiện tượng "SWITCH BOUNCE."

KẾT LUẬN

Khi đã lắp thêm tụ điện, bạn có thể lập trình đọc nút bấm 1 cách bình thường mà không lo ngại sai sót do "SWITCH BOUNCE" nữa.

Chúc các bạn vui vẻ.

lên
12 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Sử dụng cảm biến khoảng cách HC-SR04

Xin chào, hôm nay mình sẽ giới thiệu về cách sử dụng cảm biến khoảng cách HC-SR04. Chúng ta sẽ cùng nhau tìm hiểu về nguyên lý hoạt động của HC-SR04. và cách sử dụng với Arduino.

lên
14 thành viên đã đánh giá bài viết này hữu ích.

Hiển thị hình ảnh với LED MATRIX 8x8

Xin chào các bạn, bài viết hôm nay của mình sẽ giới thiệu về cách hiển thị hình ảnh trên LED MATRIX 8x8 với cổng Serial. Chúng ta sẽ tìm hiểu 2 nội dung chính trong bài này, đó là: cách điều khiển LED MATRIX 8x8 và ôn lại cách sử dụng IC 74HC595.

lên
21 thành viên đã đánh giá bài viết này hữu ích.