Mục lục:

Aquarium Light PWM với Arduino: 3 bước
Aquarium Light PWM với Arduino: 3 bước

Video: Aquarium Light PWM với Arduino: 3 bước

Video: Aquarium Light PWM với Arduino: 3 bước
Video: Dự án 2: Mạch Arduino thay đổi mức độ sáng của 1 đèn LED dùng xung PWM - Học lập trình Arduino 2024, Tháng bảy
Anonim
Aquarium Light PWM với Arduino
Aquarium Light PWM với Arduino

Gần đây tôi đã chuyển đổi đèn thủy sinh của mình từ đèn huỳnh quang sang đèn LED và tôi đã quyết định thử mô phỏng một môi trường tự nhiên, nơi ánh sáng tăng dần từ bình minh đến giữa trưa và sau đó giảm cho đến tối. Vào ban đêm, mặt trăng thường có rất ít ánh sáng.

Về cơ bản, đèn LED chiếu sáng được cấp nguồn từ nguồn điện 12V và arduino điều khiển cường độ ánh sáng bằng cách điều chỉnh điện áp với sự trợ giúp của MOSFET kênh n (tôi đã sử dụng IRFS630). Arduino có thể được cấp nguồn bởi cùng một nguồn điện nhưng tôi đã sử dụng một PS USB 5V riêng biệt cho arduino và cấp nguồn qua USB không thông qua Vin.

Cường độ ánh sáng có thể không chính xác nhất nhưng đó là cường độ tốt nhất mà tôi có thể nghĩ đến. Mẫu có thể được sửa đổi thông qua mã.

Bước 1: Các bộ phận cần thiết

Các bộ phận cần thiết
Các bộ phận cần thiết
Các bộ phận cần thiết
Các bộ phận cần thiết
Các bộ phận cần thiết
Các bộ phận cần thiết
Các bộ phận cần thiết
Các bộ phận cần thiết

Điều đầu tiên trước tiên hãy tập hợp tất cả các bộ phận cần thiết cho dự án. Tôi giả sử bạn đã có đèn LED chiếu sáng mà bạn muốn chơi cùng, có thể là đèn chiếu sáng hồ cá, có thể là thứ khác, thậm chí có thể không phải là đèn LED mà là thứ hỗ trợ làm mờ.

Vì vậy, đây là danh sách các phần tôi đã sử dụng:

1. Arduino nano - 1 chiếc

2. Màn hình LCD 1602 - 1 chiếc

3. Bộ chuyển đổi IIC / I2C cho LCD 1602 - 1 chiếc

4. DS1302 RTC - 1 chiếc (với pin CR2032)

5. nút nhấn có nắp - 1 chiếc

6. MOSFET kênh n (tôi đã sử dụng IRFS630) - 1 chiếc

7. Điện trở 10K ohm - 1 chiếc

8. Tùy chọn - một số người nói rằng bạn phải sử dụng một điện trở giữa pin arduino pwm và cổng của MOSFET để bảo vệ aruino, những người khác nói rằng bạn không, ít nhất là không cho các ứng dụng công suất thấp, tôi đã không sử dụng cái nào và nó hoạt động tốt, cách dưới 20mA được rút ra từ chân của arduino, nhưng nếu bạn muốn, bạn có thể sử dụng điện trở 100 ohm.

CẬP NHẬT: Sau 2 tháng thử nghiệm, tôi đã đi đến kết luận rằng 100 ohm là bắt buộc! arduino tiếp tục chặn mà không có nó, một cách ngẫu nhiên. Bây giờ nó hoạt động hoàn hảo

Bạn cũng sẽ cần các công cụ hàn để hàn bộ điều hợp I2C với màn hình LCD và nếu bạn muốn làm cho nó giống như tôi đã làm trên bảng nguyên mẫu hoặc trên PCB. Tôi đã sử dụng các chân tiêu đề để kết nối arduino vì điều này cho phép tôi tự do trích xuất arduino, lập trình và lắp lại nó (và việc thay thế nó cũng dễ dàng hơn).

9. Tùy chọn - bảng nguyên mẫu / PCB

10. Tùy chọn - chân cắm tiêu đề - mỗi chân có 15 chân trở lên - 2 chiếc (cần thiết để kết nối arduino nano với bo mạch)

Thế là xong, bây giờ bắt tay vào làm thôi!

Bước 2: Kết hợp mọi thứ lại với nhau

Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau
Kết hợp mọi thứ với nhau

Đầu tiên, bạn phải hàn bộ chuyển đổi IIC / I2C với LCD 1602 (cũng hoạt động với các LCD khác như 2004). Sử dụng sơ đồ được cung cấp để làm như vậy.

Bây giờ nếu bạn muốn sử dụng breadboard chỉ cần làm theo sơ đồ và đảm bảo rằng chỉ nối đất chung cho bộ nguồn LED và bộ nguồn arduino nếu bạn sử dụng 5V PS cho arduino (trên cáp USB), nếu không bạn có thể liên kết cùng một PS thông qua chân Vin của arduino.

Nếu bạn muốn sử dụng PCB hoặc một bảng nguyên mẫu, chỉ cần làm theo sơ đồ để liên kết các thành phần, thiết kế là tùy thuộc vào bạn, chỉ cần đảm bảo kiểm tra kỹ các liên kết cuối cùng.

Trên bộ điều hợp I2C, đối diện với chân nguồn và chân dữ liệu có một cầu nhảy, cầu nối này cung cấp năng lượng cho đèn nền LCD, với nó trên đèn LCD sẽ sáng liên tục. Kết nối nút nhấn ở đây để chỉ chiếu sáng nó khi cần thiết. Bạn có thể sử dụng các loại nút hoặc công tắc khác nếu muốn.

Tôi cũng đã bao gồm giản đồ fritzing.

_

PS = Nguồn cung cấp (nếu có ai thắc mắc)

PCB = Bảng mạch in

Bước 3: Đặt một số mã vào MCU

Tôi đã đính kèm tệp.ino và hai thư viện tôi đã sử dụng nên sẽ không xảy ra tình trạng không tương thích. Mã được giải thích bên trong tệp.ino.

Ngoài ra, đối với địa chỉ của màn hình I2C, bạn có thể sử dụng i2c-scanner.ino đính kèm để tìm ra địa chỉ đó.

Bất kỳ ý kiến đóng góp đều được chào đón. Chúc vui vẻ!

Đề xuất: