Mục lục:

AtmoScan: 7 bước (có hình ảnh)
AtmoScan: 7 bước (có hình ảnh)

Video: AtmoScan: 7 bước (có hình ảnh)

Video: AtmoScan: 7 bước (có hình ảnh)
Video: Samsung Sound Assistant Full Review - New Update! Install NOW! 2024, Tháng mười một
Anonim
Image
Image
Cảm biến
Cảm biến

**********************************************************************************************

TIN TỨC

Truy cập GitHub của tôi để:

- Một số thay đổi phần cứng nhỏ giúp cải thiện thiết kế, bao gồm khả năng tự tắt khỏi phần mềm, khắc phục một trong những nhược điểm lớn nhất của thiết kế - cách xử lý pin yếu.

- Một thiết kế PCB v2 hiện đã được xuất bản cùng với hướng dẫn để dễ dàng áp dụng thay đổi cho các bo mạch V1.0.

- Các tệp CAD để hoàn thiện bao vây

Vỏ bọc mới trông giống như hình trên … tốt, không có dây chun

****************************************************************************************

ATMOSCAN là một thiết bị đa cảm biến nhằm mục đích giám sát chất lượng không khí trong nhà. Mặc dù nhiều dự án đã được công bố có mục đích tương tự, nhưng đây là một hệ thống hoàn chỉnh trong một gói nhỏ gọn, khép kín tóm tắt tất cả. Nó có màn hình màu LCD, nó nhận biết thời gian và vị trí, nó được điều khiển bằng cử chỉ và nó đăng lên ThingSpeak (hoặc những người khác) thông qua MQTT, nhưng có thể xử lý đúng các hoạt động bị ngắt kết nối và kết nối lại. Với pin sạc được tích hợp, nó có thể kéo dài cả ngày khi ngắt kết nối với nguồn điện.

Nó sử dụng một khuôn khổ hợp tác đa nhiệm và rất phản hồi với đầu vào của người dùng trong khi lấy mẫu cảm biến, xử lý giao diện người dùng, đăng lên MQTT. Trên thực tế, nó vắt kiệt khá nhiều so với ESP8266 nhỏ bé. Nó làm như vậy bằng cách tích hợp một số thư viện mã nguồn mở và tận dụng các dịch vụ web internet.

Tín dụng cho thư viện được chuyển đến một số người đóng góp, xem sau.

Nhạc trong video có thể tìm thấy TẠI ĐÂY

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

Atmoscan đo lường một số biến:

  • Nhiệt độ
  • Độ ẩm
  • Sức ép
  • CO2
  • CO
  • NO2
  • VOC (Các hợp chất hữu cơ dễ bay hơi, một chỉ số chất lượng không khí)
  • Chiều 01
  • PM25
  • PM10
  • Sự bức xạ

Để làm như vậy, nó tích hợp một số cảm biến rời rạc

  • BME280 (ví dụ: Liên kết)
  • PMS7003 (ví dụ: Liên kết)
  • MH-Z19 (ví dụ: Liên kết)
  • HDC1080 (ví dụ: Liên kết)
  • MiCS6814 (Liên kết)
  • MP503 (Liên kết)
  • Ống Geiger LND-712 (Liên kết, tôi tìm thấy nó ở Châu Âu tại đây Liên kết hoặc tại đây Liên kết) với mô-đun điện áp cao (Liên kết)

Bảng dữ liệu ở ĐÂY.

Bước 2: Điện tử

Thiết bị điện tử
Thiết bị điện tử
Thiết bị điện tử
Thiết bị điện tử
Thiết bị điện tử
Thiết bị điện tử

Atmoscan có thể dễ dàng được xây dựng với NodeMCU hoặc bất kỳ bảng ESP8266 nào khác và một số thành phần sẵn có, chẳng hạn như bộ chuyển mức và bộ điều chỉnh điện áp, nếu bạn từ bỏ bộ sạc pin tích hợp.

Trong khi tôi làm nguyên mẫu với các thành phần riêng biệt, đối với phiên bản cuối cùng, tôi đã thiết kế một bo mạch cụ thể tích hợp tất cả các chức năng và cung cấp các đầu nối gọn gàng cho các cảm biến, đèn LED cho trạng thái (Xanh dương = kết nối nguồn điện; Đỏ = sạc).

Các tệp Eagle PCB có sẵn TẠI ĐÂY.

Cụ thể, bảng tích hợp:

  • Mạch sạc dựa trên MAX8903A (Liên kết)
  • Logic bật / tắt một nút
  • Mô-đun ESP12E
  • Lập trình logic
  • Dịch chuyển cấp độ
  • Trình điều khiển đèn nền LCD
  • Bộ điều chỉnh điện áp bước lên / bước xuống 3.3V dựa trên Pololu S7V8F3 (Liên kết)
  • Bộ điều chỉnh điện áp bước lên 5V dựa trên Pololu U1V10F5 (Liên kết)
  • LiPo Fuel Gauge dựa trên SparkFun TOL10617 (Liên kết)

Màn hình là TFT 320x240 2,8 dựa trên chip ILI9341 (Liên kết).

Cảm biến cử chỉ dựa trên chip PAJ7620U2 (Liên kết), tốt hơn so với APDS9960 giá rẻ tạo ra các ngắt liên tục và không thể hoạt động thông qua plexiglas.

Các cảm biến khá ngốn điện, vì vậy, để đảm bảo quyền tự chủ ít nhất trong 24 giờ, tôi đã tạo một gói với 3 viên pin x 5000mAh LiPo 105575 (Liên kết). Trong thực tế, 2 có thể là đủ. Bộ sạc MAX8903 gặp khó khăn trong việc sạc gói dung lượng 15.000mAh.

LƯU Ý - NHƯ ĐÃ XEM TRONG HÌNH ẢNH:

  • Các vị trí kết nối được hiển thị
  • Khe cắm thẻ SD cần được rút lại khỏi màn hình nếu bạn muốn nó vừa với hộp
  • Bạn cần tạo một notch nhỏ trên PCB để không làm ảnh hưởng đến quạt (notch đang thịnh hành sau iPhone X). Đã sửa trong PCB V2

Các chữ viết tắt của đầu nối trên PCB như sau:

  • PRS: Cảm biến áp suất khí quyển (dựa trên BME280) LƯU Ý: được gắn trực tiếp trên PCB
  • VOC: Grove - Cảm biến chất lượng không khí v1.3 (dựa trên MP503)
  • TMP: Cảm biến nhiệt độ và độ ẩm kỹ thuật số có độ chính xác cao (dựa trên HDC1080)
  • PMS: PMS7003 Cảm biến nồng độ hạt kỹ thuật số
  • GAS: Grove - Cảm biến khí đa kênh (dựa trên MiCS6814)
  • GES: Grove - Cảm biến cử chỉ (dựa trên PAJ7620U2)
  • RAD: Ống Geiger (thông qua Mô-đun cấp nguồn cho trình điều khiển Geiger Probe điện áp cao 400V / 500V với đầu ra xung số hóa TTL)
  • CO2: MH-Z19 cảm biến khí CO2 hồng ngoại
  • U1V10F: Bộ điều chỉnh điện áp nâng lên 5V dựa trên Pololu
  • U1V10F5 S7V8V3: Bộ điều chỉnh điện áp bước lên / bước xuống 3,3V dựa trên Pololu S7V8F3
  • TOL10617: Máy đo nhiên liệu Sparkfun LiPo
  • Màn hình LCD: ILI9341

Bước 3: Bao vây

Bao vây
Bao vây
Bao vây
Bao vây
Bao vây
Bao vây

Bao vây có nguồn gốc từ một hộp đựng khối lập phương plexiglas 10x10x10 cm mà tôi đã mua trên ebay và được sử dụng cho một mục đích hoàn toàn khác. Nó có các khe thông gió đẹp, chính xác là thứ cần thiết. Về nguyên tắc, khối lượng là đủ để đóng gói toàn bộ, ngoại trừ việc nó không dễ dàng… một số nỗ lực ban đầu dựa trên mô hình bìa cứng đã thất bại thảm hại vì vậy tôi đã bỏ cuộc và lãng phí vài giờ với CAD 3D và tôi đã cắt laser hỗ trợ bên trong. Không gian bên trong được chia thành các ngăn để cảm biến nhiệt độ càng xa các nguồn nhiệt bên trong càng tốt. Trong khi vỏ bọc bên ngoài được làm bằng vật liệu 3mm, bên trên được làm bằng các tấm 2 + 1mm. Thủ thuật này cho phép cảm biến cử chỉ được phủ một lớp acrylic chỉ 1mm và điều này là đủ để làm cho nó hoạt động.

Một số sửa đổi phải được thực hiện bằng các dụng cụ cầm tay trên vỏ máy ban đầu, chẳng hạn như quạt, công tắc và lỗ USB. Tuy nhiên, kết quả là tốt!

Tệp CAD ở ĐÂY.

Bước 4: Lắp ráp cơ khí

Cơ khí lắp ráp
Cơ khí lắp ráp
Cơ khí lắp ráp
Cơ khí lắp ráp
Cơ khí lắp ráp
Cơ khí lắp ráp

Gói rất dày đặc nhưng nhờ thiết kế cad 3D mà tôi đã có vài bất ngờ khi lắp ráp nó.

Sự lưu thông không khí (từ trên xuống dưới) được đảm bảo bởi một quạt nhỏ. Sau khi mua một số lượng lớn trên Aliexpress / eBay, tôi nhận ra rằng tiếng ồn của những chiếc quạt giá rẻ là không thể chịu đựng được đối với một thiết bị trong nhà. Tôi đã kết thúc việc mua một Papst 255M quay chậm, khá đắt tiền (Liên kết) và tôi cung cấp nó với ít hơn 5V thông qua một vài điốt. Kết quả là khá tốt và đủ im lặng để không bị chú ý (nó thậm chí còn được vợ chấp thuận, chứng nhận khó nhất).

Bước 5: Phần mềm

Phần mềm
Phần mềm
Phần mềm
Phần mềm
Phần mềm
Phần mềm
Phần mềm
Phần mềm

