First prototype of Arduino for linear motion labs....
Ultrasonic ranging module HC - SR04 provides 2cm - 400cm non-contact
measurement function, the ranging accuracy can reach to 3mm. The modules
includes ultrasonic transmitters, receiver and control circuit. The basic principle
of work:
(1) Using IO trigger for at least 10us high level signal,
(2) The Module automatically sends eight 40 kHz and detect whether there is a
pulse signal back.
(3) IF the signal back, through high level , time of high output IO duration is
the time from sending ultrasonic to returning.
Test distance = (high level time×velocity of sound (340M/S) / 2,
So what is the device doing?
The device measures the time that it takes for a sound pulse to return after bouncing off some surface and converts that value to a position. Placing a card or hand in front of the transducer/microphone gives excellent readings as well.
Here's what a position vs. time [ x(t) ] graph looks like as I move the Arduino back and forth, bouncing the sound wave against the wall:
And the program can also output the position as a data file. I loaded a data file into Excel:
It would be great to continue this project with the following steps:
- log tabular data (see this and this)
- plot v(t) and a(t) in addition to x(t) data in real time.
- handle situation in case there is an erroneous spike
- test the limitations of software/hardware. Will the 40 Hz (25 ms) response of the HC - SR04 be appropriate? How accurate/precise are our measurements? Would using slightly better parts make a big difference?
- test in actual lab scenario with a linear air track
- how to arrange computers to be near lab setups?
- develop some intriguing, real-world lab worksheet that guides students through the process as well as connects their experience to real-world applications. Make an "instructor sheet" with concepts and ideas to plant as instructor goes around room visiting each lab group.
Longer-term questions:
- How to make a direct real-world tie-in with as many labs as possible?
- What activities will students respond most to? What will be most intriguing?
- Data analysis: should templates be provided?
- Should these devices be ready to go or should students assemble? (It can be as simple as plugging in 4 wires, and hitting upload to upload the arduino program.)
- Value of written lab report: Students need to gain experience explaining and expressing scientific ideas concisely. How can we emphasize this without placing an unreasonable time burden on the students (this is only a 1-hr credit)?
Here's another cool idea that can be adopted (from Stanford undergrad labs):
Bernoulli's principle -- the sound can bounce off the top surface of a bucket of water, and thus flow rate can be calculated. This can be related to the pressure at the level of a hole in the bucket, or the flow velocity -- and if a horizontal hole, the range that the water travels before hitting the floor!


