Pomiar czystośći/zanieczyszczenia powietrza pyłami. Czujnk pyłu umożliwia monitorowanie obecności w powietrzu pyłów: PM1.0, PM2.2, PM10. Sensor pozwala na wykrycie cząstek o średnicy powyżej 0.3 μm czyli np. dym papierosowy. Układ zasilany jest napięciem 5V a komunikacja z płytką esp32 odbywa sie przy wykorzystaniu interfejsu UART.
1.Płytka esp32
2.Czujnik pyłu PMS5003
3. Kable stykowe (3x męsko-męskie, 1x żeńsko-żeński)
4.Kabel MicroUSB B
Komputer ze środowiskiem Thony
Projekt ukazuje możliwość wykorzystania ogólnodostępnych czujników do samodzielnego badania jakości powietrza. Czujnik PMS5003 to urządzenie do pomiaru pyłów zawieszonych w powietrzu (PM - particulate matter). Jest to popularny czujnik stosowany w monitoringu jakości powietrza. Poniżej znajduje się krótka informacja na temat tego, jak działa czujnik PMS5003:
- Czujnik PMS5003 wykorzystuje technologię laserową do pomiaru ilości pyłów zawieszonych w powietrzu. Wewnątrz czujnika znajduje się dioda laserowa, która emituje światło laserowe.
- Cząstki pyłów zawieszone w powietrzu przechodzą przez obszar światła laserowego. W wyniku tego zjawiska światło ulega rozproszeniu, a czujnik mierzy ilość rozproszonego światła.
- Czujnik PMS5003 jest zdolny do pomiaru cząstek pyłów o różnych rozmiarach. Mierzy ilość cząstek w kilku przedziałach rozmiarowych, takich jak PM1.0, PM2.5 i PM10, co odpowiada różnym kategoriom wielkości cząstek.
- Czujnik PMS5003 zazwyczaj posiada interfejs komunikacyjny, tak jak np. UART (Universal Asynchronous Receiver/Transmitter), co umożliwia podłączenie go do mikrokontrolera, komputera lub innego urządzenia.
- Dane z czujnika mogą być odczytywane i interpretowane przez odpowiednie oprogramowanie. Mogą być one wykorzystywane do monitorowania jakości powietrza w czasie rzeczywistym oraz do analizy trendów.
1.Połączyć układ zgodnie z opisem
2. Połączyć płytkę ESP32 do komputera za pomocą kabla USB
3.Pobrać na komputer a później przenieść na płytkę plik __inity__.py : zapisując go pod nazwą pms5003.py
Największymi ograniczeniami w projekcie są same zdolności płytki której użyjemy jako bazy projektu. Używając esp32 jak i możliwie esp8266 musimy wziąć pod uwagę problemy przy komunikacji z wykorzystaniem UART, niektóre z pinów wykorzystane do podłączenia czujnika mogą blokować komunikacje. Jeżeli do komunikacji chcemy użyć innych pinów niż podane warto zapoznać się ze schematem wyjść zabronionych zamieszczoną w plikach.
Do obsługi biblioteki służącej do komunikacji z czujnikiem wykorzystane jest tzw. dziedziczenie-koncept programowania obiektowego pozwalający na definiowanie nowych klas w oparciu o istniejące, rozszerzając lub zmieniając ich funkcjonalność. Poniżej zamieszczono pliki pozwalające zgłębić to zagadnienie.
import time
from pms5003 import PMS5003
from pms5003 import PMS5003Data
from pms5003 import PMS5003Response
import machine
print("""pms5003_test.py - Continously print all data values.
""")
# Configure the PMS5003 for Enviro+
pms5003 = PMS5003(
uart=machine.UART(1, tx=machine.Pin(16), rx=machine.Pin(17), baudrate=9600),
pin_enable=machine.Pin(3),
pin_reset=machine.Pin(2),
mode="active"
)
while True:
data = pms5003.read()
#print(data)
variable1 = data.pm_ug_per_m3(2.5)
variable2 = data.pm_ug_per_m3(1)
# Plotting two variables
print("PM25",variable1,"PM1",variable2)
time.sleep(1.0)
https://botland.com.pl/czujniki-czystosci-powietrza/6797-czujnik-pyluczystosci-powietrza-pm10-pm25-pm10-pms5003-5v-uart-5904422359041.html?cd=20567593583&ad=&kd=&gad_source=1&gclid=CjwKCAiA44OtBhAOEiwAj4gpOVi5RlScq4ijtAWn2Z9SibqBgDu_HW6XAHwIDt9W1DW51sNXiV6isBoCpeEQAvD_BwE
https://randomnerdtutorials.com/esp32-pinout-reference-gpios/
https://math.uni.wroc.pl/~jagiella/p2python/skrypt_html/wyklad8.html