This project involves the development of a hemodialysis machine using Arduino microcontroller. The machine consists of two main circuits: the dialysate circuit and the blood circuit. Each circuit is designed to monitor and control specific aspects of the dialysis process to ensure patient safety and treatment efficacy.
-
Dialysate Circuit:
- Temperature Control: DS18B20 Waterproof Temperature Sensor monitors dialysate temperature. Heating pad activates via relay if temperature falls below a set threshold.
- Leak Detection: Laser and LDR sensor detect blood leakage; activates alarm and stops pump upon detection.
-
Blood Circuit:
- Flow Monitoring: YFS401 Water Flow Sensor continuously monitors blood flow rate.
- Air Bubble Detection: Laser and LDR sensor detect air bubbles in the blood line; servo-controlled clamp closes upon detection.
-
Safety Features:
- Alarm System: Buzzer and LED indicators for temperature alarms and circuit anomalies.
- DS18B20 Waterproof Temperature Sensor
- Laser Modules
- LDR Sensors
- DC Pumps
- 5V Relays
- Servo Motors
- Water Flow Rate Sensor YFS401
- Arduino Uno 2 units
- Breadboard
- Jumper Wires
- 5V Buzzers
- Red and Yellow LEDs
- 5V, 5W Heating Pad
- 220 and 10k ohm Resistors
- Tubes
- Containers/Bottles Note: In a real-world application, the bottle used in this prototype should be replaced with a proper medical-grade dialyzer to ensure optimal performance and safety, but due to budget constraints we couldn't afford buying one.
-
Temperature Sensor (DS18B20):
- VCC to 5V
- GND to GND
- DATA to Digital Pin 2
-
Heating Pad (5V, 5W):
- Connected via relay controlled by Digital Pin 8
-
LDR Sensor for Blood Leakage:
- Anode to 5V
- Cathode to Analog Pin A0
- Cathode also connected to one end of a 10k ohm resistor
- Other end of the 10k ohm resistor to GND
-
Relays:
-
Relay 1 (Dialysate Pump):
- IN to Digital Pin 9
- VCC to 5V
- GND to GND
-
Relay 2 (Heating Pad):
- IN to Digital Pin 8
- VCC to 5V
- GND to GND
-
-
LED indicators:
- Red LED (for Blood Leakage):
- Anode to Digital Pin 4 through a 220 ohm resistor
- Cathode to GND
- Yellow LED (for Temperature Below Limit):
- Anode to Digital Pin 5 through a 220 ohm resistor
- Cathode to GND
- Red LED (for Blood Leakage):
-
Flow Rate Sensor (YFS401):
- VCC to 5V
- GND to GND
- Signal to Digital Pin 2
-
Air Bubble Detection (Laser and LDR):
- Laser module:
- VCC to 5V
- GND to GND
- Signal to Digital Pin 4
- LDR:
- Anode to 5V
- Cathode to Analog Pin A0
- Cathode also connected to one end of a 10k ohm resistor
- Other end of the 10k ohm resistor to GND
- Laser module:
-
Servo Motor (for Clamp):
- Signal to Digital Pin 9
-
Buzzer:
- VCC to Digital Pin 4
- GND to GND
-
Relay(Blood Pump):
- IN to Digital Pin 3
- VCC to 5V
- GND to GND
-
Arduino Power:
- Arduino Uno powered via USB or external 5V power supply.
-
Breadboard and Jumper Wires:
- Use for making connections between components and Arduino boards.
- Connect all components as per the wiring diagram provided.
- Upload the respective Arduino code (
dialysate_circuit.ino
andblood_circuit.ino
) to their respective Arduino boards using the Arduino IDE. - Power on the Hemodialysis Machine and monitor the system for proper operation.
- Issue: Air bubbles detected in the blood circuit or blood detected in the dialysate circuit.
- Solution: Adjust the LDR threshold value according to your operating environment by observing the normal LDR readings with no air bubbles and in the presence of an air bubble, as the reading is affected by background lighting. Ensure proper alignment of the air bubble detection system (Laser and LDR) , and do the same for the dialysate circuit.