Hi all,
Just bought ArduPilot with Oil sensor board together and thinking about obstacle avoidance and strongly need advices:
1. HC-SR04 will be good?
2. There's also 3-pin version of it. Looks like it has serial communication, is it the better way? It's just sending bytes in fixed interval. Does this the future system requires at least 5 serial ports (4 sides + bottom)? is it possible to arrange them only using free pins on Pilot and Oil boards?
3. Or, maybe, It's better to buy 4-pin analog sensors and connect them to free alanogReads?
4. Any other suggestions?
I'm good in javascript programming, so I'm not afraid of Processing. I'm just curious if serial communication could make it much easier.
Replies
So I came into two natural choices here: either use I2C-compatible sensors like SRF02 on built-in I2C bus or create analog-based subsystem on Arduino Nano.
Pros for I2C:
- no additional board
- less wires, less weight
Contras for I2C:
- little mobility in time gaps between requests (am I right?)
- any multicopter better accepts star design, not chain.
- ANY sonar rangefinder requires program filter, typically the mode filter with (auto) adjustable depth, so it could overload main board, yes?
I2C Ultrasonic links:
http://www.robot-electronics.co.uk/htm/srf02techI2C.htm
http://www.robot-electronics.co.uk/htm/srf02tech.htm
http://www.robot-electronics.co.uk/htm/sonar_faq.htm
Separate board pros:
- star architecture, more suitable for copter
- cheapest components ($10* 6 + 15 > $30*6)
- may be used with different flying units (ex. for testing...)
- more sophisticated filters allowed
Separate board contras:
- extra cargo
- it's a separate board...
I still need to know, what type of coordinate system used in ArduCopter or ArduPirates code to modify it with "if(noObstacle(angle|direction))"
I've read this here http://code.google.com/p/arducopter/wiki/Quad_Sonar
This appears to be wrong statement, because we can examine each sensor in succession, having enough time to fade and still keeping fast system responsibility.
However, the more sensors will be in the examenation chain, the the more sluggish the whole system. So, I need at list (at best) 6 sensors.
http://iteadstudio.com/produce/serial-ultrasonic-module-jsme007tx/ - looks like the thing called "3-pin sensor" I've been talking about
http://iteadstudio.com/application-note/arduino-ultrasonic-ranging-... - It's easy to program it, just if there's enogh pins of that type?