Paso 4: Calibración del micrófono
La idea es definir los parámetros en rain.py para que
- da tan exacto como sea posible una medición de cualquier lluvia que hay
- no registra lluvia cuando no hay
- no dice hay mucha lluvia sólo viento
Existen 3 parámetros para configurar.
mm_per_million. Ajusta la sensibilidad. Un número más grande aquí hace la lluvia estimar más grande.
quiet_noise. Esto fija el umbral por debajo del cual se supone que no existe lluvia.
wind_noise. Esto define el umbral que utiliza cuando piensa que es ventoso.
Usted puede encontrarlos en línea 16 de rain.py.
Primero tenemos que definir los niveles de ruido. Si bien es tranquila, mira en las lecturas en la banda de frecuencia más alta - que antes la]. Si obtiene algo como
actual from program3.8mm 2.6mm4.1mm 7.5mm11mm 8.5mm 6mm 7.2mm
entonces es el 158, 167, 164 que usted está buscando. He encontrado que quiet_noise debe ser alrededor 10 veces esto. Así que alrededor de 1600. He encontrado que wind_noise debe ser quiet_noise 2 veces, hasta 3200.
A continuación necesitamos medir algunas precipitaciones reales y comparar con la estimación del programa python. Idealmente sería recopilar datos de períodos de precipitación a diferentes velocidades. No es obvio que la intensidad del sonido se incrementará linealmente con precipitación o esa lluvia luz hará la misma intensidad sonora acumulada como la misma cantidad de lluvias. Sin embargo mis datos (limitados) sugieren que es justo dentro de un factor de 2. Esto no es perfectamente exacta, pero suficiente decidir cuándo apagar el sistema de riego!
Usé un lavado recipiente y una probeta. Dejarlo hasta que la lluvia ha caído, luego vacíe el agua en la probeta y coloque el recipiente hacia fuera otra vez. Anote el volumen de agua cada vez y la correspondiente estimación del programa python. En el programa de python, ajuste el parámetro "mm_per_million". Así que si se mide la lluvia de 10mm en el cilindro y el programa de python da 2mm, necesita el "mm_per_million" se multiplican por 5.
Tengo estas medidas recientemente:
#!/bin/sh /usr/bin/python -u /home/pi/rain.py >> /run/shm/rain_py.log 2>&1
A continuación, lo mejor es dejarlo funcionando durante unos días de tranquilidad, viento, lluvia y tanto viento y lluvia. Idealmente sería también medir la precipitación de vez en cuando. Luego mira detenidamente el archivo /run/shm/rain1.csv. Puede ver los valores registrados cada 5 minutos junto con la precipitación acumulada estimada (reset cada día a medianoche) y el nivel de viento. Puede que necesite volver a ajustar los parámetros. Me tardé una semana o 2 antes de que yo estaba contento con los resultados.
¡Buena suerte!