Một nhịp nháy nhanh dần
Thuộc phần Mạch điện đầu tiên trong hành trình Arduino của Coddy. Bài học 17 trên 22.
delay(waitTime) chờ khoảng thời gian mà waitTime đang lưu tại thời điểm đó. Thay đổi biến này khi sketch đang chạy, nhịp nhấp nháy cũng sẽ thay đổi theo.
waitTime = waitTime - 100; // Lần nhấp nháy tiếp theo ngắn hơn 100 msĐặt dòng lệnh đó ở cuối loop(), mỗi lần nhấp nháy sẽ ngắn hơn lần trước.
Quan sát điều gì xảy ra khi sketch chạy một lúc. Thời gian chờ giảm xuống 0, rồi xuống dưới 0. delay() không thể chờ trong khoảng thời gian âm: hàm này đọc -200 thành một con số khổng lồ, khoảng 49 ngày, khiến đèn LED trông như bị treo. Sketch phải tự quyết định khi nào dừng giảm thời gian chờ, và đó là nội dung của bài học tiếp theo.
Thử thách
DễLàm cho đèn LED ở chân 13 nhấp nháy ngày càng nhanh:
- ở đầu chương trình, tạo
int waitTime = 1000; - trong
loop(), nhấp nháy vớidelay(waitTime)cho cả hai lần chờ - ở cuối
loop(), giảmwaitTimeđi 200
Nhấn Chạy và theo dõi cho đến khi chương trình bị treo, sau đó nhấn Kiểm tra.
Tự làm thử
// Tạo biến waitTime ở đây
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
// Giảm giá trị của waitTime
}
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 Mạch điện đầu tiên
3Toán học trên bảng
Hằng số có tênToán tử số họcPhép chia số nguyênSố thập phân với số thựcMột nhịp nháy nhanh dầnTự luyện tập: Playground Arduino