Sound sensor

The Smart Sense Sound sensor will measure sound levels on one of four ranges. The sensor connects to any one of the analogue sensor inputs. Once connected the Smart Move software will display the name of the sensor and label the appropriate input ‘Sound’. The sensitivity of the sensor is reduced as the knob is rotated clockwise.
Responding to the sensor[edit]
The sensor can be used as an input device to a system which responds to changes in sound level. The example procedure "Soundmeter" uses the sensor to produce a sound ‘meter’. The eight digital outputs are used to indicate sound level. As the volume increases more of the outputs are switched on.
Procedure: Soundmeter[edit]
REPEAT IF SOUND < 255 THEN SWITCH OFF 7 ELSE SWITCH ON 7 IF SOUND < 224 THEN SWITCH OFF 6 ELSE SWITCH ON 6 IF SOUND < 192 THEN SWITCH OFF 5 ELSE SWITCH ON 5 IF SOUND < 160 THEN SWITCH OFF 4 ELSE SWITCH ON 4 IF SOUND < 128 THEN SWITCH OFF 3 ELSE SWITCH ON 3 IF SOUND < 64 THEN SWITCH OFF 2 ELSE SWITCH ON 2 IF SOUND < 32 THEN SWITCH OFF 1 ELSE SWITCH ON 1 IF SOUND < 0 THEN SWITCH OFF 0 ELSE SWITCH ON 0 FOREVER
How it works[edit]
The first and last lines of the procedure form a loop which continues until the user escapes from the procedure. Each line within the loop checks if the sensor reading is below a certain sound level in which case the output is switched off, otherwise it is switched on.
Recording sound levels[edit]
The readings from the sound sensor can be stored to disk foranalysis with a spreadsheet or graphing program. The procedure "Recorder" shows an example where recording begins as soon as the sound level rises above 20. The recording will stop when it falls below 10.
Procedure: Recorder[edit]
FILE 1,"sounds" WAIT UNTIL SOUND IS GREATER THAN 20 REPEAT STORE 1,SOUND UNTIL SOUND IS LESS THAN 10 CLOSE 1
This shows a typical graph produced using this procedure:

When sampling in this way about seven samples per second will be stored. If logging is to be performed over a long period, for so example recording the level of sound during the night, very large files will be produced. Samples could be taken less frequently, for example once every minute, but as each reading is taken in a fraction of a second any change in sound level between samples will be missed.
To avoid this problem you can take readings at more frequent intervals and average the result. Procedure "LongTime" shows an example using the average command. Readings are taken over a ten second period and the average value is then stored. This routine is repeated 60 times to give an overall logging time of ten minutes.
Procedure: LongTime[edit]
FILE 1,"data" START CLOCK FOR 60 TIMES RESET CLOCK AVERAGE CLEAR REPEAT AVERAGE SOUND UNTIL TIME IS GREATER THAN :10:00 STORE 1, AVERAGE NEXT CLOSE 1