Mục lục:

Đèn mặt trời mọc có thể điều khiển sáng: 6 bước
Đèn mặt trời mọc có thể điều khiển sáng: 6 bước

Video: Đèn mặt trời mọc có thể điều khiển sáng: 6 bước

Video: Đèn mặt trời mọc có thể điều khiển sáng: 6 bước
Video: top 3 tuyệt chiêu chọn đèn năng lượng mặt trời, cách chọn mua đèn năng lượng mặt trời chất lượng 2024, Tháng bảy
Anonim
Đèn mặt trời mọc có thể điều khiển sáng
Đèn mặt trời mọc có thể điều khiển sáng
Đèn mặt trời mọc có thể điều khiển sáng
Đèn mặt trời mọc có thể điều khiển sáng

Bạn đã bao giờ thức dậy lúc 7 giờ sáng, thời gian thông thường bạn cần thức dậy để làm việc và thấy mình chìm trong bóng tối? Mùa đông là một khoảng thời gian kinh khủng, phải không? Bạn phải thức dậy vào lúc nửa đêm (nếu không thì tại sao trời lại tối như vậy?), Xé mình ra khỏi giường và thả cơ thể đang lơ mơ của mình đi tắm.

Dự án này nhằm giải quyết một trong những vấn đề - bóng tối buổi sáng.

Xung quanh có rất nhiều loại đèn bình minh giá rẻ nhưng chúng đều có công suất thấp và nhợt nhạt. Chúng giống như một chiếc đèn ngủ, được cho là giúp bạn ngủ ngon hơn. Không phải điều tôi muốn chút nào.

Đồng thời, chỉ cần bật đèn sáng là bạn sẽ thức giấc ngay lập tức, nhưng chưa đủ nhẹ nhàng. Những gì tôi muốn là sự kết hợp của cả hai cách tiếp cận - thắp sáng với độ sáng thấp, từ từ đạt đến tốc độ tối đa, sau đó báo thức thực sự vang lên và bạn không còn buồn ngủ nữa. Hãy thêm một chút tiếng chim hót vào nó, và bạn sẽ thức dậy trên một thiên đường vào mỗi buổi sáng!

Bước 1: Mảng đèn

Mảng đèn
Mảng đèn
Mảng đèn
Mảng đèn

Trước hết, chúng ta cần chính chiếc đèn. Tôi có một căn phòng khá rộng với tường và trần nhà màu trắng, vì vậy tôi đã mua 7 đèn LED GU10, mỗi cái giống như 6W, hơn 40W công suất thuần túy! Như vậy đã đủ khiến bạn cảm thấy như đang là ban ngày rồi. Ngoài ra nó có thể được sử dụng như một ánh sáng phòng thông thường vào ban ngày.

Không thực sự quan trọng là bạn lắp ráp nó như thế nào, bạn sử dụng loại đèn nào với ổ cắm nào. Mọi thứ quan trọng - đây phải là đèn có thể điều chỉnh độ sáng!

Trong trường hợp của tôi, tôi có một tấm ván gỗ với 7 ổ cắm GU10 được gắn vào, tất cả được kết nối với nhau. Tôi sẽ đặt nó vào một hộp nhựa sau.

Bước 2: Lý thuyết làm mờ

Lý thuyết mờ
Lý thuyết mờ

Về lý thuyết không có sự khác biệt giữa lý thuyết và thực hành. Trong thực tế có.

Điều khiển bộ điều chỉnh độ sáng từ ESP32 / Arduino dường như không đơn giản như tôi tưởng tượng. Tôi đã nhận một trong các mô-đun RobotDyn AC Light Dimmer. Nhà sản xuất đề xuất một thư viện cho điều đó. Nó không hoạt động trên ESP32 (và thực sự khó thích ứng, vì nó sử dụng nhiều quyền truy cập đăng ký ATMega cấp thấp), loại hoạt động trên Arduino Nano, gây ra hiện tượng nhấp nháy khủng khiếp ở độ sáng trung bình thấp. Đó là lý do tại sao tôi đã dành một chút thời gian để tìm hiểu xem tất cả hoạt động như thế nào và làm theo cách của riêng tôi.

Một chút lý thuyết

Mô-đun điều chỉnh độ sáng được chọn sử dụng TRIAC: BTA16 rất phổ biến. Có rất nhiều bài báo về nó. Tôi sẽ cố gắng tóm tắt nó ở đây.

TRIAC là một mô-đun có thể truyền điện áp âm hoặc dương đầu vào đến đầu ra, hoặc có thể chặn nó. Theo mặc định, nó chặn mọi thứ. Để mở nó, chúng tôi nên cung cấp cho nó một tín hiệu cao trên đầu vào cổng cho 100 chúng tôi. Sau đó, nó sẽ tiếp tục mở cho đến khi dòng điện giảm xuống 0, điều này xảy ra khi điện áp đầu vào thay đổi dấu hiệu, vượt qua điện áp bằng không. Sau đó, vào chu kỳ tiếp theo, chúng ta nên thực hiện một xung 100 us khác và cứ tiếp tục như vậy. Bằng cách chọn thời điểm phát xung, chúng tôi kiểm soát độ sáng: làm điều đó ngay từ đầu, và nó sẽ gần truyền tải 100% điện năng. Làm điều đó sau, và nó sẽ mờ đi. Kiểm tra sơ đồ trên, giải thích nó.

Để tạo ra xung tại cùng một điểm của chu kỳ, chúng ta cần biết chính xác thời điểm nó bắt đầu. Đó là lý do tại sao mô-đun điều chỉnh độ sáng được tích hợp sẵn bộ dò Zero-Cross. Nó chỉ phát ra tín hiệu (mà chúng ta sẽ bắt gặp khi ngắt phần cứng trong Arduino) mỗi khi điện áp vượt qua 0.

Bước 3: Thực hành làm mờ

Thực hành làm mờ
Thực hành làm mờ

Vâng, đó là cách bạn thức dậy, nếu đèn của bạn không bị mờ và đặt tất cả công suất 40W vào đôi mắt đang buồn ngủ của bạn.

Các vấn đề chung

Có nhiều vấn đề chúng tôi cần giải quyết.

Nhấp nháy.

Thời gian của bộ vi điều khiển phải thực sự chính xác trong việc bật và tắt đầu ra cổng. Thư viện RobotDyn gợi ý, có bộ hẹn giờ ngắt sau mỗi 100us và chỉ thay đổi mức cổng trên bộ hẹn giờ. Nó có nghĩa là nó có thể chênh lệch +/- 50 micro giây so với giá trị tối ưu. Nó cho kết quả tốt ở độ sáng cao, nhưng nhấp nháy nhiều ở độ sáng thấp. Ngoài ra, nếu bộ vi điều khiển làm nhiều việc, nó sẽ làm giảm độ chính xác về thời gian, vì vậy lý tưởng nhất là nên sử dụng bộ vi điều khiển chuyên dụng cho bộ điều chỉnh độ sáng.

Độ sáng tối thiểu. LEDs có bộ chuyển đổi điện tích hợp sẵn, bộ chuyển đổi điện năng này sẽ từ chối hoạt động khi không đủ năng lượng. Đèn của tôi dường như hoạt động tốt bắt đầu từ 10-11%.

Ngay cả với giá trị này, một số đèn của tôi từ chối sáng khi bắt đầu. Ngay cả khi tăng độ sáng sau đó, chúng vẫn tối. Đó là lý do tại sao, khi chúng ta chuyển từ trạng thái TẮT sang một độ sáng dương nào đó, chúng ta bắt đầu với khoảng thời gian khởi động là 5 chu kỳ, khi chúng ta cung cấp đầy đủ công suất cho đèn. Sau đó, chúng tôi tiếp tục với độ sáng mong muốn. Nó gần như không đáng chú ý, nhưng thực sự hữu ích.

Tần số chính 50/60 Hz. Bạn cần biết phải chờ đợi bao nhiêu trước con số 0 tiếp theo. Nó khá đơn giản - chúng tôi chỉ xem xét sự khác biệt về thời gian giữa hai lần ngắt cuối cùng.

Thay đổi độ sáng dần dần. Đó là lý do tại sao, khi nó nhận được độ sáng mới từ một cổng nối tiếp, nó chỉ đặt mục tiêu, rồi từ từ tiếp cận nó theo thời gian.

Giải pháp

Đây là mã Arduino đơn giản của tôi cho bộ điều chỉnh độ sáng. Nó đợi lệnh (một byte với độ sáng mới) từ đầu vào nối tiếp, xử lý ngắt Zero-Cross, điều khiển TRIAC, xử lý tất cả các vấn đề ở trên.

Bước 4: Bộ điều khiển đèn (ESP32)

Bộ điều khiển đèn (ESP32)
Bộ điều khiển đèn (ESP32)
Bộ điều khiển đèn (ESP32)
Bộ điều khiển đèn (ESP32)

Đây là lược đồ kết nối của tất cả các thành phần tôi có. Bo mạch ESP32 rất khác so với những gì tôi sử dụng (Heltec), vì vậy các chân được chọn trông hơi kỳ lạ, nhưng nó vẫn sẽ hoạt động tốt. Hãy thoải mái sử dụng các ghim khác nhau trong dự án của bạn.

Đây là mã kiểm soát tất cả. Nó khá dễ hiểu.

Nét đặc trưng riêng

Có thể điều khiển. Đèn kết nối với WiFi, khởi động máy chủ WebSocket trên cổng 81, chờ lệnh.

Hiện tại, chỉ có hai lệnh được hỗ trợ: "set_brightness" và "update_settings", các lệnh này… khá tự mô tả.

Lấy thời gian từ NTP Tôi không muốn làm phức tạp hóa mọi thứ và thêm đồng hồ thời gian thực vào lược đồ. Chúng tôi có quyền truy cập Internet, có nghĩa là chúng tôi có thể lấy thời gian thực từ một số máy chủ NTP và sau đó theo dõi thời gian hiện tại bằng bộ hẹn giờ hệ thống.

Báo thức Mặt trời mọc: Bạn có thể đặt một báo thức. Những gì nó thực sự làm: bắt đầu với độ sáng tối thiểu và dần dần chuyển sang độ sáng đầy đủ trong 10 phút. Sau đó, nó vẫn hoạt động trong một vài giờ. Sau đó, nó dần dần tắt trong 60 giây.

Tất cả các thông số trên đều có thể cấu hình được.

Tiếng chim hót. DFPlayer mini được sử dụng để phát nhạc. Có rất nhiều hướng dẫn cho nó, nhưng về cơ bản bạn chỉ cần cắm thẻ MicroSD, được định dạng thành FAT32, với một tệp có tên 0001.mp3. Tệp này có thể có bất cứ thứ gì bạn thích, trong trường hợp của tôi là 15 phút tiếng chim hót (nó sẽ được lặp lại) và nó khiến buổi sáng của tôi thật tuyệt vời. ESP32 và DFplayer - chúng là tùy chọn, nhưng giúp giảm tiếng ồn.

Lưu trữ cài đặt trong EEPROM. Tất cả cài đặt được ghi vào EEPROM và được tải khi bắt đầu. Nó giúp bạn có thể sử dụng đèn với ít nhất tính năng báo động mà không cần kết nối bộ điều khiển.

Hiển thị một số thông tin lên màn hình OLED. Heltec ESP32 của tôi có màn hình SSD1306 128X64 I2C tích hợp sẵn. Tất cả những thông tin cần thiết đều được hiển thị trên đó. Tôi biết, chiếc hộp trông rất xấu xí, tôi vừa in 3D một số thứ rồi dùng khoan cắt các lỗ và cửa sổ. Nhanh chóng, bẩn thỉu, nhưng nó hoạt động!

Bước 5: Bảng điều khiển

Bảng điều khiển
Bảng điều khiển
Bảng điều khiển
Bảng điều khiển

Đó là trọng tâm của dự án. Một Raspberry Pi với màn hình 7 nguyên bản, chạy một số giao diện người dùng Kivy.

Đây là mã nguồn đầy đủ.

Các tính năng

Được viết bằng Python. Tôi yêu Kivy, đó là một khuôn khổ Python cho giao diện người dùng. Rất đơn giản, nhưng linh hoạt và hiệu quả (sử dụng nhiều mã C bên trong để có hiệu suất cao và tăng tốc phần cứng).

Thời tiết. Hiển thị nhiệt độ hiện tại và áp suất bên ngoài. Nếu bạn kết nối cảm biến từ xa - nhiệt độ bên trong cũng yêu cầu và phân tích dự báo thời tiết trong 12 giờ tiếp theo và đưa ra lời khuyên về khả năng xảy ra mưa.

Bộ điều khiển SunriseLamp. Một bảng điều khiển khác hiển thị một số thông tin cơ bản về báo thức và cho phép bạn điều chỉnh độ sáng. Nếu bạn vào phần cài đặt, bạn có thể định cấu hình bất kỳ thông số nào của đèn, bao gồm lịch báo thức, âm lượng âm thanh tối đa, v.v.

Trình bảo vệ màn hình. Renders Game of Life trên màn hình sau một thời gian không hoạt động.

Đã từng có nhiều hơn thế, nhưng những thứ khác dường như là vô ích.

Cài đặt

Tôi đã cài đặt mọi thứ theo cách thủ công trên Raspbian và bây giờ có thể nói: đừng lặp lại những sai lầm của tôi. Sử dụng KivyPie, nó đã được cài đặt sẵn mọi thứ.

Ngoài ra, chỉ cần làm theo hướng dẫn cài đặt trong kho mã.

Bước 6: Thưởng thức

Cá nhân tôi hài lòng với thiết bị. Tôi sử dụng nó như một ánh sáng chính ở nhà trong ngày và nó cho phép tôi thức dậy vào buổi sáng, điều đó thật tuyệt vời.

Tôi biết các hướng dẫn không phải là rất chi tiết và mô tả. Nếu ai đó làm điều tương tự và gặp vấn đề - tôi sẽ sẵn lòng trợ giúp!

Đề xuất: