Kết nối cảm biến LDR với Arduino Nano

Ket Noi Cam Bien Ldr Voi Arduino Nano



Điện trở phụ thuộc ánh sáng có một ứng dụng rộng rãi trong các dự án phụ thuộc vào ánh sáng. Với sự trợ giúp của một bộ vi điều khiển như Arduino Nano, LDR có thể được sử dụng để điều khiển các thiết bị khác nhau dựa trên mức cường độ ánh sáng. Hướng dẫn này trình bày những điều cơ bản về LDR và ​​các ứng dụng của nó với Arduino Nano.

Nội dung bài viết này bao gồm:







1: Giới thiệu về cảm biến LDR



2: Các ứng dụng của LDR với Arduino Nano



3: Giao tiếp LDR với Arduino Nano





Phần kết luận

1: Giới thiệu về cảm biến LDR

MỘT l tốt Đ. độc lập r esistor (LDR) là một loại điện trở thay đổi điện trở dựa trên cường độ ánh sáng mà nó tiếp xúc. Trong bóng tối, điện trở của nó rất cao, trong khi trong ánh sáng mạnh, điện trở của nó rất thấp. Sự thay đổi điện trở này làm cho nó tốt nhất cho các dự án cảm biến ánh sáng.




LDR cung cấp đầu ra điện áp tương tự sẽ được Arduino ADC đọc ở các chân tương tự. Chân đầu vào tương tự trên Arduino sử dụng ADC để chuyển đổi điện áp tương tự từ LDR thành giá trị số. ADC có phạm vi từ 0 đến 1023, với 0 đại diện cho 0V và 1023 đại diện cho điện áp đầu vào tối đa (thường là 5V đối với Arduino).

Arduino sẽ đọc các giá trị tương tự bằng cách sử dụng analogRead() chức năng trong mã của bạn. Hàm analogRead() lấy số chân đầu vào analog làm đối số và trả về giá trị số.


Photon hoặc các hạt ánh sáng đóng một vai trò quan trọng trong hoạt động của LDR. Khi ánh sáng chiếu vào bề mặt của LDR, các photon được vật liệu hấp thụ, sau đó giải phóng các electron trong vật liệu. Số lượng electron tự do tỷ lệ thuận với cường độ ánh sáng và càng nhiều electron được giải phóng thì điện trở của LDR càng thấp.

2: Các ứng dụng của LDR với Arduino Nano

Sau đây là danh sách một số ứng dụng phổ biến của LDR với Arduino:

    • Điều khiển chiếu sáng tự động
    • Công tắc kích hoạt ánh sáng
    • Chỉ báo mức ánh sáng
    • Chế độ ban đêm trong thiết bị
    • Hệ thống an ninh dựa trên ánh sáng

3: Giao tiếp LDR với Arduino Nano

Để sử dụng LDR với Arduino Nano, cần tạo một mạch đơn giản. Mạch bao gồm LDR, điện trở và Arduino Nano. LDR và ​​điện trở được kết nối nối tiếp, với LDR được kết nối với chân đầu vào tương tự của Arduino Nano. Một đèn LED sẽ được thêm vào mạch có thể kiểm tra hoạt động của LDR.

3.1: Sơ đồ

Hình ảnh sau đây là sơ đồ của Arduino Nano với cảm biến LDR.

3.2: Mã

Khi mạch đã được thiết lập, bước tiếp theo là viết mã cho Arduino Nano. Mã này sẽ đọc đầu vào tương tự từ LDR và ​​sử dụng nó để điều khiển đèn LED hoặc thiết bị khác dựa trên các mức ánh sáng khác nhau.

