jpaulmrphy
Published © GPL3+

WoundVARduino

Arduino Uno-based device intended for negative wound pressure therapy for hospitals in the developing parts of the world.

IntermediateWork in progress7,936
WoundVARduino

Things used in this project

Hardware components

Arduino UNO & Genuino UNO
Arduino UNO & Genuino UNO
×1
MXP5500 Pressure sensor
×1
Signal Relay, 5 VDC
Signal Relay, 5 VDC
×1
Automotive Relay, 12 VDC
Automotive Relay, 12 VDC
×1
Linear Regulator (7805)
Linear Regulator (7805)
×1
1N4007 – High Voltage, High Current Rated Diode
1N4007 – High Voltage, High Current Rated Diode
×5
LED (generic)
LED (generic)
×1
General Purpose Transistor NPN
General Purpose Transistor NPN
×1
Multi-Turn Precision Potentiometer- 10k ohms (25 Turn)
Multi-Turn Precision Potentiometer- 10k ohms (25 Turn)
×1
Resistor 221 ohm
Resistor 221 ohm
×2
Resistor 1k ohm
Resistor 1k ohm
×1
12V Pump (25KPa minimum)
×1

Story

Read more

Schematics

WoundVaRduino

Schematic

vacduino_Cdgq5u7AFx.jpg

Please forgive the sloppiness. I'm a PT not an engineer.

PCB_VARduino

Collection Canister

This is the collection canister. It can be easily emptied and reused by a patient at home. One tube goes to the sensor, one to the pump, and the last tube connects to the patient's wound dressing

WoundVARduino

The complete system housed in a project box.

Code

WoundVARduino

Arduino
1. You may need to adjust the offset by writing a serial print function with your board attached to the computer.
2. You may need to attach a column of water to the system to measure and adjust the pressure conversion formula. Depending on your sensor you may need to change the 7.50062 number.
int rawValue; // A/D readings
int offset =  40; // zero pressure adjust
int fullScale = 930; // max pressure (span) adjust
float pressure; // final pressure

void setup() {
  pinMode(9, OUTPUT);
  
}

void loop() {
  rawValue = analogRead(A0);
  pressure = ((rawValue - offset) * 500.0 / (fullScale - offset))*7.50062; // pressure conversion
  delay(500); // delays readings

 

if (rawValue < 50)    // if the pressure is less than 88mmHg turn motor on for 3 sec
 { 
  digitalWrite(9, HIGH);
  delay(3000);
  digitalWrite(9, LOW);
 }



else if (rawValue < 75)      // if the pressure reading is less than 150 mmHg turn motor on for 1 sec
{
  digitalWrite(9, HIGH);
  delay(1000);
  digitalWrite(9, LOW);
  delay(5000);
}
}

Credits

jpaulmrphy

jpaulmrphy

0 projects • 4 followers

Comments