Đèn ngủ tự động
Thuộc phần Đầu vào trong hành trình Arduino của Coddy. Bài học 13 trên 22.
Quang trở là một điện trở có giá trị thay đổi theo ánh sáng: ánh sáng chiếu vào càng nhiều thì điện trở càng thấp. Quang trở này nằm trên một mô-đun nhỏ có bốn chân: VCC và GND để cấp nguồn, AO (đầu ra tương tự) và DO (đầu ra kỹ thuật số).
AO cung cấp một điện áp mà bạn đọc bằng analogRead(). Trên mô-đun này, giá trị đó giảm khi ánh sáng tăng: khoảng 1023 trong bóng tối, gần 0 khi ánh sáng mạnh. Vì vậy, số đọc lớn nghĩa là trời tối.
int reading = analogRead(A0);
if (reading > 600) {
// trời tối
}Trên bo mạch, thanh trượt trên cảm biến điều chỉnh lượng ánh sáng chiếu vào cảm biến.
Thử thách
DễChân AO của mô-đun cảm biến ánh sáng nối với A0 và một đèn LED nối với chân 13. Hãy tạo đèn ngủ:
- đọc A0 và in ra giá trị đọc được, sau đó chờ 100 ms
- bật đèn LED khi giá trị đọc được lớn hơn 600 (trời tối), nếu không thì tắt đèn
Nhấn Chạy, di chuyển thanh trượt ánh sáng, rồi nhấn Kiểm tra.
Tự làm thử
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// Đọc giá trị từ module ánh sáng ở A0 và in ra giá trị đó
// Bật LED khi trời tối (giá trị đọc được lớn hơn 600)
}
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 Đầu vào
3Nhập liệu qua cổng nối tiếp
Đọc một ký tự qua cổng nối tiếpLệnh bằng từĐiều chỉnh tốc độ nhấp nháy qua cổng nối tiếpNhấp nháy theo lệnhTự luyện tập: Playground Arduino