int LDR_Val = 0 ; /* Biến để lưu trữ giá trị điện trở quang */
cảm biến int = A0; /* chân analog điện trở quang */
int dẫn đến = 12 ; /* Đầu ra đèn LED */
thiết lập vô hiệu ( ) {
Nối tiếp.bắt đầu ( 9600 ) ; /* Tốc độ truyền truyền thông nối tiếp */
    chế độ ghim ( dẫn, ĐẦU RA ) ; /* Pin LED bộ BẰNG đầu ra */
}
vòng lặp trống ( ) {
LDR_Val = analogĐọc ( cảm biến ) ; /* tương tự đọc giá trị LDR */
nối tiếp.print ( 'Giá trị đầu ra LDR:' ) ;
Nối tiếp.println ( LDR_Val ) ; /* Hiển thị giá trị đầu ra LDR trên màn hình nối tiếp */
nếu như ( LDR_Val > 100 ) { /* Nếu cường độ ánh sáng CAO */
Nối tiếp.println ( ' Cường độ cao ' ) ;
        digitalWrite ( dẫn đầu, THẤP ) ; /* ĐÈN LED TẮT */
}
khác {
/* Khác nếu như Cường độ ánh sáng THẤP Đèn LED sẽ Vẫn BẬT */
Nối tiếp.println ( 'Cường độ thấp ' ) ;
        digitalWrite ( dẫn đầu, CAO ) ; /* LED BẬT giá trị LDR là ít hơn hơn 100 */
}
trì hoãn ( 1000 ) ; /* Đọc giá trị sau mỗi 1 giây */
}


Trong đoạn mã trên, chúng tôi sử dụng LDR với Arduino Nano sẽ điều khiển đèn LED bằng đầu vào tương tự đến từ LDR.

Ba dòng mã đầu tiên khai báo các biến để lưu trữ giá trị điện trở quang , các chân tương tự cho điện trở quang và DẪN ĐẾN chốt đầu ra.

bên trong cài đặt() chức năng, giao tiếp nối tiếp được bắt đầu với tốc độ baud là 9600 và chân LED D12 được đặt làm đầu ra.

bên trong vòng() chức năng, giá trị điện trở quang được đọc bằng hàm analogRead(), được lưu trữ trong LDR_Val Biến đổi. Sau đó, giá trị điện trở quang được hiển thị trên màn hình nối tiếp bằng cách sử dụng hàm Serial.println().

MỘT nếu khác câu lệnh được sử dụng để điều khiển đèn LED dựa trên cường độ ánh sáng được phát hiện bởi điện trở quang. Nếu giá trị điện trở quang lớn hơn 100, điều đó có nghĩa là cường độ ánh sáng CAO và đèn LED vẫn TẮT. Tuy nhiên, nếu giá trị điện trở quang nhỏ hơn hoặc bằng 100, điều đó có nghĩa là cường độ ánh sáng THẤP và đèn LED BẬT.

Cuối cùng, chương trình đợi 1 giây bằng hàm delay() trước khi đọc lại giá trị điện trở quang. Chu kỳ này lặp lại vô thời hạn, làm cho đèn LED BẬT và TẮT dựa trên cường độ ánh sáng được phát hiện bởi điện trở quang.

3.3: Đầu ra dưới ánh sáng mờ

Cường độ ánh sáng nhỏ hơn 100 nên đèn LED sẽ vẫn BẬT.

3.4: Đầu ra dưới ánh sáng mạnh

Khi cường độ ánh sáng tăng, giá trị LDR sẽ tăng và điện trở LDR sẽ giảm nên đèn LED sẽ TẮT.

Phần kết luận

LDR có thể được giao tiếp với Arduino Nano bằng chân analog. Đầu ra LDR có thể điều khiển cảm biến ánh sáng trong các ứng dụng khác nhau. Cho dù nó được sử dụng để điều khiển ánh sáng tự động, hệ thống an ninh dựa trên ánh sáng hay chỉ là một chỉ báo mức độ ánh sáng, LDR và ​​Arduino Nano có thể được giao tiếp để tạo ra các dự án phản ứng với những thay đổi về cường độ ánh sáng.