Mục lục:

Postino: Người đưa thư có giao bất cứ thứ gì không ?: 6 bước (có hình ảnh)
Postino: Người đưa thư có giao bất cứ thứ gì không ?: 6 bước (có hình ảnh)

Video: Postino: Người đưa thư có giao bất cứ thứ gì không ?: 6 bước (có hình ảnh)

Video: Postino: Người đưa thư có giao bất cứ thứ gì không ?: 6 bước (có hình ảnh)
Video: Rối loạn kinh nguyệt sau khi uống thuốc tránh thai có sao không? 2024, Tháng bảy
Anonim
Postino: Người đưa thư có giao bất cứ thứ gì không?
Postino: Người đưa thư có giao bất cứ thứ gì không?

Không phải ý tưởng của tôi: một ngày nọ, một người bạn hỏi tôi cách kiểm tra từ xa xem có thư nào được gửi vào hộp thư của anh ấy không. Hộp thư không nằm trên lối đi bộ dẫn đến cửa nhà anh ấy, vì anh ấy là một cậu bé lười biếng, anh ấy tự hỏi liệu một thiết bị công nghệ có thể cảnh báo anh ấy về bất kỳ bức thư nào vào hộp thư hay không. Tôi đã xem xét thị trường và tôi không thể tìm thấy bất kỳ thiết bị làm sẵn nào phù hợp với nhu cầu của anh ấy, vì vậy tôi đã đặt ra một thách thức cho bản thân: tại sao không thiết kế và chế tạo nó?

Các ràng buộc là:

  • chạy bằng pin với tuổi thọ hợp lý giữa các lần thay pin;
  • Thông tin liên lạc WiFi;
  • chỉ kiểm tra một lần một ngày xem có thư hay không;

Câu hỏi chính là: loại cảm biến nào có thể phù hợp với yêu cầu của tôi? Cảm biến độ gần không thể hoạt động vì việc kiểm tra chỉ được thực hiện một lần mỗi ngày và không theo thời gian thực; cảm biến trọng lượng cũng vậy, vì điều này sẽ làm tăng thêm độ phức tạp và các vấn đề về độ nhạy (một tờ giấy có thể rất nhẹ). Sự lựa chọn của tôi đã hạ cánh trên một cảm biến Time-of-Flight (một tia laser siêu nhỏ). Sau khi hiệu chỉnh nó cho kích thước hộp thư, bất kỳ thứ gì đặt ở giữa sẽ kích hoạt cảm biến! Xem xét 3 hạn chế, tôi quyết định sử dụng ESP8266 (chạy phần mềm và liên kết với WiFi), cảm biến Thời gian bay VL6180 để đo và Đồng hồ thời gian thực DS3231 để kích hoạt tất cả mạch mỗi ngày: đó là cách Postino ra đời!

Bước 1: Các bộ phận và thành phần

  • ESP8266-01 (hoặc ESP-12E NodeMCU)
  • Cảm biến thời gian bay VL6108
  • Đồng hồ thời gian thực DS3231
  • IRLZ44 MosFET kênh N
  • Bóng bán dẫn BC547
  • Điện trở
  • Pin CR123

Bước 2: Cảm biến

Cảm biến
Cảm biến

Trái tim của hệ thống là cảm biến VL6180. Đây là một công nghệ đột phá cho phép đo khoảng cách tuyệt đối không phụ thuộc vào độ phản xạ mục tiêu. Thay vì ước tính khoảng cách bằng cách đo lượng ánh sáng phản xạ lại từ vật thể (bị ảnh hưởng đáng kể bởi màu sắc và bề mặt), VL6180X đo chính xác thời gian ánh sáng truyền đến vật thể gần nhất và phản xạ trở lại cảm biến (Thời gian -tăt đen). Kết hợp bộ phát hồng ngoại, cảm biến phạm vi và cảm biến ánh sáng xung quanh trong một gói có thể chỉnh lại ánh sáng sẵn sàng sử dụng ba trong một, VL6180X dễ dàng tích hợp và tiết kiệm tối ưu hóa thiết kế quang học và cơ học lâu dài và tốn kém cho nhà sản xuất sản phẩm cuối cùng.

Mô-đun được thiết kế để hoạt động với công suất thấp. Tôi đã sử dụng bảng đột phá Pololu có bộ điều chỉnh điện áp trên bo mạch cho phép nó hoạt động trên dải điện áp đầu vào từ 2,7 V đến 5,5 V.

Cảm biến cho phép 3 hệ số tỷ lệ hợp lệ đặt phạm vi tối đa của phép đo từ 20 đến 60 cm, với các độ nhạy khác nhau. Bằng cách định cấu hình hệ số tỷ lệ phạm vi, phạm vi tối đa tiềm năng của cảm biến có thể được tăng lên với chi phí là độ phân giải thấp hơn. Đặt hệ số tỷ lệ thành 2 cung cấp phạm vi lên đến 40 cm với độ phân giải 2 mm, trong khi hệ số tỷ lệ 3 cung cấp phạm vi lên đến 60 cm với độ phân giải 3 mm. Bạn phải kiểm tra 3 thang đo với kích thước hộp thư của mình. Vì của tôi là 25 cm (H), tôi đã sử dụng hệ số tỷ lệ = 1.

Bước 3: Tùy chỉnh đồng hồ thời gian thực

Đối với RTC, tôi đã sử dụng bảng đột phá DS3231 bao gồm EEPROM (vô dụng cho mục đích của tôi) và pin cỡ đồng xu. Khi tôi quyết định cấp nguồn cho RTC thông qua pin thiết bị chính (3v CR123), tôi đã tháo pin đồng xu; để tiết kiệm điện, tôi cũng đã tháo EEPROM (bằng cách cắt cẩn thận các chân của nó) và đèn led trên bo mạch.

Pin đồng xu không hữu ích đối với tôi vì tôi không cần lưu ngày / giờ / phút / giây theo thời gian thực, nhưng RTC chỉ phải đếm trong 24 giờ và sau đó kích hoạt báo thức để bật thiết bị.

Bước 4: Các điều khoản khác trên tàu

Các điều khoản khác trên tàu
Các điều khoản khác trên tàu
Các điều khoản khác trên tàu
Các điều khoản khác trên tàu

Việc bật nguồn của thiết bị được thực hiện bởi một bóng bán dẫn và mạch MosFET, được kích hoạt bởi cảnh báo RTC. Sau khi cảnh báo được đặt lại, mạch sẽ cắt nguồn cho thiết bị trong một chu kỳ 24 giờ nữa. Khi đạt đến cảnh báo, DS3231 sẽ chuyển một chân từ cao xuống thấp: trong điều kiện bình thường, bóng bán dẫn đã bão hòa và nối đất với cổng MosFET. Khi cảnh báo đưa đế của bóng bán dẫn xuống đất, nó sẽ mở ra và cho phép MosFET đóng mạch và cung cấp năng lượng cho phần còn lại của các thành phần.

Ngoài ra, tôi đã thêm một jumper "test-1M". Mục đích của công tắc này là - nếu được kích hoạt - để thay đổi chu kỳ từ một lần một ngày thành một phút một lần, để chạy các thử nghiệm triển khai. Để thay đổi khoảng thời gian từ một ngày thành một phút, trước tiên bạn cần đóng jumper “Test-C” trong khoảng 15 giây, để bỏ qua khoảng thời gian kích hoạt báo thức của đồng hồ và để bật thiết bị. Khi kiểm tra xong, hãy mở jumper và đặt lại thiết bị (nguồn chu kỳ).

Bước 5: Sơ đồ

Sơ đồ
Sơ đồ

Bước 6: Phần mềm và Logic

Trong các bài kiểm tra, tôi đã sử dụng (vì lý do thực tế) bộ điều khiển NodeMCU, vì vậy phần mềm sẽ xử lý điều này bằng cách đặt biến thể CHIP thành “NodeMCU” hoặc “esp8266”.

Bản phác thảo triển khai thư viện WiFiManager để cho phép thiết bị kết nối với một AP WiFi hợp lệ trong lần chạy đầu tiên. Trong trường hợp này, thiết bị sẽ chuyển sang chế độ AP, cho phép bạn kết nối với thiết bị và chọn mạng WiFi phù hợp để tham gia. Sau đó, cấu hình mạng được lưu trong EPROM cho các chu kỳ tiếp theo.

Biến REST_MSG chứa thông điệp http để gửi khi cảm biến tìm thấy một đối tượng trong hộp thư. Trong trường hợp của tôi, nó gửi một tin nhắn đến máy chủ REST domotic, nhưng bạn có thể thay đổi nó theo ý muốn: tin nhắn Telegram BOT, sự kiện IFTTT WebHook, v.v.

Phần còn lại của bản phác thảo là tất cả trong hàm setup (), vì vòng lặp không bao giờ đạt được. Sau khi các cấu hình cần thiết cho một số thư viện, phần mềm đặt thời gian đồng hồ thành 00:00:01 và báo thức thành mỗi ngày một lần (hoặc mỗi phút một lần nếu jumper "test-1M" được kích hoạt). Sau đó, nó thực hiện các biện pháp, gửi thông báo (nếu bất kỳ đối tượng được tìm thấy trong hộp thư) và đặt lại mã pin báo động, tắt thiết bị. Vào cuối chu kỳ, chỉ có RTC được bật nguồn, tính trong 24 giờ. Jumper Test-1M được kết nối với chân RX của ESP8266, được sử dụng làm GPIO-3 bằng cách cài đặt: setMode (PIN, FUNCTION_3). Do đó, bạn không thể sử dụng Serial monitor khi đang chạy ESP8266: dòng “#define DEBUG” (cho phép tất cả các bản in nối tiếp trong bản phác thảo) chỉ được sử dụng khi NodeMCU được cài đặt thay cho ESP8266.

ESP8266 xử lý giao tiếp I2C với RTC và cảm biến thông qua các chân GPIO-0 và GPIO-2 của nó, được khởi tạo trong thư viện Wire.

Mã đầy đủ có thể được tải xuống từ liên kết này.

Cuộc thi công nghệ hỗ trợ
Cuộc thi công nghệ hỗ trợ
Cuộc thi công nghệ hỗ trợ
Cuộc thi công nghệ hỗ trợ

Về nhì trong Cuộc thi công nghệ hỗ trợ

Đề xuất: