https://github.com/octaprog7/sgp4x
Модуль MicroPython для работы с датчиком качества окружающего воздуха SGP40/SGP41 от Sensirion.
https://github.com/octaprog7/sgp4x
i2c micropython nox voc
Last synced: about 1 month ago
JSON representation
Модуль MicroPython для работы с датчиком качества окружающего воздуха SGP40/SGP41 от Sensirion.
- Host: GitHub
- URL: https://github.com/octaprog7/sgp4x
- Owner: octaprog7
- License: mit
- Created: 2025-07-14T10:52:50.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2025-07-15T18:12:45.000Z (11 months ago)
- Last Synced: 2025-07-16T15:33:42.870Z (11 months ago)
- Topics: i2c, micropython, nox, voc
- Language: Python
- Homepage:
- Size: 36.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SGP4X
Модуль MicroPython для работы с датчиком качества окружающего воздуха SGP40/SGP41 от Sensirion.
# Назначение
SGP40 представляет собой цифровой датчик газа, предназначенный для контроля качества воздуха в помещениях!
Его основная задача — измерение уровня летучих органических соединений (ЛОС) в воздухе.
## Особенности SGP40:
* интерфейс I2C
* встроенный микронагреватель
* показания качества воздуха с компенсацией влажности
* устойчивость к загрязняющим веществам
# Применение
1. Очистители воздуха.
2. Системы вентиляции с автоматическим управлением.
3. Умные системы контроля микроклимата.
# SGP41
## Особенности SGP41:
1. Два датчика в одном корпусе.
2. Возможность автоматического управления очистительными системами.
3. Мониторинг потенциально опасных концентраций загрязняющих веществ.
## Технические характеристики SGP41:
* Диапазон измерения ЛОС: до 1000 ppm (эквивалент этанола)
* Диапазон измерения NOx: до 10 ppm (эквивалент NO2)
* Время отклика: менее 10 секунд для ЛОС, менее 250 секунд для NOx
## Области применения SGP41:
* Профессиональные очистители воздуха
* Системы вентиляции и воздухообмена
* Кухонные вытяжки
* Умные системы контроля качества воздуха
# Дополнительная обработка данных
Без дополнительной обработки, показания SGP40 и SGP41 использовать нельзя!
Требуется программная обработка сырых(!) данных для получения индекса VOC/NOx, пригодного для анализа и отображения пользователю.
Рекомендуется реализовать компенсацию по влажности и температуре для повышения точности.
На данный момент дополнительную обработку сырых данных от SGP40/41 в программах, использующих Micropython, сделать невозможно!
Так как Sensirion Gas Index Algorithm использует полноценный Python 3.6 и выше!
## Sensirion’s Gas Index Algorithm
https://pypi.org/project/sensirion-gas-index-algorithm/
# Питание
Напряжение питания SGP4X 1,7..3,6 Вольта!
# Прошивка
Загрузите прошивку MicroPython на плату NANO, PICO RP2040 (ESP и т. д.), а затем файлы: main.py, sgp4Xmod.py и папку sensor_pack_2 полностью.
Затем откройте main.py в своей IDE и запустите его.
# Подключение
Просто подключите плату c SGP4X к Arduino, ESP или любой другой плате с прошивкой MicroPython.
# Внимание
Я использовал плату с датчиком SGP41. В ответе на команду sgp40_measure_raw_signal с датчика было считано шесть
байт. Первые три байта содержат ЛОС, вторая тройка содержит NOx.
С первой тройкой было все в порядке, CRC, принятый от датчика и рассчитанный CRC совпали.
Вторая тройка байт была 0xFF, 0xFF, 0xFF. Естественно, код выбросил исключение о неверном CRC.
Возможно мой датчик поддельный, поэтому, если у вас подобная ситуация,
в конструкторе указывайте sensor_id = 0 (как будто это SGP40) а check_crc должен быть в Истина всегда!
# Картинки
## Результат работы