Kiến trúc phần mềm dựa trên khung hướng đối tượng chạy nhiều quy trình (hợp tác) xử lý giao diện người dùng, cảm biến và MQTT. Nó nhận biết vị trí và thời gian nhưng có thể xử lý ngắt kết nối / kết nối lại với WiFI.

Khung công tác mở và có thể quản lý bất kỳ số lượng màn hình nào, miễn là mã và tài nguyên của chúng phù hợp với bộ nhớ Flash. Khung ứng dụng xử lý các cử chỉ và chuyển nó đến màn hình, để xử lý thêm hoặc hủy bỏ nếu cần. Các cử chỉ được quản lý bởi khuôn khổ là:

  • Vuốt sang trái / phải - Thay đổi màn hình
  • (Ngón tay) Xoáy theo chiều kim đồng hồ - Xoay màn hình
  • (Ngón tay) Xoáy ngược chiều kim đồng hồ - Gọi màn hình thiết lập
  • (Tay) Từ xa đến gần - Tắt màn hình

Màn hình đang kế thừa từ một lớp cơ sở và được quản lý thông qua mô hình sự kiện sau:

  • kích hoạt - kích hoạt một lần, khi màn hình được tạo
  • cập nhật - được gọi định kỳ để cập nhật màn hình
  • hủy kích hoạt - được gọi một lần, trước khi màn hình bị loại bỏ
  • onUserEvent - được gọi khi cảm biến cử chỉ được kích hoạt. Cho phép phản hồi và cũng ghi đè xử lý sự kiện mặc định, ví dụ: bỏ vuốt để thay đổi màn hình

Mỗi màn hình khai báo các khả năng của nó bằng cách cung cấp các thông tin sau:

  • getRefreshPeriod - tần suất màn hình cần làm mới
  • getRefreshWithScreenOff - nếu màn hình muốn được làm mới ngay cả khi đèn nền tắt. ví dụ. cho các biểu đồ
  • getScreenName - tên của màn hình
  • isFullScreen - kiểm soát hoàn toàn màn hình hoặc cho phép thanh trên cùng với ngày / giờ / vị trí / máy đo pin / máy đo wifi

Khung công tác có thể khởi tạo và phân bổ các màn hình thông qua một nhà máy lớp khai báo. Việc phân bổ động giúp tiết kiệm RAM và giúp thiết bị có thể dễ dàng mở rộng. Khung ứng dụng tổng thể cũng có thể tái sử dụng cho các dự án khác.

Các màn hình hiện được triển khai trong Atmoscan là:

  • Giá trị cảm biến
  • Geiger mét / biểu đồ semilog
  • Tình trạng hệ thống
  • Nhật ký lỗi
  • Trạm thời tiết
  • Máy bay Spotter
  • Cài đặt
  • Pin yếu

Màn hình Thiết lập cho phép thiết lập thông tin đăng nhập Wifi, kênh MQTT, máy chủ Syslog.

MỚI trong v2.0: tất cả các khóa dịch vụ web hiện có thể định cấu hình thông qua cổng cấu hình. Giá trị duy nhất vẫn được mã hóa cứng là mật khẩu OTA (ATMOSCAN viết hoa).

LƯU Ý 1: Lập trình đầu tiên phải được thực hiện bằng cáp nối tiếp USB được kết nối với đầu nối lập trình. Vì cổng nối tiếp bị cảm biến chiếm giữ, việc gỡ lỗi và lập trình theo cách đó là không thực tế sau khi lắp ráp vì nó sẽ yêu cầu tháo rời cảm biến. Do đó phần mềm hỗ trợ gỡ lỗi SYSLOG và cập nhật OTA.

LƯU Ý 2: Hệ nhị phân ATMOSCAN trên 700Kb và ArduinoOTA yêu cầu không gian chương trình phải có kích thước hình ảnh ít nhất gấp đôi, điều này loại trừ tùy chọn "4M (3M SPIFFS)". Tuy nhiên, tùy chọn "4M (1M SPIFFS)" tiêu chuẩn cũng không phù hợp vì phân vùng SPIFFS sẽ không đủ cho các tài nguyên đồ họa liên quan đến trạm thời tiết, máy bay dò và tệp tin liên lạc. Do đó, cấu hình tùy chỉnh "4M (2M SPIFFS)" đã được tạo để giải quyết vấn đề. Giải thích ở đây.

Tài liệu và mã nguồn đầy đủ có sẵn tại đây.

TÍN DỤNG BAO GỒM MÃ & THƯ VIỆN TỪ

  • Adafruit
  • Arcao
  • Bblanchon
  • Bodmer
  • ClosedCube
  • Gmag11
  • Knolleary
  • Lucadentella
  • Đã xem
  • Squix78
  • Tzapu
  • Thuật sĩ97

TÍCH HỢP DỊCH VỤ WEB TỪ

  • Adsbexchange.com
  • GeoNames.org
  • Google.com
  • Mylnikov.org
  • Timezonedb.com
  • Wunderground.com

Bước 6: Làm cho nó tốt hơn

Lam no tôt hơn!
Lam no tôt hơn!

Kết quả không tồi chút nào! Phần mềm trông đẹp và đáng tin cậy, trong khi nó có thể được mở rộng với các tính năng mới và có thể được làm sạch một chút để làm cho khung ứng dụng thực sự có thể tái sử dụng cho các dự án khác. Hiệu chuẩn của một số cảm biến là không tốt, nhưng sẽ cần thiết bị phòng thí nghiệm kiểm tra. Thời gian là quý giá và tôi không có nhiều, vì vậy tiến độ rất chậm. Vào thời điểm tôi hoàn thành, hỗ trợ tốt cho ESP32 đã có sẵn. Nếu tôi bắt đầu nó ngay bây giờ, tôi sẽ sử dụng nó và tích hợp cảm biến bên ngoài thông qua bluetooth.

Bất cứ ai?

LƯU Ý: Tôi vẫn còn một số ít PCB nên nếu ai quan tâm thì họ có sẵn với giá danh nghĩa / bưu phí.

Bước 7: Câu hỏi và câu trả lời

Hỏi & Đáp
Hỏi & Đáp
Hỏi & Đáp
Hỏi & Đáp

Trước hết, CẢM ƠN CÁC BẠN đã có những bình luận tích cực. Thực lòng tôi cũng không mong đợi được nhiều lãi như vậy.

Tôi đã nhận được một số câu hỏi thông qua nhận xét hoặc tin nhắn riêng tư, vì vậy tôi nghĩ đến việc thu thập câu trả lời ở đây. Nếu nhiều hơn đến, tôi sẽ thêm.

Tôi tìm thấy ở mặt sau của một ngăn kéo có 8 PCB có sẵn - và chúng đang trên đường đến Bỉ, Đức, Ấn Độ, Mỹ, Canada, Anh, Úc. Chà, 3 lục địa! Kinh ngạc.

Tôi sẽ đưa gì vào trang cấu hình ATMOSCAN?

