Introduction: Make a Remote Control Ring

About: I believe that the purpose of life is to learn how to do our best and not give in to the weaker way.

Movement of a finger or a hand can control a robot, PC, TV, or other device. This button less remote control ring measures human movement to remotely operate devices.

For possible uses for the sick or impaired, see step 8.

The video below shows the ring being used to control a robot ant to pick up a block.

or go to youtube at: http://www.youtube.com/watch?v=tbazbiOjS9k





Step 1: Materials

Pic 2 shows the different circuit layers that make up the ring.
Total cost of parts is about $45 US not including shipping

Available from www.hvwtech.com/
08m SOIC Picaxe microcontroller

Available from www.pololu.com/
MMA7260QT 3-axis accelerometer
5 volt boost regulator

Available from www.mouser.com
2-infrared LEDs
3mm blue LED
CR1220 3volt lithium battery and holder
30 gauge magnet wire
resistors

Available from www.allelectronics.com/
solid line perfboard

1" key chain ring

Step 2: How It Works

The ring sends infrared remote control commands without using buttons. Instead, commands are sent by tilting the ring in various directions. A 3-axis accelerometer measures the tilt of a finger or hand and generates voltages for the x, y, and z axis. The Picaxe microcontroller uses its built in ADC (analog to digital converters) to measure the voltage and produces a distinct number for the x, y and z variables between 72-93.

The numbers are then used in the programming to send infrared signals by pulsing two infrared LEDs just as a standard TV remote control does.

To see how to build a Picaxe infrared receiver that can use these codes to control a robot see:
https://www.instructables.com/id/Building-Small-Robots-Making-One-Cubic-Inch-Micro/

For other remote control and Picaxe projects see here: http://www.inklesspress.com/picaxe_projects.htm

Step 3: Power Supply

Power is from a 3 volt lithium battery. Because the ADC in the Picaxe controller  requires a constant internal reference voltage to read consistently, a dc to dc converter is needed.

The Polulu 5 volt boost regulator is a dc to dc converter that is the smallest one I have seen which will supply a constant 5 volt output. It will work with any battery input between .8 volts to 4.5 volts. It can output up to 200 ma.


Step 4: Picaxe Microcontroller


I still find the Picaxe controllers to be the easiest and fastest microcontrollers to hook up and program. While they are slower than a standard Pic Micro or Arduino, they are more than fast enough for most experimental robots or microcontroller projects.

The 08m Picaxe used here has ADC in three of it inputs allowing it to easily read the varying voltage put out by the accelerometer. It also has built in, the infrared code for a Sony TV allowing it to control Certain sony TVs and any other Picaxe which has the built in Sony code interpreter.

This project uses a 08m SOIC sized Picaxe microcontroller. I have given up trying to solder SOIC and smaller ICs in the conventional way. Instead I use 30 gauge magnet wire which I solder to each pin using aluminum foil to separate a pin from its neighbors as it is being soldered. Loctite mounting putty is also handy to hold the magnet wire and component in place while soldering. See Pic 5b.

For more details on this technique for soldering surface mount components see: http://www.inklesspress.com/robot_surface_mount.htm

The four .1" header sockets are Picaxe pins: +5 volts, -5 volts and serial in and serial out and are used to program The Picaxe microcontroller. The jumper wire between the two infrared LEDs and ground is removed to disconnect them from the circuit when programming the Picaxe. Otherwise the voltage drop they create will not allow serial communication with the programming PC to take place.


Step 5: 3-Axis Accelerometer

The Polulu 3-axis accelerometer is a very small and very cool sensor. It is based on MEMS (micro electrical mechanical systems) technology. The small 1/4" black square IC actually contains microscopic mechanical plates and beams that have been carved out using conventional IC technology. As the IC is moved or tilted relative to gravity or acceleration, these microscopic plates physically move and vary their capacitance. This change in capacitance is then converted by built in circuits into a varying voltage.

It can detect very subtle tilting, tapping and shaking. At its most sensitive setting it can detect forces from 0 to 1.5 Gs (1G = force of earths gravity). The ring as used here is at its default setting which is less sensitive and detects G forces up to 6 Gs. For instance, when tilting along the x-axis through a full 180 degrees, it will vary the voltage to return a number from 93-102 in the Picaxe program which reads the ADC inputs.

Pic 6 shows the bottom of the accelerometer and how it is plugged in with .1" headers to the top circuit board. Even though it wasted space, I made it a modular plug in so that I could remove it and use it in a future robot project.


Step 6: Remote Control Ring Circuit

At about .73 cubic inches, this prototype is rather clunky.  Using denser surface mount techniques it could easily be reduced to about 1/3 of its present volume.

Keep in mind that if you want to build a ring similar to the size of this one, it involves high density wiring which requires a fair amount of patience and advanced soldering techniques.


Step 7: Picaxe Program Code

Below is the program code used for the infrared remote control ring. Three different voltages are measured for the x, y, and z axes by the ADC that is built into the inputs of the 08m Pickaxe controller. The numbers generated are then used to determine the tilt of a finger or hand.

As it is presently programmed it is the equivalent of a 7 button remote control. Programming for different tilts and combinations of tilts, the equivalent of 20 to 30 buttons could be created.

In this program I used the tilt of one finger to control the ant robot forward, left right and stop. This initial mode is used to line the robot up with the object to be lifted. When the finger is pointed up the program changes to pickup mode and then a downward tilt of the finger opens the gripper and pulses the robot forward. When the finger is pointed up again, the robot closes the gripper and lifts the object up. See video in intro.

This program does not detect and interpret in a meaningful way any taps, shaking, or fluid motion which could also be used as control motions.


'Picaxe 08m infrared remote control ring

loop1:
b7=0
readadc 4,b1
readadc 2,b3
readadc 1,b5
'debug b1
'pause 4
'goto loop1

if b1 < 82 then bt4  'left tilt p4 mid-83
if b1 > 85 then bt6  'right tilt

if b5 > 91 then bt5  'up mid-83
if b5 < 74 then bt6  'upside down


if b3 < 82 then bt2  'for tilt
if b3 > 86 then loop2  'back tilt-gripper control

goto loop1

bt1:
for b7 = 1 to 10
infraout 1,0
pause 45
next b7
goto loop1

bt2:
for b7 = 1 to 10
infraout 1,1
pause 45
next b7
goto loop1

bt3:
for b7 = 1 to 10
infraout 1,2
pause 45
next b7
goto loop1

bt4:
for b7 = 1 to 10
infraout 1,3
pause 45
next b7
goto loop1

bt5:
for b7 = 1 to 10
infraout 1,4
pause 45
next b7
goto loop1

bt6:
for b7 = 1 to 10
infraout 1,5
pause 45
next b7
goto loop1

bt8:
for b7 = 1 to 10
infraout 1,7
pause 45
next b7
goto loop1

loop2:    'gripper control
high 0
pause 1000
low 0

loop3:
b7=0
readadc 2,b3

'debug b3
'pause 4
'goto loop3

if b3 < 82 then act3  'for tilt
if b3 > 86 then act4  'back tilt
goto loop3

act3:   'open gripper and forward
for b7 = 1 to 10
infraout 1,6
pause 45
next b7
goto loop3

act4:   'close gripper and lift
for b7 = 1 to 10
infraout 1,8
pause 45
next b7
goto loop3


Step 8: Possible Uses for the Sick or Impaired

Signal a Nurse
A hospital patient wearing the ring could tap once to turn on a TV. tap twice to turn it off. Three taps could signal a nurse. Special sequences of movements could operate other devices such as a water dispenser or bed angle.

It could also be worn by a comatose or unconscious patient to detect movement and signal when they have regained consciousness. Or it could be worn on the wrist of a baby in ICU to determine unusual movement or the lack of normal movement.


Control a PC
Ring mouse-A sick or impaired person with the use of one finger or one hand could use the ring to control the cursor of a PC.


Control a Wheelchair
As a ring controller it could easily control a wheelchair by tilting, tapping, or shaking. Because it is so small it could also be embedded in a baseball cap or shoe to control devises by head or foot movement.


Control an Artificial Arm and Hand
A person with one good hand could use preset motions to activate pre-programmed sequences in the artificial arm (i.e. pick up a cup). Even better, the artificial arm and hand could follow the motions of the good hand to work with it in situations that require two hands.


Air Writing Typewriter
With a faster microcontroller it should be possible to detect writing motions of the finger in the air to store in memory, words and numbers or send them directly to a PC or printer.


Voice Speaker for Those Who Have Lost Their Voice
In conjunction with a pocket microcontrolled mp3 player, movement of the ring could be used to activate prerecorded words or messages


Humana Health by Design Contest

Runner Up in the
Humana Health by Design Contest