Els alts nivells de pols a l'aire poden provocar problemes respiratoris, al·lèrgies i altres problemes de salut. El seguiment dels nivells de pols ens permet avaluar la qualitat de l'aire interior i exterior, identificar els possibles riscos per a la salut i prendre les mesures adequades per millorar la qualitat de l'aire.
El sensor GP2Y1014AU0F detecta micro partícules (pols) suspeses a l'aire d’un tamany igual o menor a 2,5 micres de diàmetre.
És un sensor analògic: la seva tensió de sortida és proporcional a la densitat de pols mesurada, amb una sensibilitat de 0,5 V/0,1 mg/m3
Pot detectar partícules de fins a 0,5 µm i la densitat màxima de pols que pot mesurar és de 580 µg/m3
Tensió de funcionament: 5V
Dins del sensor es disposen en diagonal un LED infraroig i un fotodetector. La llum del LED IR es reflecteix per les partícules de pols que entren al dispositiu a través d'un forat.
El sensor d'infrarojos mesura la quantitat de llum IR reflectida i la converteix en una tensió de sortida. Com més pols, més llum es reflecteix i més alta és la tensió de sortida.
PAUTES DE CONNEXIÓ
El sensor GP2Y1014AU0F utilitza dos components: el LED IR, digital, i el fotodetector, analògic. Té un connector de 6 pins.
V-LED alimenta el LED i s'ha de connectar a 5V a través d'una resistència de 150Ω.
LED-GND és la terra per al LED IR i es connecta a GND.
LED s'utilitza per controlar el LED, es connecta a qualsevol pin de sortida digital.
S-GND és la terra del sensor i s'ha de connectar a GND.
Vo proporciona la sortida del sensor i es connecta a un pin d'entrada analògica.
Vcc és l'alimentació del mòdul del sensor i s'ha de connectar a 5V.
Per tal d'assegurar un funcionament estable i precís del sensor i evitar fluctuacions del senyal cal connectar un condensador en paral·lel amb l'alimentació del sensor.
El condensador que es ven amb el sensor és electrolític de 220uF.
Cal tenir en compte la polaritat del condensador: el seu pin negatiu (normalment més curt i marcat per una franja blanca) s'ha de connectar a GND, i el positiu a Vcc (5V).
GP2Y1014AU
PAUTES DE PROGRAMACIÓ
El GP2Y1014AU0F és un sensor analògic.
Segons el full de dades del sensor, per mesurar la densitat de pols hem d'utilitzar el següent protocol de mostreig: encendre el LED IR durant 0,28 ms (280 µs), llegir la tensió de sortida Vo, apagar el LED IR desprès de 0,40 ms i esperar a que acabi el pols de sortida, que té una durada total de 10 ms.
Tingueu en compte que la sortida del sensor necessita uns quants cicles per estabilitzar-se, i que l'aire ha de passar entre els forats inferior i superior del sensor.
Obtenció de la densitat de pols
La tensió de sortida del sensor és proporcional a la densitat de pols. Caldrà doncs calcular la tensió corresponent al senyal analògic:
tensió = valor analògic · (3.3 / 4095)
Cal tenir present que la sortida de tensió (Vtotal) és la suma de dos components:
Vnet: la tensió de sortida sense pols (tensió en l'aire net). Segons el fabricant podem assumir 0.9V com a valor típic per a Vnet.
Vbrut: La sortida proporcional a la densitat de pols en l'aire: 0.5V / 0.1mg/m³
Per tant: densitat pols = (Vtotal - Vnet) / 5 (mg/m³)
Es recomendable medir Vnet en tu propio entorno de uso para obtener un valor más preciso. Esto se puede hacer en condiciones de aire limpio, sin presencia significativa de polvo.
pols_1 = (tensio - 0.9) / 5 # 0.9: valor típic aire net
pols_2 = 0.170 * tensio - 0.1 # fòrmula empírica que utilitzen la majoria de programes que he trobat
Com que les densitats de pols en mg/m3 tendeixen a ser xifres petites, també podem mesurar les densitats en µg/m3, simplement multiplicant les densitats de pols en mg/m3 per 1000: D[µg/m3] = D[mg/m3] x 1000
pols = (tensio - 0.9) / 5 # mg/m3
pols = pols * 1000 # µg/m3
Integració en programes complexos
Per integrar aquest sensor en un programa complex amb més sensors i/o comportaments val la pena definir la recuperació de les seves lectures en una funció i definir les variables com globals perquè puguin ser reconegudes fora d'aquesta funció.
Desem el programa de recuperació de valors dins el dispositiu microPython, amb el nom uv.py