0
0
Lập trình
Sơn Tùng Lê
Sơn Tùng Lê103931498422911686980

Dự án cảm biến chất lượng không khí: Ý tưởng và Triển khai

Đăng vào 2 tuần trước

• 8 phút đọc

Giới thiệu

Câu chuyện bắt đầu đơn giản: sau khi đọc các bài viết về tầm quan trọng của việc theo dõi mức CO2 trong nhà, tôi đã quyết định tìm hiểu và giám sát thị trường để tìm ra những giải pháp phù hợp. Đáng tiếc, không có lựa chọn nào làm tôi hài lòng. Một số sản phẩm thì rõ ràng là không đáng tin cậy (sử dụng cảm biến giá rẻ và không chính xác), trong khi những sản phẩm khác lại có tính năng hạn chế, thiết kế không phù hợp và nhiều vấn đề chủ quan cũng như khách quan khác.

Khi tôi tiếp tục tìm hiểu sâu hơn về cảm biến chất lượng không khí (AQ), tôi phát hiện rằng không chỉ CO2 gây hại, mà còn có VOCs, PM, NOX, độ ẩm, nhiệt độ, áp suất khí quyển, và nhiều yếu tố khác. Trong quá trình nghiên cứu, tôi đã xây dựng một số yêu cầu cho thiết bị:

Các yêu cầu cho cảm biến chất lượng không khí

1. Thiết bị phải đa năng.

Vì tất cả mọi người hiện nay đều yêu thích sự tiện nghi và không muốn trả quá nhiều cho hóa đơn, nhiều người đã trang bị cho mình các hệ thống nhà thông minh trên nhiều nền tảng khác nhau. Tôi sử dụng Home Assistant, nhưng bạn có thể kết nối nó với bất kỳ thiết bị nào, bao gồm cả AppleTuya.

2. Thiết bị phải tương thích với nhà thông minh.

Nhà thông minh rất tuyệt và đang trở thành xu hướng, nhưng bạn cũng muốn nhanh chóng biết khi nào cần mở cửa sổ hay bật quạt thông gió chỉ với một cái nhìn thoáng qua vào cảm biến.

3. Thiết bị phải có chỉ báo trạng thái rõ ràng và dễ nhìn từ xa.

Và những chi tiết nhỏ như thiết kế, để dễ dàng đặt, đứng hoặc treo (theo cảm nhận cá nhân), và các điều khiển thân thiện với người dùng. Điều quan trọng là dừng quá trình sáng tạo kịp thời và không cố gắng nhồi nhét tất cả vào một thiết bị duy nhất.

Chúng ta đang theo dõi điều gì?

CO2

Dữ liệu có thể được tìm thấy trong các khuyến nghị của WHO và GOST (Tiêu chuẩn Nhà nước).

Hãy ngay lập tức giới thiệu khái niệm về các vùng thoải mái và sức khỏe. Chúng ta có thể chia dữ liệu nhận được từ các cảm biến thành các vùng như sau:

  • Vùng Xanh (mọi thứ đều ổn)
  • Vùng Cam (có thể chấp nhận)
  • Vùng Đỏ (đã có hại)
  • Vùng Nguy Hiểm (mọi thứ đều xấu, cần thông gió)

Tôi sẽ không đặt ra các giới hạn nghiêm ngặt cho các chỉ số khác nhau trong mã; chúng tôi sẽ cho phép người dùng điều chỉnh các ranh giới của các vùng này, NHƯNG chúng tôi sẽ thêm dữ liệu mặc định và giới hạn điều chỉnh vùng nguy hiểm ở mức 3000 ppm cho CO2, vì đó thực sự không tốt chút nào.

Phân loại cho CO2:

  • Vùng Xanh: lên đến 1000 ppm (dữ liệu dao động từ 600–800 ppm, và lên đến 1000 ppm được coi là chấp nhận được).
  • Vùng Cam: từ 1000 ppm đến 1500 ppm; về cơ bản, cần thông gió.
  • Vùng Đỏ: từ 1500 ppm đến vùng Nguy hiểm 2500 ppm.
  • Tại 2500 ppm, cảm biến nên cảnh báo người dùng về nguy hiểm bằng tín hiệu âm thanh và rung.

Sau khi đánh giá ý tưởng sử dụng các vùng, chúng tôi quyết định áp dụng chúng cho các chỉ số cảm biến khác. Nguyên tắc tương tự được áp dụng: chúng tôi xác định giá trị khuyến nghị, đặt chúng làm mặc định và cung cấp khả năng thay đổi chúng.

Bạn có thể tự hỏi, ai là chúng tôi, bạn đọc thân mến? Thiết kế UX/UI Mary đã đảm nhận thiết kế "mặt" và giao diện của thiết bị, vì cô cũng muốn một thiết bị như vậy cho nơi làm việc của mình. Ai mà biết việc phát triển một thiết bị đơn giản như vậy lại mất nhiều thời gian đến vậy?

Các tiêu chuẩn cho NOx (oxit nitơ, chủ yếu là sản phẩm của quá trình đốt):

  • Vùng Xanh: lên đến 10 ind,
  • Vùng Cam: lên đến 100 ind,
  • Vùng Đỏ: lên đến 200 ind; trên đó là Vùng Nguy hiểm.

Các tiêu chuẩn cho VOC (Hợp chất hữu cơ bay hơi (Phenol, Styren, Methane, Clo, Benzen, Tetrachloroethylene, Xylene, Acetone, v.v.)):

  • Vùng Xanh: lên đến 100 ind,
  • Vùng Cam: lên đến 200 ind,
  • Vùng Đỏ: lên đến 300 ind; trên đó là Vùng Nguy hiểm.

Các tiêu chuẩn cho PM2.5 (bụi lơ lửng, giảm nguy cơ ung thư phổi):

  • Vùng Xanh: lên đến 50 ug/m³,
  • Vùng Cam: lên đến 100 ug/m³,
  • Vùng Đỏ: lên đến 150; trên đó được coi là Vùng Nguy hiểm.

Tất cả các giá trị này đều có thể điều chỉnh; trong Home Assistant, nó trông như thế này:

Thiết kế và hình thức của thiết bị dựa trên khái niệm các Vùng và nhu cầu thông báo người dùng một cách thuận tiện. Nói đơn giản, nó phải dễ dàng nhìn thấy từ bất kỳ phần nào của phòng, từ bất kỳ góc độ nào, trạng thái chất lượng không khí của ba chỉ số chính: CO2, VOC/NOX, và PM.

Chúng tôi ban đầu dự định sử dụng một màn hình lớn, như bạn có thể thấy trong bản render.

Về nguyên tắc, nó có thể để nguyên chỗ và phát triển thêm nếu cần.

Trước khi bạn nói "cho tôi hai cái", hãy để chúng tôi giải quyết các vấn đề chính với thiết kế này. Đầu tiên, nó đắt hơn; thứ hai, nó nhạy cảm với góc nhìn và ánh sáng từ bên ngoài. Có một tùy chọn với các ma trận OLED, nhưng một ma trận có kích thước này làm tăng đáng kể chi phí. Nhưng, một lần nữa, chúng tôi dự định phát triển cả hai tùy chọn nếu có sự ủng hộ và quan tâm từ phía khán giả.

Quay lại thiết kế cơ bản

Màn hình IPS trên cùng (1.47'' 172x320px) hiển thị giá trị của ba chỉ số chính và cũng làm nổi bật giá trị đã vào vùng đỏ.

Các đĩa LED phát sáng thay đổi màu sắc từ xanh sang cam, tùy thuộc vào trạng thái giá trị. Ví dụ, nếu chỉ số CO2 là lên đến và bao gồm 1000 ppm, thì nó có màu xanh ngọc; ở 1100 ppm, nó chuyển sang cam; ở 1500 ppm, nó hoàn toàn cam; và khi chỉ số tiếp tục tăng, màu sắc chuyển dần sang đỏ. Nếu chỉ số vào vùng Nguy hiểm, đĩa và màn hình sẽ bắt đầu nhấp nháy.

Chúng tôi cũng quyết định thêm một buzzer và mô-tơ rung vào thiết bị để thông báo bổ sung; các tính năng này có thể được tắt thông qua cài đặt của nhà thông minh.

