Skip to content

maryam305/Arduino_Gesture_DETECTION

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎯 HC-05 Gesture Controller Suite

A highly responsive, production-ready Python GUI Suite paired with a dual-ultrasonic Arduino controller that enables real-time gesture visualization and hardware analytics over Bluetooth (using the HC-05 module).

Designed for Human-Computer Interaction (HCI) testing, academic demonstrations, and gesture-driven control experiments, this suite comes complete with a high-fidelity hardware simulator so you can run, test, and present the interface without requiring any physical sensors connected!

HC-05 Gesture Controller Suite Interface


🌟 Core Features

  • Live Gesture Tracker: Visualizes incoming motions using expressive, dynamic emojis (👈 LEFT, 👆 CENTER, 👉 RIGHT, ✋ NONE).
  • Smooth Animation Engine: Employs slide-and-pop transitions on a hardware-accelerated canvas that brings the tracking representation to life.
  • Robust Auto-Baud Serial Handler: Scans COM ports dynamically and automatically cycles through standard baud rates (9600, 38400, 115200) to find your Bluetooth adapter.
  • Interactive Gesture Simulator: Added a dedicated Demo Mode panel (👈 LEFT, 👆 CENTER, 👉 RIGHT, ✋ NONE) to inject simulated signals. Perfect for presenting the UI when your Arduino is offline.
  • Analytics Dashboard: Tracks live event distribution, total occurrences, and telemetry history with a fast-reset function.
  • Terminal Console Logger: Built-in scrolling diagnostic terminal window showing timestamped raw incoming strings, connection logs, and injection events.
  • Ultra-Premium Design: Built with a dark space-inspired aesthetic, glow indicator states, modern typography, and a balanced grid system.

📦 Project Structure

├── app.py                 # Main Tkinter Python GUI Application (with Simulator Mode)
├── task1_arduino.ino      # Dual-Ultrasonic & Bluetooth HC-05 Arduino Sketch
├── ui.png                 # Beautiful high-contrast desktop interface screenshot
└── README.md              # Project documentation and publishing guide

🛠️ Getting Started

1. Python App Setup

  1. Create and Activate a Virtual Environment:

    python -m venv .venv
    .venv\Scripts\activate
  2. Install Dependencies:

    pip install pyserial
  3. Run the Application:

    python app.py

Note: If you do not have an Arduino connected, select 🔌 SIMULATOR MODE from the dropdown list, click Connect, and use the simulator buttons to test the animations and analytics!


🔌 Hardware Configuration (Arduino)

The Arduino sketch in task1_arduino.ino uses two ultrasonic distance sensors to calculate motion vectors (e.g. moving a hand from left to right triggers a RIGHT swipe).

Pin Wiring Schematic

Component Pin Type Arduino Pin Connects to HC-05 / Sensor
HC-05 Bluetooth TX Pin 2 (SoftwareSerial RX) TXD Pin
HC-05 Bluetooth RX Pin 3 (SoftwareSerial TX) RXD Pin
Left Sensor (L) Trigger Pin 4 Trig Pin
Left Sensor (L) Echo Pin 5 Echo Pin
Right Sensor (R) Trigger Pin 11 Trig Pin
Right Sensor (R) Echo Pin 13 Echo Pin
Status LED: RED Output Pin 8 Left gesture active
Status LED: WHITE Output Pin 9 Stationary/Center active
Status LED: GREEN Output Pin 10 Right gesture active

Raw Serial Protocol

The Arduino broadcasts simple ASCII strings over the Bluetooth module in either direct or structured packets:

  • LEFT or [BT: LEFT]
  • CENTER or [BT: CENTER]
  • RIGHT or [BT: RIGHT]
  • NONE or [BT: NONE]

📜 Publishing & Licensing

This project is optimized for public sharing, GitHub presentation, or portfolios. Feel free to modify the threshold settings inside task1_arduino.ino (currently 30cm) to suit your test environment!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors