An open-source embedded application built for Arduino Uno that measures container fill levels and object distances using an HC-SR04 ultrasonic sensor. Designed with a non-blocking execution architecture, dynamic visual cues, customizable alert thresholds, and acoustic feedback.
-
Non-Blocking Architecture: Uses
millis()for sensor sampling, LED pulsing, and buzzer alerts without delaying the core execution loop. - Auto-Calibration: Calibrates empty-state dimensions automatically upon system startup.
-
Dynamic Visual Status: Features a Common Cathode RGB LED that transitions color (Blue
$\rightarrow$ Green$\rightarrow$ Red) and adjusts brightness based on fill percentage. - Adjustable Thresholds: Uses an analog potentiometer to map warning thresholds dynamically between 25% and 80%.
- Adaptive Audio-Visual Alerts: Triggers localized LED blinking and variable-frequency buzzer beeps as fill percentage reaches high-capacity zones.
Interactive 3D circuit simulation and schematic diagrams are available on Tinkercad:
- Tinkercad Project: Occupancy Monitoring System
- Microcontroller: Arduino Uno R3
- Distance Sensor: HC-SR04 Ultrasonic Sensor
- Visual Output: Common Cathode RGB LED, Single-Color LEDs (Measurement & Alert)
- Audio Output: Piezo Buzzer
- Control Input: 10k Potentiometer
- Passive Components: Resistors (220Ω / 330Ω)
.
├── docs/
│ ├── Occupancy Monitoring System.brd
│ └── Occupancy Monitoring System.png
└── src/
└── occupancy_monitoring_system/
└── occupancy_monitoring_system.ino