Kiến thức cốt lõi
Lưu đồ tối thiểu có khởi tạo chân, đọc công tắc, xét điều kiện, đặt LED/còi và quay lại đọc. Nếu thiết kế có nhấp nháy, phải nêu **thời gian bật, thời gian tắt**; hai đoạn 500 ms trong SGK tạo chu kì đầy đủ khoảng **1000 ms** (chưa kể xử lí), không phải chu kì 500 ms như phần lời in. Trong ví dụ mã có `delay(500)` hai lần, các lệnh đó **tạm ngừng việc đọc cửa**; mô hình có thể phản ứng muộn gần hết khoảng chờ. Nếu cần đáp ứng nhanh hơn, nhóm có thể thiết kế lịch không chặn nhưng phải được hướng dẫn và kiểm bằng thử nghiệm. Trạng thái khởi động, mất nguồn, cảm biến hở/lỗi và cách tắt báo phải được mô tả; một điều kiện `if` chưa tạo hệ cảnh báo tin cậy cho nhà thật.
Ví dụ
LED bật 500 ms, tắt 500 ms trong một vòng: chu kì sáng–tắt xấp xỉ 1 s, tần số xấp xỉ 1 Hz nếu bỏ qua thời gian lệnh. Một xung 500 ms chỉ là nửa chu kì, nên không ghi T=500 ms cho toàn bộ nhấp nháy.
Bài luyện
Bật 500 ms rồi tắt 500 ms: một chu kì nhấp nháy xấp xỉ bao lâu?
500 ms chỉ một pha.
250 ms nhỏ hơn mỗi pha.
Hai pha xác định chu kì.
Đúng. Chu kì gồm cả pha bật và tắt.
Lời giải
Chu kì gồm cả pha bật và tắt.
Bài luyện
Hai lệnh delay(500) liên tiếp ảnh hưởng đọc cửa thế nào?
Không đổi phần cứng.
Không tạo đường truyền.
Đúng. delay chặn chương trình trong thời gian chờ.
Chờ làm phản ứng chậm hơn.
Lời giải
delay chặn chương trình trong thời gian chờ.
Bài luyện
Lưu đồ nên xét điều gì ngoài cửa mở/đóng?
Hình thức không là logic.
Đúng. Quy trình cần bao quát vòng hoạt động.
Màu dây không đủ thuật toán.
Tên không điều khiển.
Lời giải
Quy trình cần bao quát vòng hoạt động.
Đang học