1000 measurement for 10 sensors per seconds, it means there are 10000 measurement per sec with 0.1 mS time slot for each measurement.
According to SRF-04 Documentation,
(1)
If nothing is detected then the SRF04 will lower its echo line anyway after about 36mS.
So, time slot for each reading is 36 mS ("if" nothing is detected), which means for 10 SRF04 x 1000 reading, it will take 360000 mS = 360 Sec.
(2)
I would want all 10 sensors to send a 40kHz pulse at the same time, and then when a return signal is recorded, another 40kHz pulse is sent out.
Its seems reasonable. But,
According to the timing diagram, 1 cycle minimum period consist of :
- 100 us Trigger pulse ==> 0.0001 s
- 8 Cycle burst at 40 kHz = (1/40000)*8 s ==> 0.0002 s
- 100 us Echo pulse ==> 0.0001 s
- 10 ms delay time ==> 0.01 s
Total for 1 cycle is 0.0104 s, so for 1000 readings x 10 sensors (object to detect is present) will be 104 s.
All sensor burst at the same frequency, great idea. However it's not advised (or rather not possible) because that will disturb each sensor reading unless you successfully change each sensors frequency or doing sound modulation. Even if you success in modulating 10 sensors frequency, the needed time is still not met 1 s interval
- 100uS for 10 sensors trigger pulse at once ==> 0.0001 s
- 8 Cycle burst at 40 kHz = (1/40000)*8 s ==> 0.0002 s
- 100 us (minimum) Echo pulse --> 0.0001 s x 10 sensors ==> 0.001 s, because Arduino does not support threading, which mean there is no way you can read all at same time
- 10 ms delay time ==> 0.01 s
Time for 1 cycle (10 sensors reading): 0.0113, 1000 readings : 11.3 s
(3)
"How about changing the beam pattern?"
Changing beam pattern and beam width
You can't! This is a question which crops up regularly, however there is no easy way to reduce or change the beam width that I'm aware of. The beam pattern of the SRF04 is conical with the width of the beam being a function of the surface area of the transducers and is fixed.
So, rather than trying to modify the ultrasonic, more reasonable solution is changing the way you do elevation measurement.