Kiến thức cốt lõi
Sau hiệu chuẩn hợp lệ `min<max`, với mục tiêu **tối hơn → LED sáng hơn**, ánh xạ tuyến tính minh họa là `p=255×(max−x)/(max−min)` cho `x=analogRead(A0)`, sau đó **chặn p trong 0–255** và đưa tới PWM chân9. Ở x=min, p=255; x=max, p=0; ở giữa cho mức trung gian. Đây là quy luật thiết kế minh họa, không là hiệu chuẩn lux chính xác. Chương trình thật cần xử lí giá trị ngoài dải, kiểu số/làm tròn, thời gian cập nhật và điều kiện LED/tải. SGK Bài26 dùng `map(...,255,0)` đúng chiều ý tưởng nhưng mã có lỗi gọi hiệu chuẩn lặp; không chép nguyên. Thử **ba tình huống** sáng yếu, bình thường, mạnh bằng nguồn sáng an toàn, ghi số A0/PWM quan sát LED; nếu thứ tự trái dự đoán, kiểm chiều phân áp, cực LED, mạch và dữ liệu hiệu chuẩn trước khi sửa mã.
Ví dụ
Cho min=200, max=800, x=500: `p=255×(800−500)/(800−200)=127,5`, làm tròn khoảng 128. Nếu x=100 thấp hơn min, tính ra >255 nên chặn về 255.
Bài luyện
min=200,max=800,x=500 cho PWM tuyến tính đảo chiều xấp xỉ?
Đúng. x giữa dải cho khoảng nửa 255.
Sai vì không phù hợp với điều kiện đã nêu.
Sai vì không phù hợp với điều kiện đã nêu.
Sai vì không phù hợp với điều kiện đã nêu.
Lời giải
x giữa dải cho khoảng nửa 255.
Bài luyện
Nếu x thấp hơn min, cần xử lí p thế nào?
Sai vì không phù hợp với điều kiện đã nêu.
Sai vì không phù hợp với điều kiện đã nêu.
Sai vì không phù hợp với điều kiện đã nêu.
Đúng. PWM mặc định nhận dải 0–255.
Lời giải
PWM mặc định nhận dải 0–255.
Bài luyện
Tối hơn trong cấu hình R1 trên/R3 dưới thì x và p nên đổi ra sao?
Sai vì không phù hợp với điều kiện đã nêu.
Sai vì không phù hợp với điều kiện đã nêu.
Đúng. Ánh xạ đảo chiều theo mục tiêu.
Sai vì không phù hợp với điều kiện đã nêu.
Lời giải
Ánh xạ đảo chiều theo mục tiêu.
Đang học