In this project, we built an Arduino driven wireless armband that monitors ones vital signs and relays the information to a nearby computer. We built this armband over a course of three weeks and learned a lot over the course of the project.
Step 1: Parts
In order to complete this project we used:
-Arduino Uno (2)
-A pair of Xbee series 2 radio transmitters
-16 pin lcd screen
-2 Xbee explorers ( we didn't have two, so we got creative and used an Arduino lilypad Xbee shield instead)
-LM35 Precision Centigrade Temperature Sensor ( We ordered a body temperature sensor, but it still hasn't arrived...so this is a substitute)
-an arm band
-a project box
-two breadboards and assorted wires
Step 2: Preparing the Hardware - Sensors
In order to keep the project simplistic, versatile, and easy to troubleshoot, we decided to use breadboards instead of circuit boards. Every component on our project was connected to the breadboards. We will attach a Fritzing schematic.
-Begin by connecting the LCD screen to the breadboard and connecting the wires according to the pin descriptions on the Arduino reference library for liquid crystal display. (Look at one of the example coding, and in the comments they have pin descriptions; on a side note, it is wise to print out a copy of the schematic for the LCD screen, it will have the pin descriptions)
-Then connect the temperature sensor. Like I said in step 1, this is not the temperature sensor we wanted. We wanted this one, DFRobot.com DFR0030 Capacitive Touch Sensor; nevertheless we just wired it in as shown on the diagram.
// On the diagram, the thing that looks like a potentiometer attached to analog 0 is actually a pulse sensor. There was no fritzing model for it however.
-Finally, wire in the pulse sensor and that takes care of all the sensors.
Step 3: Setting Up the Xbees
Xbees can be a pain to setup, especially if you are like us and have never set one up before. So after scrolling through the internet we found an interesting tutorial we will post the link below. Just follow the steps, and you will configure it. Beforehand, be sure to download X-CTU, it will be the main program in the tutorial. It is also a good source to troubleshoot with.
Things to make sure you do:
-Set one xbee as coordinator one as end device
-Make sure they have the same baud rate
-Make sure they are on the same channel
-Other than those just follow the steps and it should all be ok
Step 4: Preparing the Hardware- Wireless
In this step it is essential that you wire the xbees exactly how we have it listed.
To begin with, if you are using a breadboard it is wise to solder header pins onto the explorers which allows easy connection to the breadboard.
On the sending arduino ( the one with the sensors ), connect the Dout pin of the xbee explorer to the rx pin of the arduino, connect the Din pin of the xbee explorer to the tx pin. This will essentially force all serial information printed to go through the xbee.
Also as long as you are using an explorer, you can simply wire 5v to the 5v pin and ground the explorer.
If not just be careful, make sure you are not applying more than three volts straight to the xbee or you might fry it.
On the receiving xbee apply the tx pin to the tx pin of the lilypad explorer (Dout of explorer) and the rx pin to the rx pin of the lilypad explorer ( Din of explorer). Once again ground it and send it power. This will complete the receiving arduino hardware.
Step 5: Coding Arduinos
So now it is time to code the arduinos. To begin with, you will want to write some simple code for a receiving arduino and a sending arduino; this will allow us to test the connection between them. I have attached two files that have simple code and send values from one arduino to the other.
If you choose to use these, I have attached .ino files so they can be downloaded and opened in Arduino coding software.
After you have the Arduinos sending and receiving information, go into the last step on this instructable and in the sources, download the arduino pulse sensor code, and open it in the arduino software. If you run this code while the Xbee is connected, the arduino will send the Serial.println () data over the Xbee to the receiving Xbee.
However we decided to add to this code, we added the code for the temperature, LCD configuration code, and some other small changes here and there. This code will be on the second to last step along with our processing libraries.
**Be sure to change the Baud rate to whatever the Baud rate of the Xbee is**
Step 6: Processing Code
The pulse sensor also came with processing coding for a clean display of the information at hand. We decided to use this code as a platform for our display. We added a bunch of features such as opening patient files, being able to enter in one's name on a new patient file, automatically storing the pulses and averages for the session along with the time, and a temperature display. We also found that the pulse sensor tends to fluctuate so we included some coding to take averages after 200 samples.
Once again we will include this coding on the second to last page along with the arduino code.
Step 7: Finishing Touches
Finally, we finished up the project by incorporating the system onto an armband.
-First we connected the receiving arduino to the computer
-Then we grabbed a pencil box, it can really be any box, and placed velcro on the bottom.
-Then we placed velcro on the breadboards and arduino controller, however I definitely recommend using a circuit board instead of a breadboard, we just didnt have time...
-Finally place the arduino and breadboards into the box, tape a 9v power supply in there as well to power the arduino, and your ready to take wireless vital reading
Step 8: Our Arduino and Processing Codes
Below are the files for our processing and arduino codes:
Also be sure to check out the pulse sensor processing and arduino code as a reference. We used a lot of their code and are very thankful that they opened up their product to the open source community.
I made these into .txt files so you can just copy and paste:
**Receive goes on the receiving arduino**
**Tester2 is just to test the simple connection**
**Most recent coding goes on the sending arduino**
**New_Patient.pde is the processing file, you may need to download it**
//if the top right corner goes blank or some weird error regarding no image, just delete the lines that talk about "vitaband.jpg"
and remove the "//" before the "bezier curves"
Step 9: Sources!
Arduino reference library : http://arduino.cc/it/Reference/HomePage
Processing reference library: http://processing.org/reference/
Xbee setup tutorial: http://www.youtube.com/watch?v=VzgUtZyiHhE
Pulse sensor arduino and processing codes: