Mục lục:

UCL-lloT-Ánh sáng ngoài trời được kích hoạt bởi Mặt trời mọc / mặt trời lặn.: 6 bước
UCL-lloT-Ánh sáng ngoài trời được kích hoạt bởi Mặt trời mọc / mặt trời lặn.: 6 bước

Video: UCL-lloT-Ánh sáng ngoài trời được kích hoạt bởi Mặt trời mọc / mặt trời lặn.: 6 bước

Video: UCL-lloT-Ánh sáng ngoài trời được kích hoạt bởi Mặt trời mọc / mặt trời lặn.: 6 bước
Video: Thiên Quân Vô Lại - Tập 139 : Dược Sĩ Lâm Phàm | Truyện tiên hiệp đạo sĩ Quàng A Tũn 2024, Tháng bảy
Anonim
UCL-lloT-Ánh sáng ngoài trời được kích hoạt bởi Mặt trời mọc / mặt trời lặn
UCL-lloT-Ánh sáng ngoài trời được kích hoạt bởi Mặt trời mọc / mặt trời lặn

Xin chào tất cả mọi người! Với một chút công việc, một số bộ phận và mã tôi đã tổng hợp lại với hướng dẫn này sẽ chỉ cho bạn từ đầu đến cuối chính xác cách tạo ra ánh sáng ngoài trời này. Ý tưởng bắt nguồn từ cha tôi, người mà suốt mùa hè phải tự tay ra ngoài và thay đồ khi đèn bật sáng. Với thời gian mặt trời lặn và mặt trời mọc thay đổi nhanh chóng quanh năm, anh ấy hỏi liệu tôi có thể tìm ra cách tự động để làm điều đó không. Và vì vậy chúng tôi ở đây. Một dự án tương đối nhỏ.

Bước 1: Danh sách IO và những gì bạn cần

Danh sách IO và những gì bạn cần
Danh sách IO và những gì bạn cần
Danh sách IO và những gì bạn cần
Danh sách IO và những gì bạn cần
Danh sách IO và những gì bạn cần
Danh sách IO và những gì bạn cần

Arduino MEGA 2560. Đó là thứ tôi đã sử dụng ít nhất, tôi biết rằng bạn có thể dễ dàng sử dụng cái khác.

DS3231 và thư viện của nó. (https://rinkydinkelectronics.com/library.php?id=73… Điều quan trọng cần biết là các chân đặt cho SDA và SCL khác nhau tùy thuộc vào Arduino bạn đang sử dụng.

I052116 Mô-đun cảm biến phát hiện chuyển động hồng ngoại IR. Mô-đun cụ thể này có thể được trao đổi cho cảm biến mà bạn lựa chọn, nó thực sự là tùy chọn đối với toàn bộ.

Bước 2: Lưu đồ

Sơ đồ
Sơ đồ

Như đã thấy trong sơ đồ đơn giản, phần lớn công việc nặng nhọc nằm ở Node-Red. Với các nút tương đối đơn giản, ý tưởng là từ Node-Red, bạn sẽ tiếp cận với một trang web biết thời gian mặt trời lặn và mọc. Sau khi có nó, nó sẽ gửi thông tin đến Arduino để nói với nó. Từ Arduino, chúng ta sẽ nhận được tín hiệu cho biết chính xác thời điểm Đèn thực sự bật, để bạn có thể kiểm tra từ nhà của mình ngay khi đèn tắt. Cũng từ Arduino, chúng ta sẽ nhận được thông tin rằng cảm biến khoảng cách đã được kích hoạt, có đèn bật sáng trong x khoảng thời gian.

Bước 3: Fritzing

Nát
Nát

So với các dự án khác, hệ thống cáp ở đây khá đơn giản. Điều bạn cần biết là bạn sẽ cần một mô-đun WIFI để giữ liên lạc với máy chủ Node-Red hoặc mua một máy tính bỏ đi để lưu trữ máy chủ Node-Red được kết nối với Arduino. Không hiển thị trên hình là kết nối giữa Arduino và Máy tính xách tay, và tôi xin lỗi trước vì hình ảnh Fritzing kém!

Bước 4: Mã hóa

Mã hóa
Mã hóa
Mã hóa
Mã hóa

Nếu có một điều tôi nhận thấy là với Firmata (để giao tiếp Arduino với Node-Red), thư viện DS3231 và hơn thế nữa, có rất nhiều thư viện được tải. Kể từ khi được xuất bản, mã hóa chưa được hoàn thiện, vì vậy mã giả được bao gồm.

Có trong thư viện từ DS3231 là các chân đặt sẵn cho mỗi bảng Arduino và trong trường hợp của Mega, đó là chân 20 và 21 vì chúng là các chân SDA và SCL trên mega. Sau khi được kết nối, đồng hồ có thể được cho biết chính xác hôm nay là ngày gì và cần theo dõi những gì. Điều tôi nhận thấy là dễ làm việc hơn khi theo dõi các con số, đó là sử dụng int thay vì chuỗi. Vì vậy, những gì tôi đã làm là tôi chuyển đổi các số của một chuỗi thành int, nhưng vì int không thể sử dụng: để tách một đồng hồ, tôi quyết định làm một cái gì đó khác thay vì làm việc với giờ, chúng tôi sẽ làm việc với vài phút. Rất nhiều phút, ví dụ như nếu đồng hồ là 13:21, tôi sẽ tách hai chữ số đầu tiên và bấm giờ bằng sáu mươi. Bây giờ chúng ta đang ở 801 phút, vì 13 lần 60 bằng 780 và bạn thêm 21 phút cuối cùng. Nếu Node-Red của chúng tôi cho biết mặt trời lặn lúc 16:58 (trong trường hợp mùa đông), chúng tôi sẽ bật đèn ngoài trời trong khoảng 1018 phút và thời gian tắt được xác định trước, sẽ là 1380 (23:00). Nếu bộ hẹn giờ của chúng tôi ở giữa những thời điểm đó, đèn sẽ bật. Phép toán trên về cơ bản là toàn bộ chương trình, không có các bước để Node-Red kết nối với Arduino và giao tiếp. Cũng có một bộ cảm biến đảm bảo đèn bật (Dù sao đi nữa) sẽ được sử dụng, nhưng nếu không thì đó là toàn bộ chương trình ở trên.

Bước 5: Node-Red

Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red
Node-Red

Không phải là một luồng đặc biệt lớn, không phải là nó cần phải có trong trường hợp này. 2 hàng nút đầu tiên là phần lớn của chương trình. Sử dụng hàm GET, chúng tôi truy xuất dự báo hàng ngày về cách mặt trời mọc và lặn. Từ đó, chúng tôi sử dụng bộ chọn CSS để truy xuất thông tin cụ thể của chúng tôi, thường được truy cập trên trang web "Kiểm tra các phần tử" trên firefox như được chỉ ra trên hình ảnh. Xin lưu ý rằng không phải tất cả các trang web đều hoạt động theo cách này và trang web tôi sử dụng tình cờ hoạt động hoàn hảo theo cách này. Từ đó, nó sẽ ghi thông tin vào chân 13 vì đó là những gì tôi đã chỉ định cho nó, mặc dù thử nghiệm vẫn chưa xác định được liệu một chân có thể hoạt động vào các thời điểm khác nhau hay không. Như đã mô tả trong phần mã hóa, thông tin sẽ đến từ Arduino đến Node-Red, sau đó nó sẽ chỉ ra trên một trang web có thể truy cập nơi người ta có thể dễ dàng kiểm tra. có được thông qua thư viện node-red-node-arduino trên Node-Red. Mặc dù chưa được thiết lập hoàn toàn và nó sẽ được cập nhật khi tôi hoàn thành dự án, tôi đã đính kèm mã cho Node-Red Flow trong một tài liệu văn bản để dễ dàng truy cập.

Bước 6: Triển khai và sử dụng

Triển khai và Sử dụng
Triển khai và Sử dụng

Và để kết thúc phần hướng dẫn của chúng tôi, là phần thực hành của nó. Với rất ít ngôi nhà có mức độ ánh sáng tự động này, một giải pháp quanh năm được nhiều chủ nhà chào đón. Để thực sự kết nối điều này với đèn sử dụng điện không phải là Arduino, tôi không khuyên bạn nên tự làm trừ khi bạn biết chính xác mình đang làm gì. Khi dự án kết thúc, tôi sẽ đảm nhận nhiệm vụ này với sự hỗ trợ của một thợ điện chỉ để đảm bảo. có nghĩa là thực sự đưa nó vào sử dụng ngoài giai đoạn thử nghiệm này. Phần lớn rắc rối của tôi với dự án là ở phần Node-Red đến Arduino và tôi hy vọng tôi đã giải thích được càng rõ ràng càng tốt về cách đó. hoan thanh.

Đề xuất: