Nhấp nháy theo lệnh
Thuộc phần Đầu vào trong hành trình Arduino của Coddy. Bài học 18 trên 22.
Nhập 3, đèn LED sẽ nhấp nháy ba lần rồi dừng. loop() đã lặp lại sẵn, nên hãy để nó đếm: dùng một biến để lưu số lần nhấp nháy còn lại. Mỗi lần loop() chạy, nếu vẫn còn lần nhấp nháy nào, hãy nhấp nháy một lần rồi giảm số lần còn lại đi một.
int blinksLeft = 0;
void loop() {
// Một số từ màn hình Serial đặt giá trị cho blinksLeft
if (blinksLeft > 0) {
// Nháy một lần
blinksLeft = blinksLeft - 1;
}
}Khi blinksLeft đạt 0, điều kiện if là sai và đèn LED sẽ tắt cho đến khi có số tiếp theo.
Ký tự xuống dòng sau số đó vẫn khiến parseInt() trả về 0 sau đó một giây. Như trước, hãy bỏ qua số 0, nếu không nó sẽ xóa số lần nhấp nháy còn lại.
Thử thách
Trung bìnhLàm LED ở chân 13 nhấp nháy số lần tương ứng với số bạn nhập vào Serial monitor:
- khi có ký tự đang chờ, đọc một số bằng
parseInt()và lưu vàoblinksLeftnếu số đó lớn hơn 0 - nếu
blinksLeftlớn hơn 0, nhấp nháy một lần (bật 200 ms, tắt 200 ms) rồi giảm đi một
Nhấn Chạy, gửi 3 từ Serial monitor, rồi nhấn Kiểm tra.
Tự làm thử
const int ledPin = 13;
int blinksLeft = 0;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Một số từ Serial monitor đặt giá trị cho blinksLeft
// Khi blinksLeft lớn hơn 0, nháy đèn một lần rồi trừ đi 1
}
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Đầu vào
3Nhập liệu qua cổng nối tiếp
Đọc một ký tự qua cổng nối tiếpLệnh bằng từĐiều chỉnh tốc độ nhấp nháy qua cổng nối tiếpNhấp nháy theo lệnhTự luyện tập: Playground Arduino