Amidst the COVID-19 pandemic, more stay-at-home orders and mandates have been emplaced onto society. Due to this, employees and students were encouraged/forced to work remotely from home. This increased the average amount of time an American spends at their desk sitting down. Along with COVID, the gaming community has been growing at an incline over the last few years as technology has become more advanced. This factor furthermore increased the amount of time users spent at their desks playing video games or streaming their games. Sitting with poor posture has bad long-term effects on a person's physical health. Therefore, we created this program to give our users some instructions on which direction they should lean in order to have good posture.

What it does

We have coded an Arduino connected to four pressure sensors placed onto the cushion of the user's chair. The data from the sensors are sent through a USB serial port connection, and then our program reads the user's weight distribution from all four sensors. The first two survey questions displayed on our program are for user feedback giving us the correlation between people who have good or bad posture and whether or not they sit for long hours on the computer. The results of the survey are saved and written to a local .txt file on our computers and help us determine whether or there is a relationship between posture and how many hours are spent sitting, possibly giving us a conclusion that the longer someone sits, the worse their posture gets. Our program will then display the weight distribution from all four sensors to the user, and will tell the user to lean back, lean forward, lean left, or lean right, to correct their sitting posture.

How we built it

The layout of the pressure-sensing cushion:

Front of the chair
Back of the chair

Each O is a pressure sensor and it outputs an integer from 0 to 1023 depending on how much weight is applied to it. We use these four sensors in this configuration to detect a person’s weight from their torso and thighs when they’re sitting down. For a correct sitting posture, we've set the sensor’s values to be: 950, 950, 1000, 1000 Where the values are (from left to right) sensor 1 (left thigh), sensor 2 (right thigh), sensor 3 (left rear), sensor 4 (right rear). We expect higher pressure from sensors 3 and 4 and lower pressure from sensors 1 and 2 because most of the person’s weight should be towards the rear center of the chair’s cushion. We set these desired values for a correct posture, and if the sensors report any major deviations from these values, we can assume that the person is sitting with a bad posture because their weight will be distributed differently.

Challenges we ran into

We ran into challenges mainly with GitHub and pushing and pulling from our local repositories. Some of our computers blocked an overwrite file function that Visual Studio was trying to execute when pulling the updated repository from the master branch to our local branch.

Accomplishments that we're proud of

We were able to successfully retrieve input from the sensors and create a program that displays the live weight distribution of the user's sitting position. Moreover, we were proud to be able to save and analyze user feedback so we can either accept or reject our hypothesis that the longer people sit, the worse their posture gets and vice versa.

What we learned

We learned how to create serial port connections via USB and some users were able to learn how to code within C# for the very first time. For some of us, it was our first time working with hardware like an Arduino, so we were able to learn how to code a program based on a hardware output.

What's next for Posture Corrector

We will furthermore analyze the user feedback and hope to teach people to get into the habit of sitting with good posture without the use of our program.

Built With

Share this project: