Chữ chạy

"Con đường đến với tri thức không dễ dàng, nhưng nếu chúng ta quyết đi sẽ đến được bến bờ tri thức !". Chào mừng các bạn đến với trang thông tin của Võ Hoàng Tâm - GV Khoa Điện Điện tử - Trường Đại học SPKT Vĩnh Long. Trang cung cấp thông tin - tài liệu học tập cho các bạn học viên và sinh viên. Chúc các bạn thành công trên hành trình đi tìm tri thức ...

Nút nhấn (Arduino)

Đọc tín hiệu từ nút nhấn - Button

Ví dụ này chỉ cho chúng ta cách bật LED sáng ở chân 13 khi chúng ta nhấn nút nhấn.
Yêu cầu phần cứng
  • Mạch Arduino Board
  • Nút nhấn
  • Điện trở 10K ohm 
  • Bảng breadboard
  • Dây cắm

Mạch kết nối

Hình ảnh sử dụng Fritzing. Các ví dụ khác, truy cập Fritzing project page
Kết nối dây như hình vẽ, dây đỏ cấp nguồn 5V và dây đen cấp mát Gnd được cắm vào 2 chan của hàng dọc Breadboard như hình vẽ. 
Một chân của nút nhấn nối với dây đỏ, chân còn lại nối với dây màu đen qua điện trở 10K
Chân đối diện nối với chân Digital output số 3
Khi chúng ta không nhấn không có sự kết nối giữa 2 chân của nút nhấn, chân 3 sẽ kết nối với chân Gnd, tín hiệu đọc được là LOW, khi chúng ta nhấn nút, nguồn 5V sẽ được cấp vào chân 3 khi đó tín hiệu đọc được là HIGH

Sơ đồ


Code

/*
  Button
 
 Bật và tắt LED khi nhấn nút nhấn 
 
 
 Mạch:
 * LED nối chân 13 với chân Gnd
 * Nút nhấn được nối với chân 2 từ nguồn 5V
 * Điện trở 10K được nối với chân 2 với chân Gnd
 
 
*/


// Hằng số là không đổi chúng ta sử dụng ở đây để định nghĩa cho chân nút nhấn.

const int buttonPin = 2;     // chân của nút nhấn là chân số 2
const int ledPin =  13;      // chân của LED là chân 13

//Giá trị sẽ thay đổi:
int buttonState = 0;         // Giá trị đọc từ trạng thái của nút nhấn

void setup() {
  // chỉ ra chân nào là chân Output
  pinMode(ledPin, OUTPUT);  
  // Chỉ ra chân nào là chân Input
  pinMode(buttonPin, INPUT);  
}

void loop(){
  // Đọc trạng thái của nút nhấn
  buttonState = digitalRead(buttonPin);

  // Kiểm tra khi nút nhấn được nhấn.
  // Nếu được nhấn thì đọc giá trị HIGH:
  if (buttonState == HIGH) {  
    // Bật LED sáng:    
    digitalWrite(ledPin, HIGH);
  }
  else {
    // Tắt LED, nếu đọc giá trị ngược lại:
    digitalWrite(ledPin, LOW);
  }
}
                                                              nguồn: internet