Advice on my new build

Hello Arduino forum's, I am very newt to this as I have never used an Adruino before. I am about to create a project for my final year in university and was after some advice, I am building a "Human Posture Analyzing System" which will consist of using an Arduino, Gyroscope and an accelerometer, These sensors will be used to measure the angle of a human beings posture and will use a series of buzzers and led's to warn the user when they have exceeded the recommend limits, bla bla bla. But I am very unsure on: 1. what is the best Adruino board to get. 2. what gyro and accelerometer sensors to get 3. what bluetoothe module to get (Has to communicate with a PC)

and preferably somewhere where I could learn or get examples of some sort of coding for this, as I have only ever done basic C programming.

Thank you for taking the time to read this post.

Thanks Again Nathan

I’m pretty new to the forums too but I’ve actually been working on a project similar to this so I may be able to help you.

First off, I’m a bit curious as to why you would want a gyroscope to be a part of the project.
Accelerometers measure acceleration (naturally), and so they always measure a 9.82m/s/s acceleration towards the center of the earth. So with JUST an accelerometer, you can already detect which way is down relative to the sensor. The only problem with accelerometers is that if you are accelerating laterally, the acceleration measured will no longer be straight down, and so the reading loses accuracy the more you move.

Gyros measure angular rate of rotation, which is why they are used on dynamic robots/drones. But gyros measure angular rate so they are integrated to get angles/orientation. This means that small errors will build up over time and your orientation will begin to drift. Solution? Accelerometers to recalibrate/reset the gyro to its zero point.

So you really only need both sensors if your person is going to be jumping up and down alot and constantly around. Even so, your accelerometer would still suffice every time the subject stops moving. Could you explain your specific sensory requirements a bit more?

As for bluetooth, that is uncharted territory for me so I will direct you to this website: http://www.instructables.com/id/Cheap-2-Way-Bluetooth-Connection-Between-Arduino-a/step4/Set-up-your-PC-for-serial-Bluetooth-communication/
rather than start making things up.

Stef

farmernathan:
Hello Arduino forum’s, I am very newt to this as I have never used an Adruino before.

If you are already familiar with and competent at programming your inexperience with the Arduino should not be a major obstacle.

If you are not familiar with programming you are facing an incredibly steep learning curve.

You may get some value from this Thread about planning and implementing a program. And look at the many examples that come with the Arduino IDE. Between them they probably cover all of the techniques you will need.

You should also write short single-purpose programs to learn how to use each of the sensors and other devices. Trying to create everything in one package is a recipe for failure - even for an experienced programmer. Well, an experienced programmer would not even try to do that.

…R

thank you Robin, I will have a look at that tomorrow when I have enough time as I am very busy. But thank you for your advice, I can program C as I have studied electronics for 2 years now, But I will take your advice and try to get each section working at a time before jamming it all together. Thank you

Nathan

Hello StefL.

Thanks to the reply.

Basically I have to build a system that will be strapped to a persons back via a back strap, and this system must be able to measure if the user's back angle is greater or less that the recommended. i.e if the user is sitting at a 60 degree angle ( crouching forward ) then the system will alert the user, or when standing if they'r not positioning their back in the correct up right position the system will again alert the user.

I have been looking in to gyro and accelerometer as my project tutor has pointed me in that direction as they had a similar one in the university that was used for a similar project many years ago.

I have just started the research aspect of this project and am hoping to get some sort of reading from a sensor with the arduino before Christmas.

What sensors would you recommend other than the gyro and/or the accelerometer?

Thanks Nathan

No problem Nathan

I spose you could use an angle sensor/a potentiometer and two units that change angles with respect to each other, but accel or accel+gyro is ideal, i was just pointing out that if you just use an accelerometer, the program will be much simpler and the setup will be much cheaper. BUT as i mentioned earlier, it wont work if your subject is moving around.

The moment you add a gyro, you will be able to still calculate orientation as you move around, but the program will be significantly more complicated. And setup more pricey too

How good are you with programming?
On the sensory side, for the accelerometer all you will have to do is perform some basic functions to convert your accel data input into a net vector.
On the gyro you will need to read the angular rotation rate data (and maybe integrate it to get gyro estimated orientation), and write software to compare it to the accelerometer.

Im thinking you will need software to compare the two values.
eg. If the gravity vector shifts from straight down rightwards at a 30deg angle, and your gyro reads a rightward shift of abt 32 degrees, you will know your subject just turned sideways 32 degrees.
But if your gravity vector shifts forwards by 30degrees, and your gyro registers 0 rotation, it would mean your person has just accelerated forward and not changed position.

You could also take advantage of the fact that gravity is pretty much constant for you, so if you have a accel vector that is like 12m/s/s, then you will know you arent standing still, irregardless of your direction.

The accel+gyro is more difficult and pricey but if you want to take on the challenge you will learn alot on programming, and heck maybe you’ll become a bit of an expert on it and can help me with my project too! Hahaha

Stef

Hello Stef, thanks again for the reply. like I said earlier I can program a M16c62p but thats as far as i can go. Haha. I am still unsure of what sensors to use, haha. I will look in to it a bit more, but I am looking to the cheapest and easiest method to do this.

I have a meeting today with my tutor, I will discuss this with him and I will report back with what he recommends.

Thanks Nathab

The crudest, simplest way to visualize an accelerometer output would probably be a rock tied to a string.

That alone is enough to calculate angles with respect to the ground, but the moment you start running around the rock isnt so helpful anymore.

hello StefL,

After meeting with my tutor today he has told me that for the time being the system that I am embarking on would be considered as an achievment if I can get readings from the sensors when the user is standing or sitting with no vertical or horizontal movement, Then the next aspect would be to try and overcome this.

As for speaking to my tutor today I am considering getting an Arduino Uno R3 and a MPU 6050 (Gyro, Accelerometer Chip), I am hoping to find some sort of code online where values from the MPU 6050 will be displayed, Then I can go abouts trying to obtain reference values for certain angles and then implament this with the Arduino to create limits for the device, which then will hopefully be able to calculate if the user has exceeded the set boundaries.

I have seen many similar projects that people have been creating that have a similar goal as mine, If you know of any usefull places to find such code it would be a great help.

And as for the movement aspect, My tutor has already created a simmilar prototype that overcomes this problem, Therefore if/when I find myself in that situation I may be able to sort something out with my tutor.

Thanks again for all you'r advice so far, I am very appreciative.

Thanks Again

Nathan

No problem. As for code, try look for links on the product's page online.