Trang cấu hình Atmoscan yêu cầu các tham số sau:

  • SSID và mật khẩu của mạng WiFi mà bạn muốn mạng đó kết nối
  • Máy chủ MQTT bạn sử dụng. Ví dụ: tôi sử dụng mqtt.thingspeak.com
  • Chuỗi kết nối cho các chủ đề MQTT được sử dụng. Ví dụ: chủ đề Thingspeak MQTT có định dạng: kênh / CHANNEL-ID / xuất bản / WRITE-API (VÍ DỤ: kênh / 123456 / xuất bản / 567890)
  • Máy chủ nhật ký hệ thống: IP của máy chủ nhật ký hệ thống mà bạn sử dụng để ghi nhật ký
  • Khóa Google cho API tĩnh của Maps. Nhận khóa từ https://console.cloud.google.com/apis/dashboard. Tạo một dự án; API mà Atmoscan sử dụng là https://maps.googleapis.com/maps/api/staticmap. Tạo khóa cho API này trên google project mà bạn vừa tạo, sử dụng nó tại đây
  • Phím Thời tiết Ngầm. Tạo một tài khoản trên www.wunderground.com, truy cập WEATHER API (liên kết ở cuối trang chủ, đi tới CÀI ĐẶT KHÓA, tạo khóa, sử dụng tại đây
  • Tài khoản tên địa lý. Tạo một tài khoản trên https://www.geonames.org/ cho phép nó sử dụng các dịch vụ web miễn phí và đặt tên người dùng tại đây
  • Phím TimeZoneDB. Tạo tài khoản onhttps://timezonedb.com/, tạo khóa, đặt nó ở đây

Làm cách nào để định cấu hình Thingspeak?

Bạn cần 3 kênh Thingspeak. Các trường được sử dụng như sau:

KÊNH 1 trường

  1. NHIỆT ĐỘ
  2. HUMIDITY
  3. SỨC ÉP
  4. PM01
  5. PM2.5
  6. PM10
  7. CPM
  8. SỰ BỨC XẠ

KÊNH 2 trường

  1. CO
  2. CO2
  3. NO2
  4. VOC

KÊNH 3 trường (Kênh hệ thống)

  1. TỐI THIỂU TRONG PHÚT
  2. HEAP MIỄN PHÍ TRONG BYTES
  3. WIFI RSSI (TÍN HIỆU TRONG DBM)
  4. ĐIỆN ÁP PIN
  5. LINEAR SOC (TỶ SỐ PHÍ CỦA PIN - tính toán tuyến tính, tỷ lệ với điện áp)
  6. NATIVE SOC (TIỀN LIỆT CỦA PIN% - theo báo cáo của máy đo. Như đọc từ máy đo. LƯU Ý: máy đo cho biết 0% khi đạt mức 3,6v trong khi pin có thể được xả thêm một chút, giả sử trên 3v. Giới hạn dưới, tại đó ATMOSCAN tự tắt, là #define trong tệp globaldefinitions.h)
  7. NHIỆT ĐỘ HỆ THỐNG (từ bme280, được gắn trực tiếp vào bo mạch)
  8. KHỐI LƯỢNG HỆ THỐNG (từ bme280, được gắn trực tiếp vào bo mạch)

PCB rất nhỏ gọn. Làm cách nào để hàn các thiết bị SMD, đặc biệt là IC MAX8903A?

Đầu tiên, tôi khuyên bạn nên tự hỏi bản thân xem bạn có muốn tham gia SMD hay không hay chỉ là một lần - Nếu sau này, có lẽ hãy nhờ ai đó làm điều đó cho bạn. Nếu bạn muốn thực hiện thử thách SMD, hãy đầu tư một chút và mua các công cụ thích hợp (hàn, chất trợ dung, sắt nhỏ cồn isopropylic, súng nóng, nhíp, một máy ảnh USB giá rẻ, một giá đỡ PCB). Ngày nay đây là thứ rẻ tiền. Sau đó, xem một video trên YouTube - có nửa triệu - và dành chút thời gian với một PCB cũ mà bạn có thể hy sinh và khử hàn / làm sạch / hàn một số thành phần. Bạn sẽ không tin điều này hướng dẫn như thế nào, để tìm hiểu những gì mong đợi, nhiệt độ phù hợp, v.v. Nói từ kinh nghiệm… Tôi đã bắt đầu SMD thay đổi đầu nối màn hình trong iPod touch và tôi đã giết cái đầu tiên!

Thật vậy, PCB Atmoscan rất nhỏ gọn và vi mạch đó không phải là một thứ dễ dàng. Một lần nữa, tôi không khuyên bạn nên làm điều này như lần hàn SMD đầu tiên của bạn. QFN không phải là một gói thân thiện mặc dù tôi đã hàn một số. Bạn không bao giờ chắc rằng mình đã hiểu đúng…

Trên Atmoscan, tôi hàn nó trước, sau đó là các thành phần xung quanh nó để tôi có thể kiểm tra xem phần sạc của bo mạch có hoạt động hay không, sau đó tôi hoàn thành tất cả các phần còn lại. Từ các hình ảnh đính kèm, bạn sẽ có thể suy ra hướng của các thành phần. Tôi đã sử dụng thư viện thành phần miền công cộng và định hướng không rõ ràng lắm trong màn hình lụa.

Cách của tôi: Đầu tiên tôi đặt một ít chất hàn vào các miếng đệm bằng bàn là. Sau đó, rất nhiều từ thông (cụ thể là SMD) và tôi cẩn thận định vị IC bằng nhíp. Sau đó, làm nóng toàn bộ vật liệu lên khoảng 200 / 220C (dưới nhiệt độ nóng chảy) để tránh căng thẳng do gia nhiệt không đều. Sau đó, tôi tăng nhiệt độ lên 290C hoặc hơn và xung quanh vi mạch. Nếu bạn đặt một chút thuốc hàn vào một miếng đệm gần đó, bạn sẽ thấy khi nhiệt độ ở điểm nóng chảy, nó sẽ tỏa sáng.

Sau đó, tôi làm sạch nó bằng cồn isopropylic và kiểm tra cẩn thận bằng một USB cam rẻ tiền. Các vấn đề điển hình là căn chỉnh và số lượng vật hàn, vì một số chân có thể không được kết nối. Trong một số trường hợp, tôi phải quay lại nó với một mỏ hàn nhỏ để thêm một số chất hàn vào một số chân, vì IC này có một miếng đệm nhiệt bên dưới cũng cần được hàn. Điều này làm cho việc đoán lượng chất hàn hơi phức tạp và có thể xảy ra trường hợp có quá nhiều chất hàn bên dưới có thể nâng cao nó lên để các chân không chạm vào PCB.

Đã nói như vậy, tôi không muốn làm bạn sợ. Tôi đã hoàn thành 3 bảng và tôi chưa bao giờ giết các vi mạch này… Thậm chí tôi đã phải tháo nó ra, dọn dẹp và khởi động lại từ đầu nhưng cuối cùng nó vẫn hoạt động. Một lần nữa, không phải là siêu dễ dàng nhưng có thể làm được.

Bạn đã mua các thành phần ở đâu?

Chủ yếu là trên eBay và Aliexpress. Tuy nhiên, những cái có thương hiệu là nguyên bản (Seeed, Pololu, Sparkfun).

Sau đây là một số liên kết CHỈ ĐỊNH. Lưu ý: hãy nhìn xung quanh, bạn có thể tìm thấy các giao dịch thậm chí còn rẻ hơn…

www.aliexpress.com/item/ESP8266-Remote-Ser…

www.aliexpress.com/item/PLANTOWER-Laser-PM…

www.aliexpress.com/item/High-Accuracy-BME2…

www.aliexpress.com/item/Free-shipping-HDC1…

www.aliexpress.com/item/J34-F85-Free-Shipp…

www.aliexpress.com/item/30pcs-A11-Tactile-…

www.aliexpress.com/item/10PCS-IRF7319TRPBF…

www.aliexpress.com/item/120PC-Lot-0805-SMD…

www.aliexpress.com/item/100pcs-sma-1N5819-…

www.aliexpress.com/item/Free-Shipping-100P…

www.aliexpress.com/item/Chip-Capacitor-080…

www.aliexpress.com/item/92valuesX50pcs-460…

www.aliexpress.com/item/170valuesX50pcs-85…

www.aliexpress.com/item/Si2305-si2301-si23…

www.aliexpress.com/item/100pcs-lot-SI2303-…

www.aliexpress.com/item/20pcs-XH2-54-2-54m…

www.aliexpress.com/item/10pcs-SMD-Power-In…

Lập trình đầu tiên Bo mạch Atmoscan bao gồm một mạch lập trình phù hợp với NodeMCU. Kết nối nối tiếp thường được sử dụng cho lần lập trình đầu tiên. Sau đó, lập trình OTA qua wifi là lựa chọn ưu tiên, vì nó có thể được thực hiện với thiết bị được lắp ráp hoàn chỉnh. Đừng quên rằng cổng nối tiếp thường được sử dụng bởi cảm biến hạt!

Để lập trình bo mạch với nối tiếp, bộ điều hợp USB-Serial (ví dụ: FTDI232 hoặc tương tự) phải được kết nối với đầu nối J7 (bên cạnh nút đặt lại) sau sơ đồ chân. Chương trình có thể được tải lên mà không cần kết nối cảm biến, ngoại trừ đường ngắt của cảm biến định vị phải được kết nối với GND, nếu không bo mạch sẽ không khởi động được (để làm như vậy, hãy kết nối chân 1 và 3 trong đầu nối RAD). Cách dễ nhất để kiểm tra bo mạch mà không cần sử dụng bản phác thảo chính - do đó không có sự phức tạp của các cảm biến - là tải lên chương trình đơn giản NÀY qua cáp nối tiếp. Nó tạo ra một điểm truy cập wifi cho phép nhấp nháy thêm với chương trình chính.

QUAN TRỌNG: Đừng quên sử dụng cấu hình SPIFFS 4M / 2M theo hướng dẫn, nếu không chương trình chính sẽ không phù hợp. Bo mạch phải được khởi tạo thông qua lập trình nối tiếp với cấu hình đó, nếu không bạn có thể gặp sự cố với OTA sau này.

Rất tiếc, một số quá trình khởi tạo cảm biến bị chặn nếu không có cảm biến (tùy thuộc vào nhà cung cấp thư viện). Một ví dụ là thư viện cảm biến multigas. Để đảm bảo Atmoscan khởi động đúng cách với phần sụn đầy đủ, bạn có thể tắt quy trình liên quan, xem phần Hỏi và Đáp liên quan. Một cách đơn giản để tắt TẤT CẢ các cảm biến để kiểm tra là nhận xét dòng #define ENABLE_SENSORS trong tệp GlobalDefinitions.h.

Khi bo mạch khởi động bản phác thảo chính lần đầu tiên, nó sẽ nhận ra rằng nó chưa được định cấu hình và nên mở một điểm phát sóng wifi để bạn có thể kết nối và thiết lập nó. Trong số các cài đặt, có một máy chủ nhật ký hệ thống giúp gỡ lỗi rất nhiều. Bạn cũng có thể tăng cấp độ ghi nhật ký bằng cách bỏ ghi chú #define DEBUG_SYSLOG trong tệp GlobalDefinitions.h. Xin lưu ý rằng trong cùng một tệp cũng có #define DEBUG_SERIAL đã được sử dụng trong quá trình gỡ lỗi ban đầu. Nếu bỏ ghi chú, nó sẽ xuất ra _some_ ghi nhật ký còn lại, nhưng tối thiểu. Một mục Công việc là luôn làm cho việc ghi nhật ký thống nhất và có thể lựa chọn nhưng tôi không bao giờ có thời gian để dọn dẹp nó.

Bạn đã sửa đổi các thư viện bạn đã sử dụng chưa, có cần cấu hình nào không? (trái ngược với tải xuống và biên dịch)

Câu hỏi hay, tôi đã quên đề cập đến điểm đó. Thật vậy, có một số mod / cấu hình cần thiết:

  • Thư viện https://github.com/Seeed-Studio/Mutichannel_Gas_Sensor - câu lệnh gỡ lỗi nối tiếp. Cần phải lưu ý, vì cổng nối tiếp được sử dụng cho một cảm biến!
  • Thư viện https://github.com/Bodmer/TFT_eSPI - yêu cầu tệp cấu hình nơi chỉ định pin và tần số SPI được chỉ định
  • Thư viện https://github.com/lucadentella/ArduinoLib_MAX1704… - Xem xét các nhận xét và yêu cầu kéo, tôi nhận thấy có một bản sửa lỗi chưa bao giờ được hợp nhất

Theo như tôi nhớ thì phải như vậy. Hãy cho tôi biết nếu có bất kỳ vấn đề nào phát sinh.

LƯU Ý: Vui lòng tham khảo các nhận xét trong mã nguồn mới nhất - chứa các liên kết đến tất cả các thư viện cần thiết và được cập nhật

Tại sao một số cảm biến đọc màu đỏ và một số màu xanh lá cây trong video / hình ảnh?

Màu sắc cho biết xu hướng. Nó bắt đầu màu trắng và nếu đi lên là màu đỏ, nếu đi xuống là màu xanh lá cây.

Làm thế nào để bạn xử lý sự trôi dạt của các cảm biến theo thời gian? Các cảm biến này tốt như thế nào? Tôi có thể nhìn thấy gì với những cảm biến này?

Thành thật mà nói đây không phải là một bộ đo lường khoa học. Để hiệu chỉnh, tôi sẽ cần thiết bị mà tôi không có sẵn. Đây thực sự là một dự án thú cưng. Tôi đã thử một số cảm biến. Theo tôi, hạt, CO2, nhiệt độ, độ ẩm, áp suất, Geiger khá tốt. Trên NO2, tôi có đặt trước về hiệu chuẩn và thiết kế tổng thể, nhưng không có nhiều. Nhìn chung, chúng là cảm biến chủ đạo.

Tuy nhiên, sự kết hợp đủ tốt để thể hiện những điều bạn không ngờ tới.

Với máy quét Atmoscan trong phòng khách và nhà bếp cách đó một phòng, nó phát hiện các đỉnh hạt khổng lồ khi ví dụ: đồ chiên rán. Nó cảm thấy NO2 từ giao thông buổi sáng ngay cả khi các cửa sổ đóng.

Bộ đếm Geiger có thực sự cần thiết không? Nó có cho thấy điều gì hữu ích không?

May mắn thay, chúng ta chưa có sự cố hạt nhân và chiến tranh vẫn chưa đến… Tuy nhiên, cách đó không xa có nhà máy hạt nhân và chính phủ phân phát thuốc i-ốt cho trẻ em để trong ngăn kéo phòng trường hợp có sự cố… nên tôi thấy nghi ngờ. Cho đến nay, tôi phải nói rằng các kết quả đọc được chính xác phù hợp với bức xạ nền dự kiến (0,12 uSv / h)

Tổng chi phí của thiết bị là bao nhiêu?

Tôi đã có nhiều thành phần ở nhà và các liên kết ở trên cung cấp cho bạn ý tưởng. Thành thật mà nói, nếu bạn mua một NetAtmo làm sẵn hoặc tương tự, bạn sẽ tiết kiệm được tiền. Bạn không thể đánh bại một công ty Trung Quốc đang làm mọi thứ trên quy mô lớn! Tuy nhiên, nếu bạn thích làm có lẽ cùng với trẻ em của bạn, nó là giá trị nó. Phần tốt là tôi đã thử nghiệm (và loại bỏ) một số cảm biến cho bạn….

Làm thế nào về PCB? Bạn có thể bán cho tôi một cái được không?

Ban đầu tôi có 10 trong số chúng được tạo bởi dirtypcbs.com và các tệp của tôi hoạt động tốt. Chất lượng tốt và đủ rẻ, 25USD / 20Euro cho 10 PCB. Tôi đã sử dụng hai chiếc và tôi rất vui khi gửi những chiếc còn lại với chi phí thấp (2 Euro + lô hàng, tùy thuộc vào vị trí và sở thích vận chuyển). Tôi sợ mình sẽ phải chọn những người đầu tiên gửi tin nhắn riêng tư cho tôi.

Bạn có thể tạo một bộ hoặc một chiến dịch kickstarter không?

Tâng bốc, nhưng thành thật mà nói, tôi chưa bao giờ nghĩ rằng nó đủ sáng tạo… và ngoài ra, KHÔNG CÓ THỜI GIAN !!

Tuy nhiên, nếu ai đó có ý tưởng, sẽ cần một lần lặp lại thứ hai. Có một số góc cạnh sắc nét trong thiết kế đáng để sửa chữa, nhưng một lần nữa tôi không bao giờ có đủ thời gian cho V2.

Về phần cứng: Tôi có thể thêm / bớt cảm biến, màn hình, v.v. để mở rộng khả năng / giảm tiêu thụ điện năng không?

Màn hình được kết nối mà không sử dụng MISO do đó CPU không bao giờ đọc từ màn hình. Vì vậy, bạn chỉ có thể không kết nối kiến hiển thị nó sẽ hoạt động tốt. Đã nói như vậy, màn hình chỉ bật trong một thời gian sau khi cử chỉ cuối cùng được phát hiện nên nó không thực sự ảnh hưởng đến mức tiêu thụ điện năng.

Thay vào đó, các cảm biến đang đói điện và toàn bộ điều này sử dụng dễ dàng 400 / 500mA. Đừng quên quạt và thực tế là cảm biến hạt cũng có một quạt tích hợp. ESP cũng không chuyển sang chế độ ngủ, do thiếu pons GPIO. Tuy nhiên, điều đó có lẽ sẽ tiết kiệm được 20mA…

Phần mềm này là mô-đun và bạn có thể dễ dàng thêm / xóa các quy trình và màn hình để bạn có thể thêm cảm biến hoặc làm cho nó bật sáng bằng cách loại bỏ một số, nếu bạn muốn. Hạn chế duy nhất là số lượng chân GPIO. Tuy nhiên, có thể dễ dàng thêm cảm biến nếu I2C hoặc cách khác là một bộ mở rộng I2C có thể được sử dụng để thêm GPIO…

Để vô hiệu hóa một cảm biến, chẳng hạn như để kiểm tra một phần bản dựng, cách tốt nhất theo ý kiến của tôi là không bắt đầu quá trình liên quan. Điều này có thể được thực hiện bằng cách nhận xét lệnh gọi enable () liên quan trong hàm void startProcesses () trong tệp.ino chính. Trừ khi bạn muốn sửa đổi cấu trúc hệ thống, tôi sẽ không xóa hoàn toàn các quy trình vì màn hình và các quy trình MQTT sẽ thăm dò chúng. Bằng cách này, họ sẽ chỉ trả về số không. Xin lưu ý rằng đầu vào ngắt cho bảng định vị sẽ được kéo xuống nếu không được sử dụng, nếu không bảng sẽ không khởi động được.

Những cải tiến bạn sẽ thực hiện nếu bạn có thời gian cho phiên bản V2.0 là gì?

Không theo thứ tự cụ thể nào..

  • PCB có thể tránh đồng phía sau ăng-ten ESP8266. Tôi hoàn toàn quên nó và nó làm cho sơ đồ bức xạ không đẳng hướng
  • Bộ sạc theo ý kiến của tôi là nhỏ hơn cho một pin lớn như vậy / pin quá lớn cho bộ sạc. Có những vi mạch khác và tôi sẽ thử một vi mạch khác.
  • Có đồng hồ đo pin tốt hơn.
  • Tôi sẽ thêm một cảm biến ozone
  • Tôi sẽ sử dụng ESP32 để có thêm GPIO và cảm biến Bluetooth ngoài thiết bị chính.
  • Nếu tôi có nhiều GPIO hơn với ESP32 hoặc với bộ mở rộng I2C, tôi sẽ sử dụng một cái để điều khiển quạt và một cái khác để tắt thiết bị khỏi phần mềm. Bây giờ khi pin yếu, điều duy nhất nó có thể làm là hiển thị màn hình pin yếu. Đây thực tế là nhược điểm lớn nhất của thiết kế, do tình trạng pin yếu không được xử lý khéo léo.

Trên phần mềm

Tôi mất nhiều thời gian hơn phần cứng… Tôi nghĩ nó chứa một số khái niệm tốt, mặc dù không được triển khai đầy đủ. Cụ thể, tôi tin rằng nó nên được dọn dẹp, có khả năng mở rộng và một khuôn khổ chung cho các ứng dụng ESP8266 có thể dễ dàng bắt nguồn từ nó. Không có thời gian. Có ai nhận thử thách không?

Bạn có thể thêm Điều khiển bằng giọng nói không?

Nên khả thi. Có một số thư viện được tạo sẵn để điều khiển ESP8266 bằng Alexa và tôi không hiểu tại sao việc tích hợp lại có vấn đề. Câu hỏi thú vị là bạn muốn làm gì với nó, chức năng khôn ngoan. Tôi không sở hữu Amazon Echo nên chưa bao giờ thử.

Làm thế nào bạn thực hiện các vết cắt laser?

Các bản vẽ được thực hiện bằng SketchUp. Chương trình rất hay nhưng thiếu khả năng xuất khẩu nghiêm trọng. Tuy nhiên, phiên bản dùng thử 30 ngày sẽ hữu ích vì nó có chức năng bổ sung. Sau đó, tôi đã nhập nó vào Inkscape để xử lý lần cuối.

Bạn có thể bật / tắt cảm biến để tiết kiệm điện thông qua MOSFET không?

Về nguyên tắc, ý tưởng hay, nhưng hầu hết các cảm biến này cần được cấp nguồn mọi lúc khi chúng có thời gian khởi động. Bên cạnh đó… tôi hết GPIO trong ESP8266. Tôi thậm chí đã phải sử dụng GPIO10 chính thức không hoạt động, nhưng hoạt động tốt trên ESP12E.

Tôi cần những kỹ năng gì?

Để xây dựng nó từ đầu, bạn sẽ cần một số nền tảng thiết kế điện tử. Không thực sự nhiều, ngày nay với Internet, bạn không thực sự cần phải đọc từng dòng một bảng dữ liệu như những ngày đầu của tôi… Nếu bạn sử dụng kết quả của thử nghiệm của tôi, bạn cần một số kỹ năng hàn SMD, kỹ năng cơ khí và một số kiên nhẫn.

Đây có phải là dự án đầu tiên của bạn?

Đây là dự án đầu tiên có thể hướng dẫn nhưng không phải là dự án đầu tiên của tôi. Trước đây tôi đã mày mò rất nhiều nhưng hiện tại tôi thực sự không có nhiều thời gian. Tôi phục hồi những kỹ năng còn non nớt của mình khi tôi đang cố gắng dạy điều gì đó hữu ích cho con tôi..! Tôi đã thực hiện một vài dự án nữa mà một ngày nào đó tôi có thể sẽ xuất bản..

Đề xuất: