Lynxmotion EH3 with Terrain Sensing Capability
Joe "Bot" Red
Posts: 81
Hey fellas... I have been working on my Lynxmotion Extreme Hexapod III. I wanted to make it able to sense the terrain, but·I didn't want to spend much money on sensors, or add too much complexity.. so I used some micro switches salvaged from computer mice, some glueing/drilling + cheap parts and I was able to give all six feet the ability to sense the terrain, making it able to react to potentially dangerous situations, like reaching the edge of a stair...· here is a short video of the initial simple code to sense the edge of the terrain and just back away from it and stop:
http://www.youtube.com/watch?v=Pdj6R0UTB8Y
And here is the link of how I built the sensors for the feet:
http://joebotics.googlepages.com/addingsensors
Since I was running out of precious pins on my Propeller (18 pins are dedicated to the 18 servos on the Hexapod) I decided to expand the ports with a MAX7300 I2C I/O Port Expander, a really cool little IC that comes in DIP package and allows you to control 20 pins as any combination of inputs and outputs, (each pin can individually be configured as either output, input or input with weak pull-up), and I dedicated this IC to the non-glorious task of sensing the state of the switches; each touch sensor goes to a pin on the MAX7300 configured as input with weak pull-up, and the other end of the switch to ground, and when the leg touches the ground, it closes the circuit, and I get a Logic 0 on that sensor, I finished the code that cautiously walks forward, sensing the front legs, and when it reaches the edge of the terrain, it pulls back, kind of funny to watch, it behaves like a bug when it reaches the border of a table...
Attached is the code you see in action on the video.... :-)
Happy Roboting!!!.. Jose
http://www.youtube.com/watch?v=Pdj6R0UTB8Y
And here is the link of how I built the sensors for the feet:
http://joebotics.googlepages.com/addingsensors
Since I was running out of precious pins on my Propeller (18 pins are dedicated to the 18 servos on the Hexapod) I decided to expand the ports with a MAX7300 I2C I/O Port Expander, a really cool little IC that comes in DIP package and allows you to control 20 pins as any combination of inputs and outputs, (each pin can individually be configured as either output, input or input with weak pull-up), and I dedicated this IC to the non-glorious task of sensing the state of the switches; each touch sensor goes to a pin on the MAX7300 configured as input with weak pull-up, and the other end of the switch to ground, and when the leg touches the ground, it closes the circuit, and I get a Logic 0 on that sensor, I finished the code that cautiously walks forward, sensing the front legs, and when it reaches the edge of the terrain, it pulls back, kind of funny to watch, it behaves like a bug when it reaches the border of a table...
Attached is the code you see in action on the video.... :-)
Happy Roboting!!!.. Jose
Comments
-Phil
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Whit+
"We keep moving forward, opening new doors, and doing new things, because we're curious and curiosity keeps leading us down new paths." - Walt Disney