Cirkit Designer LogoCirkit DesignerYour all-in-one circuit design IDE Launch Cirkit Designer App

Arduino Nano and MPU6050 Hand Gesture Controlled Indicator Glove with Wi-Fi Connectivity

View and Edit Project In Cirkit DesignerImage of Arduino Nano and MPU6050 Hand Gesture Controlled Indicator Glove with Wi-Fi Connectivity

Circuit Documentation

Summary

This document provides a detailed overview of a hand gesture-controlled indicator glove circuit. The circuit uses an MPU6050 sensor to detect hand gestures and control an indicator LED. The ESP8266 WiFi module is used for wireless communication. The Arduino Nano serves as the main microcontroller, interfacing with the MPU6050 sensor and the ESP8266 WiFi module.

Component List

  1. Resistor (10k Ohms)

    • Pins: pin1, pin2
    • Description: Provides necessary resistance in the circuit.
  2. Arduino Nano

    • Pins: D1/TX, D0/RX, RESET, GND, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11/MOSI, D12/MISO, VIN, 5V, A7, A6, A5, A4, A3, A2, A1, A0, AREF, 3V3, D13/SCK
    • Description: Main microcontroller for the circuit.
  3. MPU-6050

    • Pins: VCC, GND, SCL, SDA, XDA, XCL, AD0, INT
    • Description: 6-axis motion tracking device.
  4. NRF24L01

    • Pins: IRQ (not used), MOSI, CSN, VCC (3V), GND, CE, SCK, MISO
    • Description: Wireless transceiver module.
  5. WiFi module ESP8266-01

    • Pins: RX, GPIO0, GPIO2, GND, +3V3, Reset, CH-PD Chip power down, TX
    • Description: WiFi module for wireless communication.
  6. Resistor (1k Ohms)

    • Pins: pin1, pin2
    • Description: Provides necessary resistance in the circuit.
  7. Resistor (2k Ohms)

    • Pins: pin1, pin2
    • Description: Provides necessary resistance in the circuit.
  8. 3.3V Battery

    • Pins: +, -
    • Description: Power source for the circuit.

Wiring Details

Resistor (10k Ohms)

Arduino Nano

MPU-6050

NRF24L01

WiFi module ESP8266-01

Resistor (1k Ohms)

Resistor (2k Ohms)

3.3V Battery

Code Documentation

/*
 * Hand Gesture Controlled Indicator Glove
 * This Arduino sketch uses an MPU6050 sensor to detect hand gestures and
 * control an indicator LED. The ESP8266 WiFi module is used for wireless
 * communication. The LED will blink based on left and right hand gestures.
 */

#include <Wire.h>
#include <MPU6050.h>
#include <ESP8266WiFi.h>

MPU6050 mpu;
const int ledPin = 13; // Onboard LED on Arduino Nano

void setup() {
  // Initialize serial communication
  Serial.begin(9600);
  // Initialize I2C communication
  Wire.begin();
  // Initialize MPU6050
  mpu.initialize();
  // Check MPU6050 connection
  if (!mpu.testConnection()) {
    Serial.println("MPU6050 connection failed");
    while (1);
  }
  // Initialize LED pin
  pinMode(ledPin, OUTPUT);
  // Initialize WiFi module
  WiFi.begin("SSID", "PASSWORD");
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
}

void loop() {
  // Read accelerometer and gyroscope data
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  // Determine hand gesture
  if (ax > 10000) {
    // Right hand gesture detected
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
  } else if (ax < -10000) {
    // Left hand gesture detected
    digitalWrite(ledPin, HIGH);
    delay(500);
    digitalWrite(ledPin, LOW);
  }
  delay(100); // Small delay to avoid rapid blinking
}

This code initializes the MPU6050 sensor and the ESP8266 WiFi module. It reads accelerometer and gyroscope data to detect hand gestures and controls an indicator LED based on the detected gestures. The LED blinks when a left or right hand gesture is detected.