Close
0%
0%

Optical Glove Controller using LDR

Use an inexpensive Light Dependent Resistor to control servos with a glove interface.

Public Chat
Similar projects worth following
A student at the high school where I teach has designed a hand sculpture with movable fingers. I was asked to design a way to control and move the fingers for the sculpture.

It occured to me that a glove-based controller would be a great way to move the fingers. Move your index finger and it moves the hand's index finger.

Flex sensors can be expensive. By comparison, a light-dependent-resistor and an LED mounted in a short length of flexible tubing work very well and cost pennies.

The sensor consists of a short length of flexible 1/4" fridge water supply tubing. An LDR is hot-glued into one end and and an LED is inserted in the other end. The tube is covered by a black heat-shrink tubing sleeve to keep ambient light out of the tube.

As the tube is flexed, the amount of light from the LED varies as it hits the LDR and the difference in voltage is read by an analog pin on the Arduino. The voltage is then scaled to drive a servo. Voila!

Youtube demo is here:

FlexSensor.ino

Arduino sketch for controlling servo with one servo. Add to sketch for multiple sensors and servos.

ino - 828.00 bytes - 01/14/2023 at 02:36

Download

BaseJoint.stl

Insert flex tube into both pieces and align on back of finger before gluing. Clamp and Glue to the glove with foaming glue like Gorilla Glue. Fill finger with piece of pipe to support the piece while curing.

Standard Tesselated Geometry - 52.52 kB - 01/14/2023 at 02:31

Download

2ndJointRing.stl

Insert flex tube into both pieces and align on back of finger before gluing. Clamp and Glue to the glove with foaming glue like Gorilla Glue. Fill finger with piece of pipe to support the piece while curing.

Standard Tesselated Geometry - 55.36 kB - 01/14/2023 at 02:31

Download

  • 1 × SG-90 servo - one per finger
  • 1 × Light Dependent Resistor - one per finger
  • 1 × LED - one per finger
  • 1 × 200R resistor - one per finger To limit brightness of LED - adjust to suit
  • 1 × 1K Ohm resistor - one per finger

View all 9 components

  • 1
    Building the Sensor, Glove and Circuit

    Look at the files and video for indications of how to build the sensor.

    LED at base end, LDR at the tip end. Wire the LDR like a common Light Dependent Resistor circuit on an Arduino with 1K Ohm resistor grounding the LDR with signal wire going to Analog Pin 4 and other side of LDR going to VCC.

    After the sensor is built, it is encased in heat-shrink tubing to eliminate ambient light.

    See Arduino sketch for further details of the circuit.

    Print the sensor supports. The ring-style support goes at the end of the finger and is slightly larger in diameter to allow the tube to slide in the support as the finger flexes.

    For gluing, it may be useful to fill the finger with something like a dowel to give some rigidity to the finger to press the support against as the glue is setting 

    Foaming glue like Gorilla brand was used because it expands as it cures, making a secure bond to the fabric of the glove.

    Wires of sufficient length were soldered to the ends of the LED and the ends of the LDR to lead back to the Arduino.

View all instructions

Enjoy this project?

Share

Discussions

Gord Payne wrote 01/20/2023 at 17:58 point

Thanks for your kind comments Ian. I was approached by the student's teacher to see about automating the hand sculpture the student had designed. I'm a fan of the underappreciated LDR and always promote its usefullness to students in my CompScii classes.

  Are you sure? yes | no

Ian Buckley wrote 01/18/2023 at 11:53 point

This is incredible! Such a nice way of approaching it. Was this something you came up with to help your student, or was it an invention of theirs? If it was, keep an eye on that one! If not, congratulations on a really nice idea!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates