Chủ Nhật, 14 tháng 2, 2016

BÀI 2 : GIAO TIẾP VỚI NÚT NHẤN

Tags

Chào các bạn trong bài đăng này mình sẽ hướng dẫn các bạn giao tiếp với nút nhấn sử dụng Board Arduino Uno, trước tiên chúng ta sẽ xem sơ đồ nguyên lý :
1. Sơ đồ nguyên lý.

1    2. Code chương trình.
const int buttonPin = 2; 
const int ledPin = 13;
int buttonState = LOW;
void setup()
{
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT); }
void loop()
{
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH)
{  
           digitalWrite(ledPin, HIGH);
 }
else
 {
digitalWrite(ledPin, LOW);
}
}
3. Giải thích chương trình.
Trước tiên ta khai báo hai biến để lưu trữ vị trí chân của phím nhấn và led :
const int buttonPin = 2; 
const int ledPin = 13;
Phím nhấn sẽ ở vị trí chân số 2 và led chân số 13.
Ta khai báo một biến trang thái của phím nhấn  là  int buttonState = LOW;
Trong hàm setup() là khai chế độ (Mode) cho chân button và chân led. Chân button là chân ngõ vào và chân led là chân ngõ ra.
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
Trong hàm loop() ta có câu lệnh đầu tiên là :
buttonState = digitalRead(buttonPin);
Câu lệnh  này có  nghĩa  là  gán giá  trị  đọc  được  từ  chân button (chân 2) cho biến buttonState.. buttonState sẽ có giá trị 0 nếu như button không được nhấn và có giá trị  1 nếu được nhấn. Bằng cách sử dụng hàm digitalRead() ta có thể kiểm tra được các chân digital đang ở mức cao hay thấp.
Sau khi đọc được  giá  trị có ở chân buttonPin ( chân 2) ta kiểm tra xem là button có nhấn hay không.
Nếu có tức là buttonState =HIGH  thì lúc này ta bật led bằng lệnh digitalWrite()
if (buttonState == HIGH)
{
digitalWrite(ledPin, HIGH);
}
Ngược lại thì ta một lần nửa sử dụng hàm digitalWrite()  để tắt led
else
{
digitalWrite(ledPin, LOW);
}
Chương trình chúng ta đơn giản vậy thôi ! Ai chưa hiểu gì thì comment bên dưới !


EmoticonEmoticon