Hướng dẫn điều khiển đèn led bằng button sử dụng mạch Ardunio - không sử dụng điện trở ngoài mã sử dụng điện trở có sẵn trong mạch Arduno. Cụ thể: cứ mỗi lần bạn nhấn nút button thì trạng thái đèn led sẽ thay đổi từ mở -> tắt hoặc tắt -> mở. Nào ta cùng làm:
* Mã Code
int led = 3;
int button = 8;
int check=-1;
//---------------
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT_PULLUP); //Cài đặt chân D2 ở trạng thái đọc dữ liệu kiểu INPUT_PULLUP để kích hoạt cái điện trở có sẵn trong mạch Ardunio
}
//-------------
void loop() {
int buttonStatus = digitalRead(button); //Đọc trạng thái button
if(buttonStatus==0) check=-check;// đây là trạng thái nhấn
if(check>0 )
digitalWrite(led, HIGH);
else
digitalWrite(led, LOW);
}
* Sơ đồ mạch
* Lưu ý:
* Mã Code
int led = 3;
int button = 8;
int check=-1;
//---------------
void setup() {
pinMode(led, OUTPUT);
pinMode(button, INPUT_PULLUP); //Cài đặt chân D2 ở trạng thái đọc dữ liệu kiểu INPUT_PULLUP để kích hoạt cái điện trở có sẵn trong mạch Ardunio
}
//-------------
void loop() {
int buttonStatus = digitalRead(button); //Đọc trạng thái button
if(buttonStatus==0) check=-check;// đây là trạng thái nhấn
if(check>0 )
digitalWrite(led, HIGH);
else
digitalWrite(led, LOW);
}
* Sơ đồ mạch
* Lưu ý:
- Trước tiên, ta cần phải biết sự khác nhau của INPUT_PULLUP và INPUT, 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 (bài trước) đượ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. Nếu bạn nhấn button xuống thì chân digitalRead sẽ trả về LOW (ngược lại với bài trước).
No comments:
Post a Comment