https://github.com/jeon-jinhyeok/embeded-driver-drowsiness
Embeded System Project - Driver Drowsiness Detection
https://github.com/jeon-jinhyeok/embeded-driver-drowsiness
driver-drowsiness-detection embeded esp-32 stm32
Last synced: 11 days ago
JSON representation
Embeded System Project - Driver Drowsiness Detection
- Host: GitHub
- URL: https://github.com/jeon-jinhyeok/embeded-driver-drowsiness
- Owner: Jeon-Jinhyeok
- Created: 2024-12-04T11:41:05.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-02-14T14:05:25.000Z (3 months ago)
- Last Synced: 2025-05-07T21:48:42.796Z (12 days ago)
- Topics: driver-drowsiness-detection, embeded, esp-32, stm32
- Language: C
- Homepage:
- Size: 31.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# π Driver Drowsiness Detection Embeded System






## π Table of Contents
1. [Project Overview](#-project-overview)
2. [Technologies & Hardware](#-technologies--hardware)
3. [System Configuration](#-system-configuration)
4. [Expected Benefits](#-expected-benefits)
5. [License](#-license)## π Project Overview
The Driver Drowsiness Detection System is an embedded system designed to analyze the driverβs face in real-time and determine drowsiness.
By implementing this system, we aim to prevent accidents caused by drowsy driving and create a safer driving environment.## Features
## π Technologies & Hardware
- **Embedded Board**: STM32F10x
- **Camera Module**: ESP32-CAM
- **Communication Methods**:
- ESP32-CAM β STM32F Board: USART1
- STM32F Board β Bluetooth Module: USART2
- Bluetooth Module β Android: Bluetooth Communication
- **Timer Usage**:
- TIM2: PIR sensor input processing
- TIM3: Vibration motor control (PWM output)
- **Drowsiness Detection Model**:
- Dataset: NTHU Drowsy Driver Detection Dataset
- Model Architecture: CNN
- Framework: TensorFlow Lite (converted to TFLite for embedded implementation)
## β System Configuration
1. **ESP32-CAM**: Captures the driverβs face in real-time and processes the image using the TFLite model.
2. **STM32F Board**:
- Manages communication between ESP32-CAM, Bluetooth module, and Android Smartphone.
- Handles PIR sensor input for detecting driver presence.
- Controls the vibration motor using PWM output based on received drowsiness alerts.
- //μΆκ°..
3. **Bluetooth Module**:
- Connects to a smartphone app to display alerts and warnings.
- Can be integrated with external alert devices (e.g., speakers, vibration motors).
4. **Android Smartphone**:
- Receives Bluetooth alerts from STM32F Board.
- **Automatically plays music** when a drowsiness alert is received.
5. **Vibration Motor**: Provides a physical alert when drowsiness is detected.
6. **PIR Sensor**: Detects the presence of the driver.
7. **Light Sensor**: Adjusts drowsiness detection sensitivity dynamically under varying lighting conditions.## π Expected Benefits
- **Enhanced Driver Safety**: Prevents accidents caused by drowsy driving.
- **Integrated Alert System**: Utilizes visual, auditory, and haptic feedback for effective warnings.
- **Automatic Music Playback**: Helps keep the driver awake by playing music upon drowsiness detection.
- **Optimized Embedded System**: Uses a lightweight model for real-time analysis.## π Future Improvements
- Enhance accuracy by training the model with additional datasets.
- Improve smartphone app with additional UI features.
- Incorporate vehicle interior environment data (temperature, lighting, etc.).## π License
MIT License