0% found this document useful (0 votes)
15 views4 pages

Hand Gesture Recognition Project

The document outlines the creation of a hand gesture recognition system using an Arduino Nano, flex sensors, and an MPU-6050 accelerometer, with data displayed on an LCD and optionally sent via Bluetooth. It details the required components, circuit connections, and provides sample Arduino code for implementation. The system aims to read finger bending and hand orientation for gesture recognition.

Uploaded by

kodalt658
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views4 pages

Hand Gesture Recognition Project

The document outlines the creation of a hand gesture recognition system using an Arduino Nano, flex sensors, and an MPU-6050 accelerometer, with data displayed on an LCD and optionally sent via Bluetooth. It details the required components, circuit connections, and provides sample Arduino code for implementation. The system aims to read finger bending and hand orientation for gesture recognition.

Uploaded by

kodalt658
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Hand Gesture Recognition System using

Arduino Nano
I. Objective
Build a system that reads the bending of fingers using flex sensors and hand orientation
using an accelerometer (MPU-6050). The data is displayed on an LCD and optionally sent
via Bluetooth (HC-05) to a phone or another microcontroller.

II. Required Components


Component Quantity

Arduino Nano 1

Flex Sensors (2.2" or 4.5") 4

MPU-6050 (GY-501 / GY-521) 1

LCD 16x2 (I2C or standard) 1

LCD Keypad Shield (Optional) 1

HC-05 Bluetooth Module 1

10kΩ resistors 4

Breadboard 1

Jumper wires Many

USB Cable for Arduino Nano 1

III. Circuit Connections

1. Flex Sensor Wiring (Voltage Divider Setup)


Each flex sensor changes resistance when bent. We use a voltage divider with a 10kΩ
resistor.

For each sensor:


- One end to +5V
- Other end to analog pin (A0–A3)
- Join a 10kΩ resistor between that analog pin and GND
Flex Sensor to Arduino Mapping:

Flex Sensor Arduino Nano Pin Notes

Thumb A0 Analog input

Index A1 Analog input

Middle A2 Analog input

Ring A3 Analog input

2. MPU-6050 Wiring
MPU-6050 Pin Arduino Nano Pin

VCC 5V

GND GND

SDA A4

SCL A5

3. LCD 16x2 Wiring


Standard LCD with 6 pins using LiquidCrystal library. Use a 10k potentiometer for contrast.

4. HC-05 Bluetooth Module


Connect HC-05:
- VCC to 5V
- GND to GND
- TXD to D0 (RX)
- RXD to D1 (TX)
*Use voltage divider for TX from Arduino to RX of HC-05 (3.3V logic)*

IV. Arduino Code


Sample Arduino code to read flex sensors and MPU-6050, and display on LCD:

#include <Wire.h>
#include <LiquidCrystal.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);


Adafruit_MPU6050 mpu;
int flexPins[] = {A0, A1, A2, A3};
int flexValues[4];

void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
lcd.print("Initializing...");

if (!mpu.begin()) {
lcd.clear();
lcd.print("MPU failed!");
while (1);
}

lcd.clear();
lcd.print("Ready");
delay(1000);
}

void loop() {
for (int i = 0; i < 4; i++) {
flexValues[i] = analogRead(flexPins[i]);
}

sensors_event_t a, g, temp;
mpu.getEvent(&a, &g, &temp);

lcd.clear();
lcd.setCursor(0, 0);
lcd.print("F1:");
lcd.print(flexValues[0]);
lcd.print(" F2:");
lcd.print(flexValues[1]);

lcd.setCursor(0, 1);
lcd.print("F3:");
lcd.print(flexValues[2]);
lcd.print(" F4:");
lcd.print(flexValues[3]);

Serial.print("Ax: "); Serial.print(a.acceleration.x);


Serial.print(" Ay: "); Serial.print(a.acceleration.y);
Serial.print(" Az: "); Serial.println(a.acceleration.z);

delay(500);
}

You might also like