Kiến thức cốt lõi
Trên Arduino Uno R3, `analogRead(A0)` dùng ADC 10 bit để trả số nguyên **0–1023** theo điện áp tham chiếu, nên trước khi gọi kết quả là mức sáng cần hiệu chuẩn cảm biến. `analogWrite(9,p)` với chân9 hỗ trợ PWM nhận giá trị **0–255** mặc định: p điều chỉnh phần thời gian chân ở HIGH trong mỗi chu kì xung, làm LED có độ sáng nhìn thấy khác nhau. Tín hiệu chân9 vẫn nhảy giữa hai mức điện áp, **không phải điện áp DC liên tục**. Đồng hồ đo DC có thể hiển thị giá trị trung bình khác nhau theo PWM và cách đo; muốn quan sát dạng xung cần dụng cụ phù hợp, không suy chân tạo điện áp tương tự từ chữ `analogWrite`. LED phải có điện trở hạn dòng và dòng chân không vượt giới hạn bo/IC thật. A0 là đầu vào, chân9 là đầu ra, không đấu tắt hai chân để “đổi số”.
Ví dụ
Nếu ADC đo được 200 ở một điều kiện và 800 ở điều kiện khác, chương trình có thể biến 200 thành PWM cao, 800 thành PWM thấp theo mục tiêu tối sáng hơn; không gửi nguyên 800 vào hàm PWM 0–255.
Bài luyện
analogRead(A0) trên Uno R3 mặc định trả gì?
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. ADC mã hóa điện áp vào.
Lời giải
ADC mã hóa điện áp vào.
Bài luyện
analogWrite(9,128) trên Uno R3 chủ yếu thay đổi gì?
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 là xung số có phần thời gian bật thay đổi.
Sai vì không phù hợp với điều kiện đã nêu.
Lời giải
PWM là xung số có phần thời gian bật thay đổi.
Bài luyện
Đồng hồ DC ở chân PWM chứng minh chân xuất DC liên tục?
Sai vì không phù hợp với điều kiện đã nêu.
Đúng. Dạng xung cần xét theo thời gian.
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
Dạng xung cần xét theo thời gian.
Đang học