• Ambient Light Sensor Using Photo Resistor and LED Lights

QC

Ambient Light Sensor Using Photo Resistor and LED Lights

 Ambient Light Sensor Using Photo Resistor and LED Lights

Cảm biến ánh sáng xung quanh sử dụng điện trở ảnh và đèn LED



GIỚI THIỆU DỰ ÁN NÀY

Tôi đã sử dụng Arduino được một thời gian và tôi đã quyết định thiết kế dự án của riêng mình từ đầu. Tôi đã sửa đổi một số mạch mà tôi tìm thấy trực tuyến từ Alex Glow và Joe Coburn để chúng phù hợp hơn với dự án này. Xin vui lòng, nếu bạn tìm thấy bất kỳ vấn đề, hoặc nghĩ rằng bạn đã tìm thấy một cái gì đó hoạt động tốt hơn thiết kế của tôi, vui lòng bình luận bên dưới và tôi sẽ liên hệ lại với bạn.


Đấu dây

Tôi có một điện trở hình ảnh được nối dây vào chân tương tự 0 (bất kỳ chân tương tự nào cũng hoạt động) và 5V ở phía bên phải của bảng mạch. Nó chạy qua một điện trở 1K ohm nối đất. Tôi đã đấu dây một đèn LED (bất kỳ màu nào) ở phía đối diện của bảng mạch vào chân kỹ thuật số 13 (bất kỳ chân kỹ thuật số nào cũng hoạt động) và một điện trở 220-ohm nối đất (100-ohm cũng sẽ hoạt động). Hơi chếch về bên phải của đèn LED đầu tiên, nối dây một đèn LED có màu khác theo cùng một cách, chỉ với một chân kỹ thuật số khác.


Làm thế nào nó hoạt động

Nếu điện trở quang đọc giá trị trên 450, nó sẽ in "Nó khá nhẹ!" trên màn hình nối tiếp và tắt tất cả các đèn LED, như sau:

 if(light > 450) { // If it is bright... 
       Serial.println("It is quite light!"); 
       digitalWrite(13,LOW); //turn left LED off 
       digitalWrite(12,LOW); // turn right LED off 
   } 

Nếu nó đọc một giá trị từ 230 đến 450, nó sẽ in "Đó là ánh sáng trung bình!" trên màn hình nối tiếp và bật đèn LED bên trái, như sau:


 else if(light > 229 && light < 451) { // If it is average light... 
       Serial.println("It is average light!"); 
      digitalWrite(13, HIGH); // turn left LED on 
      digitalWrite(12,LOW);  // turn right LED off 
   }  

Điều này chỉ để lại cho chúng tôi các giá trị dưới 230. Nếu giá trị dưới 230, nó sẽ in "Trời khá tối!" trên màn hình nối tiếp và bật cả hai đèn LED, như sau:


else { // If it's dark... 
       Serial.println("It is pretty dark!"); 
       digitalWrite(13,HIGH); // Turn left LED on 
       digitalWrite(12,HIGH); // Turn right LED on 
   }  


Tôi đã thêm độ trễ 1000 vào cuối vòng lặp của mình để ngăn quá tải thông tin vào màn hình nối tiếp, như sau:


delay(1000); // don't spam the computer!
Đảm bảo rằng bạn xem sơ đồ và kiểm tra mã của mình trước khi tải lên hoặc chạy bất kỳ thứ gì.


CODE 

int light = 0; // store the current light value

void setup() {
    // put your setup code here, to run once:
    Serial.begin(9600); //configure serial to talk to computer
    pinMode(13, OUTPUT); // configure digital pin 13 as an output
    pinMode(12, OUTPUT); // configure digital pin 12 as an output
}

void loop() {
    // put your main code here, to run repeatedly:
    light = analogRead(A0); // read and save value from PR
    
    Serial.println(light); // print current light value
 
    if(light > 450) { // If it is bright...
        Serial.println("It is quite light!");
        digitalWrite(13,LOW); //turn left LED off
        digitalWrite(12,LOW); // turn right LED off
    }
    else if(light > 229 && light < 451) { // If it is average light...
        Serial.println("It is average light!");
       digitalWrite(13, HIGH); // turn left LED on
       digitalWrite(12,LOW);  // turn right LED off
    }
    else { // If it's dark...
        Serial.println("It is pretty dark!");
        digitalWrite(13,HIGH); // Turn left LED on
        digitalWrite(12,HIGH); // Turn right LED on
    }
    delay(1000); // don't spam the computer!
}









Error No module Onnx opencv

 Error No module Onnx opencv Lệnh :  pip install onnx==1.9 Mã lỗi PS F:\opencv_e\2.video> & C:/Users/youtb/Anaconda3/envs/virtualenv/...