Paso 4: Sensores de sonido
Implementación de código:
La función findSoundMax (int t, int inc) se utiliza para el sensor de sonido. Cuando se implementa el sensor de sonido, encontramos que el sensor es muy sensible. Cuando la música era en, el sensor tendría valores drásticamente diferentes para cuando la música era fuerte o suave. Como resultado, tenemos que encontrar el máximo nivel de ruido en un determinado periodo de tiempo y usar eso para decir si era música. La función findSoundMax tiene que sensorSound, soundMax y variables de número entero. La función hace el sensor de escuchar a la música, luego demora un cierto tiempo, t. Luego escucha la música otra vez, y si es más fuerte esta vez que antes, el valor más alto se almacena como soundMax. Lo hace esta cantidad de inc de veces. Por ejemplo, utilizamos t = 50 ms y inc = 20. Esto significa que el sensor repite el proceso anterior 20 veces, retrasar 50 ms entre cada escuchar. El valor máximo del sensor se pasa en el variable sonido.
Si suena más grande que soundThresh, cambie el valor de un entero, x de -1 a 0. soundThresh es un valor definido por el usuario que se encuentra experimentalmente. Niveles arriba de que este valor significa música se reproduce el sonido. Por debajo de este valor es solo ruidos. Colocando x = 0, sabemos que ya no necesitamos escuchar música: la función findSoundMax se ejecuta solamente cuando x < 0. El código puede ahora continuar en línea de seguimiento y evitación de la colisión.