Xác định Trạng Thái Của Một Nút Nhấn (button) - INPUT_PULLUP

Bạn đang tìm kiếm điều gì?

Hãy giúp arduino.vn chia sẻ bài viết để nhiều dự án hay xuất hiện ở đây hơn

Cộng đồng Arduino Việt Nam

Bạn đang ở đây

  • Arduino.vn
  • Chương trình mẫu
  • Level: Beginner - Vỡ lòng
Bài 11: Xác định trạng thái của một nút nhấn (button) - INPUT_PULLUP Bạn có một DỰ ÁN hay giống thế này? Chia sẻ nhé!

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

Tại bài viết Bài 3: Xác định trạng thái của một nút nhấn (button), bạn đã biết được cách để đọc tín hiệu từ một button bằng cách thiết đặt chân digital là INPUT. Hôm nay, ta cũng đào xới vấn đề đọc trạng thái của một nút nhấn, nhưng đi theo một hướng khác (không dùng điện trở như trong Bài 3). Cách làm này đơn giản hơn và thực tế thường được ứng dụng.

Phần cứng

  • Arduino Uno
  • Breadboard
  • Dây cắm breadboard
  • 1 điện trở 560 Ohm (hoặc 220 Ohm hoặc 1kOhm)
  • 1 đèn LED siêu sáng
  • 1 button (nút nhấn)

Lắp mạch

Click vào ảnh để xem kích thước thật và lắp mạch bạn nhé

Lập trình và giải thích

Trước tiên, ta cần phải biết sự khác nhau của INPUT_PULLUPINPUT, nếu bạn chưa rõ thì cần tham khảo đường dẫn sau. Thực chất INPUT_PULLUP cũng như là INPUT thôi, nhưng cái điện trở mắc ngoài như ở INPUT được "thiết đặt sẵn" bên trong con vi điều khiển của Arduino và khi bạn pinMode một chân là INPUT_PULLUP thì bạn đã kích hoạt cái điện trở này lên. Và sau khi pinMode các chân digital là INPUT_PULLUP, nếu bạn digitalRead các chân này thì sẽ nhận được giá trị HIGH (điều này ngược lại với hướng dẫn tại bài 3). Nếu bạn nhấn button xuống thì chân  digitalRead sẽ trả về LOW. Bởi vì nguyên lý chỉ rất đơn giản như vầy thôi, nếu trong khuôn khổ bài viết này, tôi giải thích cặn cẽ tại sao lại như thế thì sẽ làm rối các bạn và không cần thiết. Để hiểu rõ nó hoạt động trong thực tế như thế nào thì hãy chạy đoạn mã dưới đây!

void setup(){ // khởi động cổng Serial ở baudrate 9600 Serial.begin(9600); // Cài đặt các chân digital pinMode(8, INPUT_PULLUP); //INPUT_PULLUP chân button pinMode(3, OUTPUT); // OUTPUT chân led } void loop(){ //đọc tín hiệu chân digital int sensorVal = digitalRead(8); //Xuất tín hiệu ra serial Serial.println(sensorVal); if (sensorVal == HIGH) { //nếu chưa nhấn digitalWrite(3, LOW); // tắt đèn } else { // nếu đã nhấn digitalWrite(3, HIGH);// bật đèn } } Rate node lên28 thành viên đã đánh giá bài viết này hữu ích. Từ khóa: buttoninput_pullupserialleddigital Chuyên mục: Level: Beginner - Vỡ lòng Cầm tay chỉ việc

Các bài viết được nói rất kỹ về các vấn đề mà bạn cần phải biết khi bắt đầu với Arduino!

Cài đặt driver và Arduino IDE

Bài 1: Một chương trình trên Arduino cần tối thiểu những gì?

Hướng dẫn nạp chương trình đơn giản cho Arduino Uno R3

Bài 2: Cách làm đèn LED nhấp nháy theo yêu cầu

Đèn LED

Bài 05: Thay đổi độ sáng của đèn, hay làm mờ nó, có khó không?

Điều khiển 8 đèn LED sáng theo ý muốn của bạn, dễ hay khó ?

Làm thế nào để điều khiển LED RGB - Led 3 màu

Button - Nút bấm

Bài 3: Xác định trạng thái của một nút nhấn (button)

Bài 11: Xác định trạng thái của một nút nhấn (button) - INPUT_PULLUP

Bài 8: Dùng button (nút bấm) để điều khiển một đèn LED

Bài 10: Đếm số lần nhấn một button - ButtonStateChange

Bài 7: Cách viết chương trình không sử dụng hàm delay

Bài 4: Đọc điện áp điều chỉnh bởi biến trở

Bài 12: Phát nhạc bằng Arduino với một cái loa hoặc buzzer

Cách đọc dữ liệu từ quang trở và xây dựng cảm biến ánh sáng

Cảm biến nhiệt độ LM35 và cách sử dụng nó trong môi trường Arduino

Cách sử dụng cảm biến rung với Arduino

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

Đọc tốc độ của quạt CPU (quạt 12Vol - hay quạt 3 dây)

Bài liên quan
  • Bài 3: Xác định trạng thái của một nút nhấn (button)
  • Cách làm đồng hồ đếm ngược, và bật mí cách làm nó để tỏ tình!
  • Bài 8: Dùng button (nút bấm) để điều khiển một đèn LED
  • Bài 9: Nhấn giữ button để hoán vị trạng thái của LED - Debounce
  • Bài 10: Đếm số lần nhấn một button - ButtonStateChange
  • Đếm số lần nhấn button với led 7 đoạn
  • 1 trên 3
  • sau ›
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ả Bạn có một DỰ ÁN hay giống thế này? Chia sẻ nhé!

Bảng mã ASCII (American Standard Code for Information Interchange) được ra đời vào thập kỉ 60 của thế kỷ trước. Đây là tiêu chuẩn trong việc mã hóa chuỗi thành một số và ngược lại.

Lưu ý: 32 ký tự đầu tiên của bảng mã này (0-31) không thể xuất hiện trên đây được. Các ký tự này được gọi là ký tự điều khiển (ví dụ: khi nhấn vào nút Ctrl, bạn có thầy cái gì xuất hiện không ?)

Rate node lên6 thành viên đã đánh giá bài viết này hữu ích. Bạn có một DỰ ÁN hay giống thế này? Chia sẻ nhé!

Giao tiếp giữa mạch Arduino là rất quan trọng, vì có nhiều dự án phức tạp và việc lập trình trên 1 Arduino là điều không thể. Hôm nay, mình sẽ hướng dẫn bạn cách giao tiếp giữa 2 mạch Arduino bất kỳ bằng việc sử dụng thư viện Serial Command.

Rate node lên22 thành viên đã đánh giá bài viết này hữu ích. Từ khóa: serialArduino UNOArduino Nanomô hình HOST CLIENTgiao tiếp 2 mạch ArduinoTX RXSerial Command

Cửa cuốn thông minh

Đăng nhập Tên người dùng * Mật khẩu *
  • Tạo tài khoản mới
  • Yêu cầu mật khẩu mới
Đăng nhập bằng Facebook Connect Mã kiểm traVui lòng nhập vào mã kiểm tra ở ô bên cạnh

mã số thuế

 

Thành viên trực tuyến

Hiện đang có 3 người trực tuyến.

  • Nguyễn Khôi Nguyên
  • annnnnnnnnnnnnnn
  • Tùng210299
Thành viên mới
  • Vila
  • ly
  • Pinkel
  • QuangTienIT
  • minhchanh
  • mchanh
  • khoiarduno
  • Vo Tru
Về chúng tôi

Arduino.vn được xây dựng trên nền tảng Drupal 7, phiên bản hiện tại 2.3 tên mã Chia sẻ tình yêu với Arduino.

Đây là trang thông tin phi lợi nhuận ra đời hướng tới cộng đồng trẻ, những chủ nhân tương lai của đất nước. Tìm hiểu thêm

Lấy tin RSS Đăng kí nhận Lấy tin RSS DMCA.com Protection Status      Creative Commons LicenseNội dung trên trang Arduino.vn được phân phối theo giấy phép Creative Commons Attribution-ShareAlike 4.0 International License.Vui lòng ghi rõ nguồn và link về bài gốc nếu bạn tham khảo nội dung từ website này.

Bạn ơi ^_^!

Mục lục

Hãy trở thành thành viên của Cộng đồng Arudino Việt Nam để mở khóa chức năng này.

Mục lục Bạn ơi

Cùng đăng nhập vào Cộng đồng Arduino Việt Nam để mở hết các chức năng của Cộng đồng nhé.

Từ khóa » Giữ Trạng Thái Nút Nhấn Arduino