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