// bài tập đầu nhấn giữ nút để bật đèn khi đèn bật buông ra sẽ không bị tắt và nhấn giữ lần nữa để tắt đèn
int a=2; // khai báo công tắt
int c=4;
void setup() {
pinMode(a, INPUT_PULLUP);// lệnh pin mode để PinMode là một hàm trong ngôn ngữ
// lập trình Arduino dùng để định cấu hình một chân Arduino làm đầu vào hoặc đầu ra.
//Hàm này có hai tham số
// pull up hiểu đơn giảng là sẽ nhấn bật led và buôn ra thì led tắt
// gải thích khi ở trạng thái ban đầu không nhấn thì nó sẽ ở mức số 1
// chú ý số 1 ở đây không phải là bật nha mà là ở trạng thái là 1 tức là ở trạng thái high khi bạn không là gì hết, nếu nhấn công tắt thì nó sẽ
// về mức 0 và nếu bạn buông công tắt ra thì nó sẽ trở về lại ở mức 1
// còn input không thì mình sẽ ko thể điều khiển được đèn mà khi này
// cần phải gắn một con điện trở pullup hoạc pull down bên ngoài để đk
pinMode(c, INPUT_PULLUP);
Serial.begin(9600);// Serial.begin() được sử dụng để khởi tạo giao tiếp nối tiếp giữa Arduino và một thiết bị khác.
// có hàm này để arduino có thể giao tiếp được với máy tính
}
void loop() {
int b = digitalRead(a); // gán lệnh b để đọc giá trị của a
if (b == 0 ) {digitalWrite(3, HIGH);}
delay(1000);// lệnh delay này để giữ cho đèn sáng trong vòng 1 giây
// vậy thì trong thời gian đó khi mình buông tay ra khỏi nút thì cái giá trị d nó
//nó sẽ về từ số 0--->1 vậy thì khi này mình buông tay ra thì đèn vẫn sáng
int d = digitalRead(c);
Serial.println(b);
if (d == 0 ) {digitalWrite(3, LOW);}
delay(1000); // tương tự mình nhấn cho tới khi đèn nó tắt và nó giữ trong
// vòng 1 giây vậy thì khi này mình sẽ buông tay ra khỏi nút nhấn thì b
// nó sẽ chuyển sang từ 0--->1 khác 0 nên đèn vẫn tắt
}