Vì AQ của chúng tôi trở thành nguồn sáng (đèn nền màn hình và đĩa), chúng tôi thêm tính năng điều chỉnh độ sáng dựa trên ánh sáng trong phòng, cả tự động và trong chế độ thủ công, nơi bạn có thể thiết lập độ sáng từ 255 (tối đa) đến 10 (tối thiểu). Tự nhiên, điều này thay đổi cường độ ánh sáng không chỉ của các "đĩa lạ" mà còn của màn hình.

Màn hình thứ hai, cũng là IPS (1.69") 240x280, sẽ hiển thị ngày tháng, thời gian, nhiệt độ, độ ẩm, áp suất khí quyển và độ sáng trong lux. Nó cũng sẽ hiển thị các biểu tượng trạng thái mạng, bao gồm việc buzzer và rung có được bật hay không, và liệu thiết bị có kết nối với mạng Wi-Fi và máy chủ nhà thông minh qua MQTT hoặc tùy chọn kết nối khác, tùy thuộc vào máy chủ đã chọn.

Vì tôi không muốn kéo dài bài viết này, để có giải thích chi tiết về thiết kế, tương tác người dùng và tất cả các giao diện, hãy xem bài viết của một nhà thiết kế UX. Tất cả được mô tả rất chi tiết…

Phần cứng

Tôi đã thử nghiệm với nhiều sự kết hợp cảm biến khác nhau, đây là một tùy chọn.

Nhưng cuối cùng, tôi đã quyết định sử dụng bộ linh kiện sau:

  • Cho CO2: SCD30
  • Cho PM, độ ẩm/nhiệt độ, VOC, NOx: SEN55-SDN-T, một cảm biến mới được phát hành kết hợp nhiều cảm biến.
  • Áp suất khí quyển: BME280
  • Độ sáng: MAX44009

Hiện tại, đây là lựa chọn tốt nhất về mặt khả năng tiếp cận và tỷ lệ giá cả/chất lượng/độ chính xác. Tuy nhiên, bộ này có thể thay đổi.

Kết luận

Dự án hiện đang trong giai đoạn hoàn thiện và prototyping. Tôi muốn thêm các tính năng mới và khả năng cấu hình thông qua ứng dụng di động.

Với một màn hình lớn hơn (5–7 inch), bạn có thể hiển thị thời tiết, thêm chức năng báo động, và nhiều tính năng khác.

Tiếp theo:

Ban đầu, tất cả những điều này được viết cho Arduino, nhưng rõ ràng từ lâu rằng nó quá nhỏ và đã đến lúc chuyển sang các IDE gốc. Sau đó, tôi quyết định chia nó thành hai phần: hai vi điều khiển, một cho màn hình và các chuông báo khác, và một cho việc thu thập dữ liệu từ cảm biến và giao tiếp với máy chủ nhà thông minh. Trong khi logic và giao diện đang được viết, sự lựa chọn chip không quan trọng lắm, nhưng sau này, có thể nó sẽ là một loại ESP và STM.

Bảng thử nghiệm và mã Arduino cho nó có sẵn trên GitHub.
Nhưng một lần nữa, đây vẫn đang là một công việc đang tiến triển.

Tôi đặc biệt cảm ơn những người đã ủng hộ và có thể sẽ tiếp tục ủng hộ dự án này theo bất kỳ cách nào họ có thể.

Tôi thực sự muốn đưa thiết bị này đến giai đoạn cuối cùng, xây dựng một nguyên mẫu và vỏ bọc.

Ngoài ra, nếu ý tưởng này phát triển mạnh mẽ, chúng tôi có thể tiến tới sản xuất công nghiệp với firmware mã nguồn mở. Nhưng chỉ khi có người sẵn sàng đầu tư vào nó và giúp chúng tôi khởi động một chiến dịch Kickstarter. Nếu không, dự án sẽ được công bố công khai hoặc sẽ được quyên góp cho các nhà tài trợ, theo quyết định của họ, thông qua một cuộc bỏ phiếu công khai.

Chúng tôi rất mong nhận được ý kiến ​​của bạn, và nếu bạn muốn tham gia, hãy chọn tùy chọn hỗ trợ theo liên kết.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào