2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
Đa đên giơ đi ngủ. Bạn thức dậy để tắt đèn ngủ, và sau khi bật công tắc, bạn nhận ra rằng bạn có một hành trình tối đen để trở về nơi an toàn của chiếc giường trước mắt. Thật may mắn cho bạn, đèn ngủ đã được phát minh và bạn đã đến đúng nơi để tìm một chiếc! Nhưng… làm sao bạn có thể ngủ được khi chiếc đèn ngủ buồn tẻ đó vẫn bật sáng suốt đêm chiếu sáng căn phòng của bạn? Ngoài ra, bạn không mệt mỏi với bóng tối trống rỗng này khiến đèn ngủ của bạn vẫn bật và lãng phí năng lượng? Vâng, bạn VẪN đang ở đúng nơi, bởi vì chúng tôi có chính xác những gì bạn cần!
Chúng tôi muốn làm tươi sáng cuộc sống của bạn bằng cách giúp bạn tạo ra một chiếc đèn ngủ bền vững.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn quy trình chế tạo một chiếc đèn ngủ tắt bằng bộ hẹn giờ. Hệ thống sẽ có thể nhận biết khi nào đèn chính tắt, thông qua cảm biến ánh sáng và bật đèn trong thời gian do người dùng thiết lập và tắt sau khi thời gian đó trôi qua. Đèn ngủ này khác với các loại đèn ngủ khác vì nó lãng phí năng lượng do vẫn bật khi bạn ngủ và không cần đến. Dự án này sử dụng hai loại bảng, Basys 3 và Arduino, và một cảm biến ánh sáng.
Người sáng tạo: Luke McDaniel, Erik Ramazzini, Monica Negrete, Hayley Young
Bước 1: Vật liệu và phần mềm
Vật liệu
Basys 3 Artix-7 FPGA Trainer Board
store.digilentinc.com/basys-3-artix-7-fpga…
Arduino Uno Rev3
store.arduino.cc/usa/arduino-uno-rev3
Breadboard
www.amazon.com/Elegoo-EL-CK-002-Electronic…
Điện trở 10k Ω
Liên kết giống như breadboard
Dây nhảy
Liên kết giống như breadboard
Cảm biến ánh sáng (Tế bào quang mini)
www.sparkfun.com/products/9088
Phần mềm
Vivado HL WebPACK Edition (PDF đính kèm bao gồm hướng dẫn)
www.xilinx.com/products/design-tools/vivad…
Arduino IDE
www.arduino.cc/en/Main/Software
Bước 2: Kiến trúc hệ thống
Bước tiếp theo là hiểu kiến trúc hệ thống. Chúng tôi đã tạo một sơ đồ hộp đen và một máy trạng thái hữu hạn (hiển thị ở trên) để tổ chức cấu trúc thiết kế của chúng tôi trước khi đi vào hậu cần
Thiết kế tổng thể
Đầu vào
Cảm biến ánh sáng: xác định lượng ánh sáng trong phòng
Kết quả đầu ra
- Cực dương: xác định màn hình 7 đoạn nào sẽ được sử dụng
- Phân đoạn: hiển thị bộ đếm thời gian
- LED: hiển thị điều kiện ánh sáng ban đêm BẬT hoặc TẮT
Arduino
Đầu vào
Tín hiệu cảm biến ánh sáng: giá trị tương tự của lượng ánh sáng trong phòng
Đầu ra
Đầu vào ánh sáng (1 bit): tín hiệu xác định tình trạng ánh sáng của căn phòng
Basys 3
Đầu vào
- Đầu vào ánh sáng (1 bit): tín hiệu xác định tình trạng ánh sáng của căn phòng
- Công tắc
- CLK
Đầu ra
- Cực dương: xác định màn hình 7 đoạn nào sẽ được sử dụng
- Phân đoạn: hiển thị bộ đếm thời gian
- LED: hiển thị điều kiện ánh sáng ban đêm BẬT hoặc TẮT
Bước 3: Phần cứng và mã Arduino
Phần cứng
Để hiểu mã Arduino, chúng ta phải hiểu phần cứng mà mã đang tương tác. Mạch trên breadboard của chúng tôi bao gồm một tế bào quang điện, một điốt phát sáng và nhiều dây dẫn và điện trở để hoàn thiện nó. Mạch bắt đầu bằng cách gửi điện đến tế bào quang điện, tế bào này sau đó đọc lượng ánh sáng xung quanh nó. Thông tin này được chuyển đến chân tương tự, A0, giúp bảng Basys có thể đọc được. Sau đó, bảng Basys lấy thông tin này, bắt đầu đếm và gửi tín hiệu để đèn LED bật.
Mã Arduino
Bản thân mã Arduino giao tiếp với bảng Basys bằng cách gửi cho nó một tín hiệu khi ánh sáng xung quanh thiết bị tối hơn một ngưỡng được chỉ định. Tín hiệu này được kích hoạt bởi phòng tối có đèn LED sẽ bật sáng. Qua thí nghiệm, chúng tôi phát hiện ra rằng ngưỡng trung bình cho tế bào quang cụ thể của chúng ta trong phòng tối là 30 - 60. Mỗi tế bào quang điện có một mức độ nhạy khác nhau, vì vậy các tế bào quang điện khác có thể có ngưỡng khác nhau. Trong mã đã xuất bản của chúng tôi, chúng tôi đã đặt ngưỡng 100 cho mục đích trình diễn.