Stap 4: Geluid sensoren
De implementatie van de code:
De functie findSoundMax (int t, int inc) wordt gebruikt voor de correcte sensor. Bij de uitvoering van de correcte sensor, vonden we dat de sensor te gevoelig is. Toen muziek op, kan de sensor drastisch verschillende waarden voor zou hebben toen de muziek hard of zacht. Dientengevolge, moesten we het maximale geluidsniveau in een bepaalde periode zoeken, en gebruik dat om te vertellen als de muziek speelde. De functie findSoundMax heeft om geheelvariabelen soundMax en sensorSound. De functie maakt de sensor die luisteren naar de muziek, dan vertraging voor een bepaalde hoeveelheid tijd, t. Vervolgens het luistert naar de muziek weer, en als het harder ditmaal dan voorheen, de luider wordt opgeslagen als waarde soundMax. Het doet dit inc-bedrag van de tijden. Bijvoorbeeld, gebruikten we t = 50 ms en inc = 20. Dit betekent dat de sensor het hierboven beschreven proces 20-maal herhaalt, uitstellen van 50 ms tussen elke luisteren. De maximale sensor-waarde wordt vervolgens doorgegeven in de variabele geluid.
Als geluid groter dan soundThresh, dan we de waarde van een geheel getal veranderen, x, van -1 tot 0. soundThresh is een door de gebruiker gedefinieerde waarde die experimenteel is gevonden. Geluid niveaus boven deze waarde betekent muziek wordt afgespeeld. Hieronder deze waarde is slechts omgevingsgeluid. Door het instellen van x = 0, we weten dat we hoeft niet langer te luisteren naar muziek: de functie findSoundMax wordt alleen uitgevoerd wanneer x < 0. De code kan nu gaat u verder met lijn volgen, botsing te vermijden, en meer.