Работая в рамках предыдущих проектов с частицами класса PM2,5 [мелкие, потенциально опасные для вдыхания частицы, размером порядка 2,5 мкм / прим. перев.] я заметил одно неудобство – я не мог распознать источники загрязнения, испускающие мелкие частицы. Большинство данных, получаемых на земле и со спутников, не могут сообщить вам о том, откуда именно исходит загрязнение и как от него избавиться. Я решил усовершенствовать датчик частиц от Honeywell. У него есть собственный вентилятор, входные и выходные отверстия, а мне нужно было лишь придумать способ направлять в него воздушный поток с конкретных предметов. А до этого я уже, естественно, сделал 3D-модель собачьего носа и распечатал его на 3D-принтере. Поэтому мне оставалось только разработать корпус в виде пистолета со спусковым крючком, который позволил бы мне тщательно исследовать источники убийственных для меня частиц.





Шаг 1: собираем материалы










Я использовал датчик частиц Honeywell HPMA, поскольку это надёжный и недорогой аппарат. Как и в предыдущих проектах, я использую микроконтроллер ESP32 с интегрированной беспроводной связью.

1. Датчик частиц: HONEYWELL HPMA115S0-TIR PM2.5 Particle Sensor laser pm2.5 air quality detection sensor module Super dust sensor PMS5003 — $18

2. Модуль беспроводной связи: ESP32 MINI KIT Module WiFi+Bluetooth Internet Development Board D1 MINI Upgraded based ESP8266 Fully functional — $6 (AliExpress)

3. Шилд питания для модуля: MH-ET LIVE Battery Shield for ESP32 MINI KIT D1 MINI single lithium battery charging & boost — $1 (AliExpress)

4. 18650 аккумулятор c проводами — $4

5. Дисплей: IZOKEE 0.96'' I2C IIC 12864 128X64 Pixel OLED $4

6. Кнопка включения: Rugged Metal On/Off Switch with Green LED Ring — 16mm Green On/Off $5 (Adafruit)

7. 3D-принтер (Ender 3)

8. Переключатель Antrader KW4-3Z-3 Micro Switch KW4 Limit $1.00

9. Кольцевая светодиодная подсветка: NeoPixel Ring — 12 x 5050 RGB LED with Integrated Drivers $7.50

Шаг 2: проектирование и 3D-печать






Я специально спроектировал корпус так, чтобы отверстия совпадали с встроенными в датчик от HoneyWell вентиляторами, отверстия ноздрей напрямую шли на вход датчику, а выдуваемый воздух выходил через несколько отверстий в обтекателе корпуса (извините за то, что это звучит, как заявка на патент). Большая рукоятка позволяет разместить достаточно объёмный аккумулятор и остальную электронику. Зарядный порт расположен вровень с нижней частью рукоятки. Кольцо Neopixel должно подсвечивать верхнюю часть корпуса. Проект сделан так, чтобы верхнюю часть корпуса можно было напечатать прозрачным PLA, потом переключиться на серый PLA для ручки, и снова перейти на прозрачный пластик в нижней части рукоятки, чтобы было видно индикаторные светодиоды во время зарядки. Механизм включения снабжён шарниром и печатается совместно с корпусом, но должен двигаться свободно.

Все файлы сделаны со стандартными настройками в программе Cura для принтера Ender 3. Подпорки не понадобились.

content.instructables.com/ORIG/FYP/9343/K8CH414S/FYP9343K8CH414S.stl

content.instructables.com/ORIG/F93/2Q86/K8CH414T/F932Q86K8CH414T.stl

content.instructables.com/ORIG/FK2/961I/K8CH414U/FK2961IK8CH414U.stl

content.instructables.com/ORIG/FT9/N577/K8CH414V/FT9N577K8CH414V.stl

content.instructables.com/ORIG/FUU/575L/K8CH414W/FUU575LK8CH414W.stl

content.instructables.com/ORIG/FSW/BD54/K9ACP8FU/FSWBD54K9ACP8FU.f3d

Шаг 3: подключение










Диаграмма подключения практически такая же, как в моём проекте аналогового измерителя загрязнений для велосипеда [основанном, в свою очередь, на проекте любительского датчика загрязнения воздуха], за исключением того, что здесь нет сервомотора, а выход используется для линии данных кольца Neopixel. В данном случае кнопка включения подаёт питание от батареи только на шилд питания для беспроводного модуля. 5 В на шилде питания управляется ограничивающим переключателем в рукоятке, работающем, как спусковой крючок. Он даёт питание с шилда и на датчик, и на ESP32, и на кольцо Neopixel одновременно. Дисплей I2C получает 3В с ESP32. Большую часть подключения нужно сделать до сборки рукоятки, пропустив провода через различные отверстия. Обязательно предварительно проверьте схему на доске для прототипирования!

Шаг 4: Сборка














Сначала кольцо Neopixel приклеивается к корпусу носа так, чтобы оно не перекосилось и не нарушилось его прочное соединение с основным корпусом. Пропустите три провода через боковое отверстие главного корпуса и далее в рукоятку. Кольцо Neopixel должно смотреть в полупрозрачную часть корпуса. Затем датчик воздуха располагается в корпусе так, чтобы его входные отверстия смотрели по направлению к ноздрям, а вентилятор дул назад. Протяните провода с задней части вниз, в середину рукоятки – там их нужно будет припаять к ESP32. Экран I2C соединяется с передней частью, а его выходные провода проходят через щель в рукоятку и подходят к основной плате. Круглый козырёк после этого приклеивается над экраном. Я использую клей E6000, однако подойдёт и суперклей. Нос с ноздрями приклеивается к передней части. Ограничивающий переключатель подключается к проводам и приклеивается на своё место, как и основная кнопка включения. Плата ESP вставляется внутрь, после чего устанавливается аккумулятор 18650. Шилд питания приклеивается к нижней части устройства так, чтобы порт зарядки находился точно напротив отверстия. После проверки работоспособности приклейте нижнюю часть корпуса к корпусу. Спусковой крючок приклеивается над металлической полоской ограничительного переключателя так, чтобы он легко нажимался до нижнего положения. Осторожно — не залейте клеем механизм переключателя.

Шаг 5: запрограммируйте


ПО использует последовательный порт для скачивания информации с датчика. Одна из проблем этого датчика состоит в том, что он не использует I2C с библиотеками – так было бы гораздо проще. В качестве выхода используется не сервомотор, как в проекте с велосипедным датчиком, а SSD1306 по шине I2C. Кольцо Neopixel управляется через библиотеку Adafruit Neopixel Library, и выдаёт один из трёх цветов, медленно меняющих яркость, и обозначающих уровень PM2,5 в «ноздрях». Если уровень меньше 25, оно мигает синим, если от 25 до 80 – зелёным, если выше 80 – красным. Эти уровни настраиваются в коде программы. Можно также поменять шрифты и размер экрана. Датчик считывает информацию раз в секунду.

content.instructables.com/ORIG/FG5/LCS8/K8CH74GE/FG5LCS8K8CH74GE.ino

Шаг 6: использование








В разгар карантина с этим устройством особо не погуляешь на улице, поэтому я погулял по дому и поснимал видосики для YouTube, чтобы понять, насколько всё плохо может быть в домашних условиях. Так-то я бы сразу пошёл к выхлопной трубе ближайшего дизельного пикапа, или встал бы с подветренной стороны от того места, где жарят кофе – да, да, я знаю, как сильно вы вредите моим лёгким!

Устройство загружается за 4 секунды после нажатия на кнопку. Сначала оно показывает ошибочно высокое значение, а потом за 5 секунд стабилизирует показатели. Большая часть проб совпала с показаниями датчика из проекта National Sampler, расположенного в половине квартала от меня. Привычно шокирующие показатели тостера я выложил в начале статьи. Ещё одно видео показывает результат измерения гранолы. Она источала мелкие частицы концентрацией в 50 ppm больше часа после того, как я достал её из духовки. Бывает, что «ноздри» на некоторое время задерживают запах и показывают высокий уровень содержания частиц, поэтому перед быстрым повторным считыванием можно их сначала продуть. Два месяца назад частицы PM2,5 были серьёзной проблемой, а теперь о них никто и не вспоминает. Не говоря уже о глобальном потеплении.