Mục lục:

Đồng hồ báo thức mặt trời mọc với Arduino: 9 bước (có hình ảnh)
Đồng hồ báo thức mặt trời mọc với Arduino: 9 bước (có hình ảnh)

Video: Đồng hồ báo thức mặt trời mọc với Arduino: 9 bước (có hình ảnh)

Video: Đồng hồ báo thức mặt trời mọc với Arduino: 9 bước (có hình ảnh)
Video: Hành Tinh Lạ Rơi Xuống đất 😲😲😲 2024, Tháng mười một
Anonim
Image
Image
Đồng hồ báo thức mặt trời mọc với Arduino
Đồng hồ báo thức mặt trời mọc với Arduino

Mùa đông có thể buồn. Bạn thức dậy, trời đã tối và bạn phải ra khỏi giường. Điều cuối cùng bạn muốn nghe là âm thanh chói tai của đồng hồ báo thức. Tôi sống ở London và tôi rất khó thức dậy vào buổi sáng. Ngoài ra, tôi nhớ thức dậy với ánh sáng tự nhiên.

Trong hướng dẫn này, chúng ta sẽ xây dựng Đồng hồ báo thức mặt trời mọc. Đó là một chiếc đồng hồ báo thức giống như bất kỳ chiếc đồng hồ nào khác ở chỗ bạn có thể đặt giờ và phút bạn muốn thức dậy, nhưng với lợi ích bổ sung là sử dụng ánh sáng để làm bừng sáng phòng ngủ của bạn trong một khoảng thời gian như mặt trời mọc để đánh thức bạn một cách tự nhiên hơn.

Đèn mặt trời mọc tồn tại trên thị trường nhưng chúng có thể đắt tiền (tìm kiếm nhanh trên Amazon sẽ trả lại các sản phẩm trong khoảng £ 100), dễ vỡ và trông khá lâm sàng. Chúng tôi sẽ làm ra thứ gì đó rẻ hơn và đẹp hơn rất nhiều.

Tất cả các phần sẽ được liệt kê trong bước tiếp theo. Bạn có thể tải mã này xuống từ repo gold-Sunrise-clock trên Github của tôi. Tất cả các sơ đồ và tệp xây dựng cho trường hợp có sẵn để tải xuống trong hướng dẫn này.

Đi nào:)

Nếu bạn gặp sự cố hoặc muốn gửi lời chào, hãy gửi cho tôi một dòng [email protected] hoặc theo dõi tôi trên Instagram @celinechappert.

Bước 1: Thu thập các thành phần

Thu thập các thành phần
Thu thập các thành phần

Để bắt đầu, chúng tôi sẽ sử dụng đồng hồ làm đầu vào và đèn LED siêu sáng làm đầu ra để mô phỏng mặt trời mọc.

Để xây dựng mạch, chúng ta sẽ cần:

- một chiếc đồng hồ. Chúng tôi sẽ sử dụng RTC DS3231 (£ 5)

- một MOSFET để kiểm soát độ sáng của đèn (£ 9)

- một LED siêu sáng (£ 1)

- Pin 9V để cấp nguồn cho đèn LED (£ 3)

- một breadboard để lắp ráp dễ dàng (£ 3)

- một Arduino Uno (£ 20)

- một nút bấm (tùy chọn - chỉ dành cho mục đích demo)

Tổng giá = £ 41

Nếu bạn đã có Arduino, breadboard và pin 9V ở nhà, toàn bộ dự án sẽ tiêu tốn của bạn dưới 15 bảng Anh.

Để làm vỏ acrylic, bạn sẽ cần:

- 2 tấm Perspex acrylic 0,3mm, mỗi màu 1 tấm chống nắng và ốp lưng.

- sử dụng máy cắt laser.

Tôi may mắn được vào hội thảo của trường mình nên phần lớn chi phí này đã được trang trải. Tôi đã mua thêm một tấm acrylic vì thiết kế của tôi yêu cầu màu cam cho mặt trời, có giá 14 bảng Anh / tấm (Perspex đắt!).

Bước 2: Lắp ráp mạch

Image
Image
Lắp ráp mạch
Lắp ráp mạch
Lắp ráp mạch
Lắp ráp mạch

Bạn có thể tham khảo bản phác thảo đen trắng về mạch của tôi (miễn là lộn xộn) và sơ đồ có Arduino (được thực hiện bằng Fritzing).

Về cơ bản ở đây là sự phân tích về những gì được kết nối với những gì:

Cái đồng hồ:

(-) kết nối với GND

NC là viết tắt của 'Not Connected' và không kết nối với bất kỳ thứ gì

C / SCL kết nối với chân A5 trên Arduino

D / SDA kết nối với chân A4 trên Arduino

(+) kết nối với 5V trên Arduino

MOSFET

Chân cổng chuyển sang chân ~ 9 trên Arduino Uno vì đó là PWM

Chốt xả đi vào cực âm của đèn LED

Chân nguồn đi đến GND trên Arduino

DẪN ĐẾN

Mặt âm được kết nối với chốt xả trên MOSFET

Cực dương được kết nối với 5V trên breadboard

Pin 9V

(+) thành (+) trên breadboard, giống với (-).

Arduino Uno

Hãy nhớ kết nối 5V với (+) trên breadboard và GND với (-). Hãy nhớ kết nối (-) ở một bên của breadboard với (-) ở bên kia.

Tiếp theo, chúng tôi sẽ cài đặt đồng hồ của mình bằng thư viện DS3231.

Bước 3: Cài đặt và thiết lập đồng hồ

Cài đặt và thiết lập đồng hồ
Cài đặt và thiết lập đồng hồ
Cài đặt và thiết lập đồng hồ
Cài đặt và thiết lập đồng hồ
Cài đặt và thiết lập đồng hồ
Cài đặt và thiết lập đồng hồ

Thư viện mà tôi đang sử dụng để chạy đồng hồ này có thể được tìm thấy tại Rinky-Dink Electronics (ảnh chụp màn hình ở trên). Nhấp vào liên kết và đảm bảo rằng bạn đang ở trang DS3231. Tải xuống tệp zip, lưu nó và đặt nó trong thư mục / thư viện Arduino của bạn.

Bây giờ để đặt thời gian chính xác trên đồng hồ, hãy mở Arduino và đi tới Ví dụ / DS3231 / Arduino / DS3231_Serial_Easy.

Bỏ ghi chú ba dòng mã (được viền màu cam trong ảnh chụp màn hình), kiểm tra thời gian và địa điểm chính xác thời gian đó trong ba dòng mã đó ở định dạng quân sự.

Nhấn Tải lên.

Bây giờ bạn có thể bỏ ghi chú ba dòng đó và nhấn Tải lên một lần nữa.

Mở Serial Monitor của bạn và kiểm tra xem thời gian của bạn có chính xác không.

Đồng hồ của chúng tôi đã được thiết lập! Chúng ta có mạch của mình, bây giờ hãy bắt đầu viết mã. Một lần nữa, repo có sẵn trên Github.

Bước 4: Mã hóa

Image
Image

Tải xuống mã và đảm bảo rằng thư viện cho DS3231 được cài đặt chính xác.

Trước hết, chúng tôi muốn xác định cài đặt của mình.

Thời gian phai là khoảng thời gian ánh sáng sẽ mờ dần từ 0 đến độ sáng tối đa tính bằng phút. setHour / setMin tương ứng với thời gian chúng ta muốn thức dậy (lưu ý: điều này đọc định dạng quân sự, vì vậy thời gian 24 giờ là bắt buộc). Chúng tôi cũng xác định chân số 9 trên Arduino là ĐẦU RA của chúng tôi.

Trong setup (), hãy đảm bảo số SerialBegin (ở đây là 96000 baud) tương ứng với số của Serial Monitor.

Trong vòng lặp (), một câu lệnh if sẽ kiểm tra xem đã đến lúc thức dậy chưa. Mã chạy trên một vòng lặp, luôn kiểm tra xem các giá trị giờ và phút được đồng hồ trả về có tương ứng với các biến setHour / setMin của chúng ta hay không. Nếu đúng như vậy, câu lệnh if trả về một hàm active ().

Hàm active () gồm hai phần. Đầu tiên, chúng tôi bắt đầu làm mờ dần ánh sáng: các chức năng trì hoãn ở đây để ngăn đèn LED trở nên quá sáng sớm trong giai đoạn 'đầu' của fadeTime. Sau đó, một vòng lặp for điều khiển tốc độ mà ánh sáng sẽ sáng hơn và sáng hơn tùy thuộc vào Thời gian mờ dần. Cuối cùng, chúng tôi tắt đèn bằng cách chuyển giá trị 0 cho đèn LED của chúng tôi trong hàm analogWrite ().

Đoạn video trên cho thấy mạch hoạt động trong một trong những trường hợp acrylic nguyên mẫu.

Bước 5: Nguyên mẫu bìa cứng (tùy chọn)

Nguyên mẫu bìa cứng (tùy chọn)
Nguyên mẫu bìa cứng (tùy chọn)
Nguyên mẫu bìa cứng (tùy chọn)
Nguyên mẫu bìa cứng (tùy chọn)

Trước dự án này, tôi chưa bao giờ làm việc với máy cắt laser. Tạo một nguyên mẫu bìa cứng cho phép tôi làm quen với máy trong khi kiểm tra xem vật thể trông như thế nào (kích thước, diện mạo, v.v.) trong không gian thực. Kế hoạch trường hợp để tải xuống.

Đề xuất: