Tư vấn: 0979.466.469 / 0938.128.290

MENU

Dự án: Tự động kiểm soát cường độ ánh sáng đường phố bằng Arduino

Gia cong pcb 600*150px
Dự án này sẽ chỉ cho bạn cách điều khiển cường độ của đèn LED theo thời gian và cường độ ánh sáng của bầu khí quyển bên ngoài.

Đây là một dự án tuyệt vời và rất hữu ích vì nó ngăn ngừa sự lãng phí điện năng.

Dự án này tự động bật đèn đường vào buổi tối và tắt vào buổi sáng. Nó cũng kiểm soát cường độ ánh sáng. Cường độ ánh sáng được điều chỉnh tự động theo thời gian và lưu lượng. Lượng xe rất thấp sau 12 giờ sáng. Ví dụ, cường độ ánh sáng yếu vào buổi tối và nó bắt đầu tăng cho đến 8 giờ tối Sau 8 giờ tối, ánh sáng phát sáng với cường độ tối đa và cường độ này sẽ không thay đổi. Nó phát sáng ở cường độ tối đa cho đến 12 giờ sáng và cường độ bắt đầu giảm sau 12 giờ sáng và đèn tắt hoàn toàn sau 6 giờ sáng. Cách tiếp cận này tiết kiệm năng lượng khoảng 30 phần trăm.

 

Trong mạch cũng sử dụng hai đèn LED, một đèn có màu Xanh lục và đèn LED màu đỏ. Đèn LED Đỏ cho biết buổi tối và Đèn LED xanh cho biết thời gian nửa đêm 12 giờ sáng. Arduino không được lập trình theo thời gian thực, vì chúng ta không thể quan sát những thay đổi trực tiếp. Do đó, thời gian trễ là rất thấp (1 giờ tương đương với 3 giây). Bạn có thể thay đổi thời gian trễ tùy theo nhu cầu sử dụng của mình. Bạn có thể thực hiện nhiều sửa đổi trong dự án tùy theo mục đích sử dụng của mình, bạn cũng có thể sử dụng RTC (Đồng hồ thời gian thực) trong dự án này.

Hoạt động

Trong mạch, một LDR (Điện trở phụ thuộc vào ánh sáng) được sử dụng, để phát hiện cường độ của đèn, khi cường độ ánh sáng đến dưới một giá trị cố định, đèn led sẽ BẬT. Nhưng ở thời điểm bắt đầu cường độ ánh sáng thấp vì thời gian là 5 giờ chiều. Bây giờ cường độ đang tăng dần theo thời gian và ánh sáng phát sáng với cường độ tối đa vào lúc 8 giờ tối.

 

Cường độ ánh sáng được điều khiển bằng cách sử dụng PWM (điều chế độ rộng xung). Arduino và các thiết bị kỹ thuật số khác không thể cho đầu ra tương tự; chúng chỉ có thể đưa ra đầu ra kỹ thuật số (Cao hoặc Thấp). Có nghĩa là chúng chỉ có thể TẮT và BẬT thiết bị, nhưng đôi khi chúng ta cần điện áp giữa Vcc và GND. PWM có thể đáp ứng yêu cầu này. PWM chỉ cần Bật và Tắt thiết bị đầu ra ở tần số cao. Bằng cách này, điện áp đầu ra trở thành dưới Vcc. Giá trị của điện áp đầu ra phụ thuộc vào thời gian “Bật” và thời gian “Tắt”, có thể được tính bằng hàm cho sẵn bên dưới

 

Các Arduino Nano có sáu chân PWM, tất cả đều 8 bit. Nói cách khác, chúng ta có thể thay đổi giá trị đầu ra từ 0 thành 255 trong đó 0 là thấp và 255 là Cao.

 

Hai đèn LED cũng được sử dụng trên mạch, chúng cho biết thời gian, đèn LED ĐỎ bật khi LDR vượt qua giá trị ngưỡng, trong trường hợp của tôi, tôi giả sử thời gian là 5 giờ chiều, lúc này đèn đường (đèn LED nguồn) của chúng tôi cũng bật nhưng cường độ chậm. Cường độ đang tăng dần và sẽ hoạt động với cường độ tối đa vào 8 giờ tối. Bây giờ cường độ không thay đổi cho đến 12 giờ sáng.

Sau 12 giờ sáng, đèn LED xanh lục được bật và cường độ của đèn LED nguồn trở nên thấp. Cường độ này không thay đổi cho đến 4 giờ sáng. Sau 4 giờ sáng, cường độ sáng bắt đầu giảm dần. Ngoài ra, nó sẽ tắt hoàn toàn lúc 6 giờ sáng.

Các thành phần

Các thành phần

Thông số kỹ thuật

Định lượng

Arduino

Nano

1

Nguồn năng lượng

Bộ chuyển đổi DC 12 volt

1

LDR (Điện trở phụ thuộc vào ánh sáng)

 

1

Đèn LED

Xanh đỏ

2

Đèn LED nguồn

12 Volt

1

Bóng bán dẫn

Công nguyên 547

1

Điện trở

330 Ohm

2

Điện trở

10 nghìn

1

Điện trở

1 nghìn

1

Diode

1N4007 / 1N4004

1

 

Mạch

Mạch rất đơn giản, bạn có thể làm mạch này trên breaboard hoặc ZERO PCB bằng mạch bên dưới.

Trong mạch Arduino Nano được sử dụng, chân PWM D9 được kết nối với chân cơ sở của bộ phát bóng bán dẫn (2N2222) chân được kết nối với GND. Chân Cathode của Power LED được kết nối với chân Collector của bóng bán dẫn và chân anode được kết nối với 12 volt, Một diode được kết nối song song với Power LED theo phân cực ngược.

 

LDR được kết nối với Vcc và GND thông qua điện trở 10k ohm, điểm giao nhau của LDR và Điện trở được kết nối với chân A5 của Arduino.

 

Hai đèn LED được kết nối với chân A4 và A3 của Arduino thông qua Điện trở 330 ohm. Mạch được cấp nguồn bởi bộ chuyển đổi 12 volt và dòng 12 volt cũng được kết nối với chân Vin của Arduino thông qua một Công tắc.

Code

Trong code, một số số nguyên được khai báo, số nguyên “cảm biến” được sử dụng cho chân LDR, LED1 và LED2 được sử dụng cho đèn LED “ĐỎ” và “XANH” và số nguyên “OUT” được khai báo cho đèn LED Nguồn. Số nguyên “del” được sử dụng để đưa ra độ trễ là 1 giờ (3 giây).

 

Trong cảm biến “void setup ()” được khai báo là INPUT và LED1, LED2 và OUT được khai báo là OUTPUT, sử dụng chức năng “pinMode”.

Trong “void loop ()” đầu tiên, “if condition” được sử dụng để so sánh giá trị của cảm biến LDR, khi giá trị “analogRead” của cảm biến LDR nhỏ hơn 50 thì “if condition” trở thành true.

 

Tiếp theo, “analogWrite (LED1,100)” bật đèn LED Nguồn ở cường độ thấp. LED1 cũng được bật bằng cách sử dụng “ghi kỹ thuật số (LED1, CAO)” và độ trễ được đưa ra cho thời gian “chậm”.

 

Sau đó, một số chức năng được sử dụng để thay đổi cường độ của đèn LED Nguồn sau mỗi giờ (độ trễ 3000ms). Lúc 12 giờ sáng, đèn LED2 (Đèn LED xanh lục) cũng được bật, ở phần cuối của mã LED1 và LED2 được tắt.

 

Hiệu chuẩn: hiệu chuẩn được sử dụng để bật đèn vào đúng thời điểm, trong dòng 20 thay đổi giá trị so với “analogRead (cảm biến)”, trong mã đã cho, nó là 50, bạn có thể đọc giá trị bằng cách sử dụng “AnalogReadSerial”

Module điện tử 932*50

 *CODE

            int sensor = A5;

 

int LED1 = A4;

int LED2 = A3;

 

int OUT = 9;

 

int del = 3000;

 

void setup() {

  pinMode(sensor, INPUT);

 

  pinMode(LED1, OUTPUT);

  pinMode(LED2, OUTPUT);

  pinMode(OUT,  OUTPUT);

 

}

 

void loop() {

  if (analogRead(sensor)<50){

    analogWrite(OUT, 100);      // 5:00 PM

    digitalWrite(LED1, HIGH);

    delay(del);

 

    analogWrite(OUT, 150);      // 6:00PM

    delay(del);

 

    analogWrite(OUT, 200);      // 7:00 PM 

    delay(del);

 

    analogWrite(OUT, 255);      // 8:00 PM

    delay(del);

 

    analogWrite(OUT, 255);      // 9:00 PM   

    delay(del);

 

    analogWrite(OUT, 255);      // 10:00 PM

    delay(del);

 

    analogWrite(OUT, 255);      // 11:00 PM

    delay(del);

   

    analogWrite(OUT, 200);      // 12:00 AM

    digitalWrite(LED2, HIGH);

    delay(del);

 

    analogWrite(OUT, 200);      // 1:00 AM

    delay(del);

 

    analogWrite(OUT, 150);      // 2:00 AM

    delay(del);

 

    analogWrite(OUT, 150);      // 3:00 AM

    delay(del);

 

    analogWrite(OUT, 100);      // 4:00 AM

    delay(del);

 

    analogWrite(OUT, 100);      // 5:00 AM

    delay(del);

 

    analogWrite(OUT, 0);

   

    digitalWrite(LED1, LOW);

    digitalWrite(LED2, LOW);

  }

}

Gia công pcb 932*150
Sản phẩm nổi bật
Sale 0%
50000 /Cái
/ Cái

Code: DV140 Còn hàng

Lưu xem sau
Sale 0%
50000 /Cái
/ Cái

Code: DV141 Còn hàng

Lưu xem sau
Sale 0%
50000 /Cái
/ Cái

Code: DV143 Còn hàng

Lưu xem sau
Sale 0%
50000 /Cái
/ Cái

Code: DV145 Còn hàng

Lưu xem sau
Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469
0868565469
0868565469

Hotline: 0979 466 469

Loading
0979 466 469
Bạn cần linh kiện mẫu ? 7-11 ngày