The objections from Grumpy_Mike and Paul__B to the tilt switch solution are based on the view that the signal from the switch may bounce around too much to give meaningful data.
I admit I am unsure how a tilt switch would perform in this application, but looking at the video I still feel it would work. Basically I think we are in a suck-it-and-see situation and a lot might depend on the actual switch selected.
I would still put my money on either the sensors or the switches because I think there is a better chance of being able to make something small that might not need an Arduino.
Anyhow, just wanted to inform that I've put in my 1st sparkfun order which consists of an Uno, resistor pack, protoshield with miniboard (so I can mount the whole uno board on the leg for testing)...and the tilt switch. I suppose I'll start it off simple, see how the tilt switch solution works, if not, place another sparkfun order for other sensors (force, flex, etc).... Wish me luck!
That is always the way to go. If you have difficulties post your code and I am sure people will help out. If the film of your daughter is typical (i.e. not exaggerated for the camera) then I am fairly sure a tilt switch will do the job. I cannot promise to keep up as I have a lot on at the moment but I have ordered a tilt switch myself to mess around with.
Although I have not taken to wearing high heels I have been walking around on tip-toe in different footware. Once I get to boots with ankle support and a steel insole it is not possible. Would a second prong of attack on the problem not be to get your daughter shoes/boots that have very firm soles? Then rather than having to remember not to walk on tip-toe she would have to make an effort to do it. In winter solid shoes/boots would not look out of place.
That is always the way to go. If you have difficulties post your code and I am sure people will help out. If the film of your daughter is typical (i.e. not exaggerated for the camera) then I am fairly sure a tilt switch will do the job. I cannot promise to keep up as I have a lot on at the moment but I have ordered a tilt switch myself to mess around with.
Although I have not taken to wearing high heels I have been walking around on tip-toe in different footware. Once I get to boots with ankle support and a steel insole it is not possible. Would a second prong of attack on the problem not be to get your daughter shoes/boots that have very firm soles? Then rather than having to remember not to walk on tip-toe she would have to make an effort to do it. In winter solid shoes/boots would not look out of place.
I haven't seen school shoes for little girls that have those solid soles. Also, we live in a tropical country so winter shoes would most probably look out of place Thanks for also getting a switch, hopefully you can keep the thread updated with your findings on it too. Mine is due to arrive 2nd week of November, takes a while for online orders to get here.
I'm struggling to see how a tilt switch would work on a moving foot - I think you might find it difficult to eliminate all the transients caused by movement of the foot. The pressure based approach would seem inherently much more reliable.
I'm struggling to see how a tilt switch would work on a moving foot - I think you might find it difficult to eliminate all the transients caused by movement of the foot. The pressure based approach would seem inherently much more reliable.
The idea is that 25% of the time when the child walks on her toes she will do so for X seconds or more without generating any spurious transients. I am hoping that X will be 5-10s or more. If she does that she will get a reminder, probably a vibration, to stop the habit.
If transients occur during the other 75% of toe-walking incidents that is fine, no reminder will be given. You don't want to remind the child every time, you just want to give them a nudge now and again, otherwise they will just depend on the system and will not think for themselves.
Of course this theory may well crash and burn when tested.
The pressure based approach is a good one, but I think it would be harder to turn into something small and stand alone (i.e. no Arduino).
Okay, made a bit of progress.
Despite the veils between the realms thinning I was unable to obtain a child on which to experiment ]
As a result I had to conduct a test on myself. There were some strange looks, but no comments, as I padded around barefoot with a buzzing multimeter in my hand and a mercury switch stuck to my heel with a big blob of blu tack.
The results were reasonably encouraging. Unfortunately it was not possible to walk on tip toe without generating transients as I had hoped, however it seemed as if I could obtain two distinct and simple signatures.
For normal walking the multimeter buzzed more or less continuously (i.e. tilt switch contact made) with brief gaps when my foot impacted on the ground.
For walking on toes the inverse appeared to happen. The multimeter was silent more or less continuously (i.e. tilt switch contact broken) with brief buzzes when my foot impacted on the ground.
The mercury switch I managed to get hold of is sensitive in 2D so the 'ball' type switch I have ordered (currently out of stock) may in fact be better.
This was a very quick test and I am not sure how clean the two signatures are but I think it should be possible to tell them apart in software. The results for a child will be different. A child's smaller feet and shorter legs will move with a different rhythm and their lesser weight will result in less jarring on foot impact.
The system will be quite sensitive to getting the angle of the switch correct I think. More experimentation required.
radman:
The idea is that 25% of the time when the child walks on her toes she will do so for X seconds or more without generating any spurious transients.
My problem with this theory is that the foot will be being accelerated in three axis and some of these accelerations will be along the axis that the tilt switch is sensing. As I see it, whenever the foot is off the ground the tilt switch is effectively useless. It's just not sensing what we want to sense, which is which part of the shoe is touching the ground.
radman:
Okay, made a bit of progress.
Despite the veils between the realms thinning I was unable to obtain a child on which to experiment ]
As a result I had to conduct a test on myself. There were some strange looks, but no comments, as I padded around barefoot with a buzzing multimeter in my hand and a mercury switch stuck to my heel with a big blob of blu tack.
The results were reasonably encouraging. Unfortunately it was not possible to walk on tip toe without generating transients as I had hoped, however it seemed as if I could obtain two distinct and simple signatures.
For normal walking the multimeter buzzed more or less continuously (i.e. tilt switch contact made) with brief gaps when my foot impacted on the ground.
For walking on toes the inverse appeared to happen. The multimeter was silent more or less continuously (i.e. tilt switch contact broken) with brief buzzes when my foot impacted on the ground.
The mercury switch I managed to get hold of is sensitive in 2D so the 'ball' type switch I have ordered (currently out of stock) may in fact be better.
This was a very quick test and I am not sure how clean the two signatures are but I think it should be possible to tell them apart in software. The results for a child will be different. A child's smaller feet and shorter legs will move with a different rhythm and their lesser weight will result in less jarring on foot impact.
The system will be quite sensitive to getting the angle of the switch correct I think. More experimentation required.
Thanks for providing an update with your testing Radman. I haven't gotten my shipment of tilt switches yet (won't be until Nov 28th) as a friend will be hand carrying them from the US. Good to see the results are encouraging. Please do post an update when your ball tilt switch arrives.
PeterH:
My problem with this theory is that the foot will be being accelerated in three axis and some of these accelerations will be along the axis that the tilt switch is sensing. As I see it, whenever the foot is off the ground the tilt switch is effectively useless. It's just not sensing what we want to sense, which is which part of the shoe is touching the ground.
A doubting Peter
Try taking another look at this video;
To me it looks as if, when the child is walking on tip-toe, the sole of the foot is constantly making an angle of 60deg (or at least 45deg) to the floor. That is really quite an unusual way to keep your foot, which made me think a tilt switch might do the job.
When I was messing about with my multimeter I had the tilt switch arranged so that with the foot flat on the floor the switch was closed with the contacts pointing down towards the heel. Forward and upward accelerations would therefore tend to keep the switch closed.
Thanks Grumpy Mike. I had seen that also during my research and it's one of the candidates to replace the tilt switch (in case it doesn't work). I haven't received my package yet, hopefully next week so I can begin this project.
The idea is to remind her to walk normally by using a small vibrating motor mounted on the Arduino whenever the tilt sensor detects she is walking on tiptoes. Since this is the 1st proto, I am using the LED on the protoshield as a visual cue (for now) while I am still testing (as the LED is easily seen on the camera, a small vibrating motor will be difficult to see on camera if it turns on).
Hopefully when I've gotten the final values in the code and when everything is done, I can simplify the circuit and transfer all the components to a smaller PCB (coin-size) so it can be easily attached to her shoe - any help in how to do this will very much appreciated
Arduino Uno sourced locally from Circuit-Help and a Protoshield and Tilt Sensor from Sparkfun.
I tweaked the debounce value in the code from 50 to 750 (milliseconds) and came up with this short video. Pardon the dark video, I had to dim the lights so the LED on the Protoshield can easily be seen. The faint LED is from the Uno, it has no use in this project.
The cam is a bit shaky as I was trying to film my foot/leg from a top angle.
EDIT: Was able to make a better video tonight, side view
Hi.
I am new to the world of Arduino but not both of the sensors. Sorry for my English , not my native language.
Sounds like a good idea to use the tilt sensor, but if I may I would like to add another . Displaying mechanics problem and trying to prevent erroneous notices, I think the use of a sensor flex the foot support area could help . Something like this:
Here is an example of many that exist : http://arduinobasics.blogspot.com.es/2011/05/arduino-uno-flex-sensor-and-leds.html
I think it would increase both programming and implementation in the shoe without too much difficulty but a combination of the 2 sensors to make sure the ankle is elevated while there is a bend in the front could be a good solution , especially to avoid false positive .
If there is no inclination ankle flex in the front , for example to sit with your feet backward or forward flexion of the ankle without inclination , for example to support your feet against a cabinet , chair, etc, would not be necessary to activate the vibrator .
Sounds like a great idea to help your daughter and I apologize if I've intruded in an already advanced thread being a newbie in arduino .
humeando - thanks for the link, I think I came across your blog when I was researching the bits to get for this project. Your english is fine as it is btw
I have seen this simple circuit and code ( How to Build a Vibration Motor Circuit ) that I can possibly combine with the debouncer code I am currently using to effectively turn on the motor, instead of an LED.
Can anyone kindly help me with the code if I am planning to replace the LED I have in my videos with the small vibrating motor?