Mục lục:

Arduino Open Window Detector - cho mùa đông: 6 bước
Arduino Open Window Detector - cho mùa đông: 6 bước

Video: Arduino Open Window Detector - cho mùa đông: 6 bước

Video: Arduino Open Window Detector - cho mùa đông: 6 bước
Video: Tự học Arduino cơ bản | Bài 8 Điều khiển màn cửa tự động bằng cảm biến mưa | Cửa cuốn tự động. 2024, Tháng mười một
Anonim
Arduino Open Window Detector - cho mùa đông
Arduino Open Window Detector - cho mùa đông

Bên ngoài trời đang trở lạnh, nhưng đôi khi tôi cần một chút không khí trong lành trong phòng của mình. Vì vậy, tôi mở cửa sổ, rời khỏi phòng, đóng cửa và muốn quay lại sau 5 đến 10 phút. Và sau vài giờ, tôi nhớ rằng cửa sổ đang mở… Có thể bạn biết điều này hoặc có con cái, điều này mang lại cho bạn trải nghiệm này.

Giải pháp của tôi là Open Window Detector. Pin sẽ kéo dài hơn một năm, vì vậy chỉ cần đặt nó vào mùa thu và tháo nó ra vào mùa xuân.

Bước 1: Danh sách bộ phận

Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
Danh sách các bộ phận
  1. Bảng Digispark từ eBay.
  2. Tai nghe cũ.
  3. Nút nhỏ để đặt lại.
  4. Các đầu nối cho loa - nếu không thì không thể lập trình lại bảng.
  5. Dây điện.
  6. Để cung cấp điện, bạn cần:

Hộp đựng pin AAA với công tắc bật / tắt. Bạn thậm chí có thể sử dụng pin đã hết, vì mô-đun sẽ hoạt động xuống 2,4Volt

HOẶC

Pin lipo cũ (thậm chí 30% dung lượng là đủ cho mục đích này) và nếu bạn chưa có, hãy sạc pin lipo từ eBay.

HOẶC

Một ngăn chứa cho ô đồng xu CR2032

Diode 1A 1N4001 hoặc tương đương - hoặc bất cứ thứ gì bạn có ở kích thước này - để bảo vệ phân cực ngược

Bước 2: Lập trình bảng Digispark

Lập trình bảng Digispark
Lập trình bảng Digispark
Lập trình bảng Digispark
Lập trình bảng Digispark

Cài đặt trình điều khiển

Bạn phải cài đặt trình điều khiển Digispark trước khi có thể lập trình Board. Tải xuống tại đây, mở nó và chạy "InstallDrivers.exe".

Cài đặt Arduino IDE

Cài đặt bảng Digispark cho Arduino IDE như được mô tả trong

Tôi khuyên bạn nên sử dụng làm URL bảng Digispark trong Tệp Arduino / Tùy chọn https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json thay vì https://digistump.com/package_digistump_index.json và cài đặt Digistump AVR Boards phiên bản 1.6.8.

Vì chúng tôi muốn tiết kiệm điện năng, đồng hồ bảng được chuyển sang 1 MHz trong thiết lập của chúng tôi (), bạn có thể chọn Digispark (1mhz - Không có USB) làm bảng trong menu Công cụ.

Biên dịch và tải chương trình lên bảng

Trong Arduino IDE, tạo một bản phác thảo mới với Tệp / Mới và đặt tên cho nó, ví dụ: "OpenWindowAlarm". Sao chép mã từ OpenWindowAlarm.ino

HOẶC

Tải xuống và giải nén kho lưu trữ. Mở bản phác thảo bằng Tệp -> Mở… và chọn thư mục "OpenWindowAlarm".

Biên dịch và tải nó lên. Xin lưu ý rằng quá trình tải lên sẽ không hoạt động nếu loa được kết nối. Nếu mọi thứ hoạt động tốt, đèn LED tích hợp của Digispark sẽ nhấp nháy 5 lần (đối với thời gian trễ báo thức 5 phút) và sau đó bắt đầu nhấp nháy sau 8 giây với khoảng thời gian 24 giây để báo hiệu mỗi lần đọc nhiệt độ.

Bước 3: Giảm năng lượng

Giảm năng lượng
Giảm năng lượng
Giảm năng lượng
Giảm năng lượng

Bảng Digispark của chúng tôi sử dụng 5mA ở 3, 0 volt. Với 2 pin AAA (1000mAh), nó sẽ chạy trong 8 ngày. Nhưng có thể giảm tiêu thụ điện năng xuống 26 µA trong 3 bước.

  1. Vô hiệu hóa đèn LED nguồn bằng cách dùng dao cắt đứt dây đồng nối đèn LED nguồn với diode hoặc tháo / tắt điện trở 102 giúp tiết kiệm 1,3 mA.
  2. Tháo bộ điều chỉnh điện áp VIN tiết kiệm được 1,2 mA.
  3. Ngắt kết nối điện trở USB Pullup (được đánh dấu 152) khỏi 5 Volt (VCC) giúp tiết kiệm 2,5 mA còn lại. Ngắt kết nối nó bằng cách làm đứt dây đồng ở phía bên của điện trở chỉ vào ATTiny. Điều này sẽ vô hiệu hóa giao diện USB và đến lượt nó, khả năng lập trình bảng Digispark qua USB. Để bật lại nhưng vẫn tiết kiệm điện, hãy kết nối trực tiếp điện trở (được đánh dấu 152) với USB 5 volt dễ dàng có sẵn ở mặt ngoài của diode.

    Có thể tìm thấy mặt chính xác của diode bằng cách sử dụng máy kiểm tra tính liên tục. Một mặt của diode này được kết nối với chân 8 của ATtiny (VCC). Mặt còn lại được kết nối với USB 5 volt.

Bây giờ, điện trở kéo lên USB chỉ được kích hoạt nếu bảng Digispark được kết nối với USB, ví dụ: trong quá trình lập trình và bo mạch tiêu thụ 26 µA trong khi ngủ.

Nếu bạn lập trình lại các cầu chì, bạn có thể nhận được điện năng tiêu thụ 6 µA.

Để lập trình lại các cầu chì, bạn cần một ISP (có thể được xây dựng bằng Arduino) và một bộ điều hợp kết nối. Để lập trình lại, bạn có thể sử dụng tập lệnh này.

Bước 4: Nút Đặt lại

Nút reset
Nút reset
Nút reset
Nút reset
Nút reset
Nút reset
Nút reset
Nút reset

Nếu bạn không muốn tháo nguồn để đặt lại báo thức, hãy kết nối nút đặt lại giữa PB5 và mặt đất. Tôi đã làm điều này bằng cách kết nối bề mặt đồng VIN chưa kết nối với PB5 và hàn nút đặt lại trực tiếp vào lỗ chân VIN và mặt đất lớn của bộ điều chỉnh điện áp VIN đã được tháo ra.

Nếu bạn muốn loại bỏ 5 giây đợi kết nối USB sau khi đặt lại, bạn có thể thay đổi hạt nhân vi nhân trên ATtiny85. Chạy tập lệnh "0_Burn_upgrade-t85_recommended.cmd" và sau đó tải lại ứng dụng OpenWindowAlarm bằng Arduino IDE.

Bước 5: Loa

Loa
Loa
Loa
Loa
Loa
Loa

Tôi đã tháo rời một tai nghe cũ và kết nối đầu nối nam với cáp.

Bước 6: Vận hành

Điều hành
Điều hành
Điều hành
Điều hành
Điều hành
Điều hành

Để sử dụng bảng, hãy đặt bảng trên bệ cửa sổ và kết nối với pin. Nếu nhiệt độ trên bệ cửa thấp hơn nhiệt độ nơi ban đầu đặt bảng, sẽ mất thêm 5 phút để áp dụng một cách thông minh giá trị bắt đầu mới.

Sau đó, bạn sẽ được cảnh báo nếu để cửa sổ mở lâu hơn năm phút.

Hoạt động nội bộ

  • Cửa sổ đang mở được phát hiện sau TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) giây đọc nhiệt độ với giá trị TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) thấp hơn nhiệt độ TEMPERATURE_COMPARE_DISTANCE * TEMPERATURE_SAMPLE 12 giây và 192 giây -> 3 phút.
  • Độ trễ được thực hiện bằng cách ngủ 3 lần tại `SLEEP_MODE_PWR_DOWN` trong khoảng thời gian 8 giây để giảm tiêu thụ điện năng.
  • Việc phát hiện một cửa sổ đang mở được biểu thị bằng một nhấp nháy dài hơn 20ms và một nhấp chuột ngắn cứ sau 24 giây. Do đó, cảm biến bên trong có thời gian 3 phút để điều chỉnh theo nhiệt độ bên ngoài nhằm ghi lại những thay đổi dù là nhỏ của nhiệt độ. Sự thay đổi nhiệt độ càng lớn thì giá trị cảm biến sẽ thay đổi sớm hơn và phát hiện cửa sổ đang mở.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (5) phút sau khi phát hiện cửa sổ mở, cảnh báo được kích hoạt.

    Cảnh báo sẽ không bắt đầu hoặc một cảnh báo đã kích hoạt sẽ dừng nếu nhiệt độ hiện tại lớn hơn nhiệt độ đo được tối thiểu (+ 1), tức là cửa sổ đã được đóng.

  • Báo thức ban đầu kéo dài trong 10 phút. Sau đó, nó được kích hoạt trong khoảng thời gian 10 giây với thời gian nghỉ tăng dần từ 24 giây đến 5 phút.
  • Mỗi VCC_MONITORING_DELAY_MIN (60) phút, điện áp pin được đo. Tùy thuộc vào loại pin được phát hiện khi bật nguồn (xem VCC_VOLTAGE_LIPO_DETECTION (3,6 volt)), điện áp pin dưới VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) hoặc VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD Millivolt được biểu thị bằng tiếng bíp và nhấp nháy đèn LED sau mỗi 24 giây. Chỉ có tiếng bíp (không phải đèn flash) dài hơn đáng kể so với tiếng bíp để phát hiện cửa sổ đang mở.
  • Sau khi bật nguồn, thời gian lắng không hoạt động là 5 phút. Nếu bo mạch trở nên lạnh hơn trong thời gian giải quyết, 4:15 (hoặc 8:30) phút được thêm vào để tránh báo động giả sau khi bật nguồn.

Đề xuất: