btvn.vn
Tìm kiếm Đăng nhập

Hiệu chuẩn quang trở một lần và kiểm dải hợp lệ

Lưu trên thiết bị này
Chương IX · Thực hành LED thích nghi ánh sáng · Chọn bài khác

Kiến thức cốt lõi

Kiến thức cốt lõi
Minh họa BTVN; đọc cùng phần giải thích dưới hình.
Mở hình lớn
Mã mẫu SGK Bài26 có lời chú thích “hiệu chuẩn trong 5 s đầu” nhưng lại gọi `calib()` **bên trong `loop()`**, vì vậy nếu chép nguyên, đoạn hiệu chuẩn chạy lại sau mỗi vòng. Quy trình đúng mục tiêu bài: trong giai đoạn **khởi tạo một lần** sau bật/reset (hoặc khi chủ động yêu cầu), đo A0 ở ít nhất hai điều kiện sáng/tối phù hợp, lưu `min` và `max`; sau đó vòng lặp mới đọc giá trị hiện tại và điều khiển LED. Phải kiểm `max>min` trước phép ánh xạ để tránh chia cho 0; nếu không đủ chênh lệch, báo chưa hiệu chuẩn và thử lại dưới giáo viên, không tạo số PWM giả. Khi đổi môi trường hoặc cảm biến có thể hiệu chuẩn lại theo quy trình. Số đo ADC min/max phản ánh **bộ mạch và điều kiện đo**, không là hằng số 0/1023 cho mọi quang trở. Không dùng đèn quá nóng hoặc lửa thật để chiếu thử.

Ví dụ

Lần khởi tạo thu được min=180 trong tối và max=820 dưới đèn phòng. Dải 640>0 nên có thể ánh xạ. Nếu cả hai đều 500, không dùng phép chia cho `max−min=0`; kiểm dây/điều kiện rồi hiệu chuẩn lại.

Bài luyện

Vì sao không gọi calib() ở mỗi vòng loop như mã in SGK nếu mục tiêu chỉ 5 s đầu?
Chọn một đáp án

Bài luyện

min=max=500 thì có nên map với mẫu số max−min?
Chọn một đáp án

Bài luyện

Dải hiệu chuẩn nên lấy ở đâu?
Chọn một đáp án

Đang học