Skip to content

This repository stores the code our capstone group developed in Senior High School in Lyceum of Subic Bay. This capstone project was developed and defended in the academic year 2024-2025.

Notifications You must be signed in to change notification settings

WDCT-Wren/SeraphIV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SeraphIV - IV Fluid Monitoring System

  • A capstone project developed and presented by Tulio, Diaz, Austria, Debatian, Bulanhagui, and Gacusan.
  • Presented to Mr. Brian Kenneth T. Fortin
  • Presented at Lyceum of Subic Bay INC.
  • Presented on A.Y. 2024-2025

SYSTEM OVERVIEW: This Arduino Mega-based system monitors intravenous (IV) fluid levels in real-time using a load cell and HX711 amplifier. It tracks remaining fluid percentage, sends SMS alerts at critical thresholds (30%, 15%, 5%), and provides visual feedback via LEDs. The system stores patient bed numbers and nurse contact information for quick recall.

HARDWARE COMPONENTS:

  • Arduino Mega microcontroller
  • 20x4 LCD display (I2C interface, address 0x27)
  • 5x4 matrix keypad for user input
  • HX711 load cell amplifier (pins 30, 31) for weight measurement
  • SIM900 GSM module (Serial1) for SMS functionality
  • Three status LEDs: GREEN_LED1 (pin 11), GREEN_LED2 (pin 12), RED_LED (pin 13)
  • SD card module via SPI for potential data logging
  • EEPROM for persistent storage of nurse contact numbers

KEY VARIABLES:

  • calibration_factor: Load cell calibration value (-104.5 for this setup)
  • startingWeight: Reference weight when IV bag is first locked (prevents recalibration)
  • percentage: Current IV fluid remaining as percentage of starting weight
  • weightLocked: Flag indicating whether starting weight is finalized
  • savedNumbers[]: Array storing up to 10 previously used nurse phone numbers
  • State flags: enteringPatient, selectingSaved, enteringNurse control application flow

OPERATIONAL FLOW:

  1. User enters patient bed number (numeric input)
  2. System prompts to load previously saved nurse number or enter new one
  3. User enters 10-digit nurse phone number (formatted as +63XXXXXXXXXX)
  4. System displays live weight readings and IV fluid percentage
  5. User locks starting weight by pressing '#' key
  6. System continuously monitors percentage and triggers SMS/LED alerts at thresholds:
  • 30%: GREEN_LED1 on, SMS notification sent
  • 15%: GREEN_LED2 on, urgent SMS alert sent
  • 5%: RED_LED blinking, critical SMS alert sent
  1. System persists nurse numbers to EEPROM for quick future access

SMS ALERT THRESHOLDS:

  • 30% remaining: Notification to prepare for replacement
  • 15% remaining: Alert to prepare for critical stage
  • 5% remaining: Critical alert for immediate IV bag replacement

KEYPAD BUTTON MAPPING:

  • 0-9: Numeric input
  • A/B: Navigate menus (up/down)
  • C: Reset all inputs and return to initial state
  • D: Confirm/proceed to next step
  • E: Cancel saved number selection, return to manual entry
  • F: Delete character or reset scale tare
  • L/R: Move cursor left/right during text input
  • #: Lock the starting weight during monitoring
  • *: Clear current input field

EEPROM STORAGE:

  • Stores up to 10 nurse phone numbers (13 bytes each)
  • Numbers are shifted when array is full; newest number always appended
  • Duplicates are removed before storage

TIMING INTERVALS:

  • Weight reading: 200ms (readingInterval)
  • LCD display update: 300ms (updateInterval)
  • LED blink period: 1000ms (blinkInterval)
  • SMS threshold: Sent once per monitoring session when threshold crossed

ERROR HANDLING:

  • Validates nurse number is exactly 10 digits
  • Prevents division by zero by checking startingWeight > 0
  • Handles negative weight readings (clamped to 0)
  • GSM module connectivity check with AT command
  • EEPROM initialization check for first-time setup

REQUIRED EXTERNAL LIBRARIES:

  • LiquidCrystal_I2C: LCD I2C communication
  • Keypad: Matrix keypad scanning
  • HX711: Load cell amplifier interface
  • SPI, SD, EEPROM, Wire: Arduino standard libraries

About

This repository stores the code our capstone group developed in Senior High School in Lyceum of Subic Bay. This capstone project was developed and defended in the academic year 2024-2025.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages