Hello Arduino Gurus,
I am scrambling to learn arduino programming for an ambitious research project for the Coalition for a Responsible and Sustainable Navigation, an environmental non-profit organization. In this new project, we want to measure the wash and wake of all types of recreational boats, from small electric canoes up to the biggest, most powerful wakeboats. We would like advice as to how to best program to achieve the best results. Your programming advice (architecture and approach mostly) would be greatly appreciated. Thank you.
As for the physical hardware, no problem. We have access to many resources for that.
There are two things we want to accurately measure with respect to what we call boat signatures.
WASH Measurement.
Wash is the turbulent jet of water created by the propeller of the boat. We need a good overall measurement of this, in space and it time.
In past research projects, we used single or several ADCP devices. The problem we have is that these devices are expensive and require delicate calibration. Though ADCP devices are very good at measuring average 3D movements in the water column, it is only along a narrow beam in front of the device. Moreover, they also tend to have difficulty dealing with the chaotic turbulence we have with boat prop wash. We conclude that we needed something much more comprehensive and basic.
Basically, we envision to have two vertical poles (masts) suspending a vertical array of movement sensors (similar to flowmeters) on a thin stainless steel wire grid. The grid could be a 8x8 array, 1 meter apart, 7 meters x 7 meters (see image). We can design and make optimized impellers with magnets and encapsulated hall effect sensors to get nice digital inputs for arduinos using the PULSE function, no problem. Test with hacked PC fans (models with no "cogging", disconnect coils and connect to output of hall sensor) indicate that this is the simplest most reliable way to proceed.
So, a 8x8 array of these sensors streaming velocity data to PC onboard a boat nearby could be ideal. Moreover, it would be ideal to see the data realtime on the PC as to make sure everything is calm before making a boat pass. We could trigger the start of recording with a reasonable sampling rate (could be as low as 10 times per second) for the time it takes for the wash to subside (one to 3 minutes, we don't actually know yet...).
We will chose a clear lake to perform these tests and we intend to video document as well, above and below the surface. Vinyl ribbon streamers on the grid give us visual confirmation of what we are measuring. Test last summer with a GoPro using a coax wire to connect wifi to my cell phone worked great. We can watch, configure, start, stop recording and playback at will.
My question is how to best approach this challenge. Is it best to have individual arduinos communicating serially, or is it possible to scan or multiplex by rows and columns, that kind of basic stuff. All roads could lead to Rome but some are much better than others Please advise.
WAKE Measurement This is to measure the wave trains as they pass by the sensors. From that data, we can study the wave profiles, determine their speed and energy and so on.
At each side of the grid, atop the poles, we plan to have waterproof SR04T sonars above the water measuring downwards. Tests so far are most promising. I have both left/right streams sampling away in the serial monitor.
Combined? Perhaps both wash and wake can be transmitted serially and recorded to PC into one simple single formatted file. For example, we could sequentially each row of wash data followed by the wave heights in order to balance rates. Wave profiling from wake data will require a faster sampling rate than wash.
All that we need advice on is how to approach reading the data form all the sensors, streaming them serially to computer in order to observe and record them for analysis later.
Please advise. Your valuable input is most appreciated. Many thanks in advance!
Paul Isabelle, volunteer for Coalition Navigation
www.coalitionnavigation.ca