Menu
CoddyTech

Đè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.

challenge icon

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)
}
quiz iconTự kiểm tra

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

Tự luyện tập: Playground Arduino