打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
DIY无触摸的3D跟踪系统(Video + Pics + Text)
userphoto

2012.08.15

关注
该设备的原理是:利用人手与金属锡箔板之间形成的电容器随着距离的改变所造成的充电时间的不同并根据这一点利用软件计算人手与锡箔板之间的距离,进而实现三维定位。
In this project, we'll take a very simple idea -- the length of time it takes a capacitor to charge -- and make something rather amazing with it: a 3D interface that can track the position of your hand. The original implementation of this project comes from media artist Kyle McDonald.
Sections
Making the sensor cube.
Prepare the wires.
Adding the resistors.
Connecting the Arduino.
Using the software.
Possible improvements.
Tools
Soldering iron
Spray mount or a glue stick
Wire cutter/stripper
Relevant parts
pieces of cardboard (3)
10KΩ resistors (3) from RadioShack.
220KΩ resistors (3) from RadioShack.
Alligator clips (3) from RadioShack.
Arduino from RadioShack.
Shielded cable, cut off the ends, cut into (3) 2' lengths from RadioShack.
Aluminum foil
Masking tape
Computer with Processing and Arduino software installed
View:
Paginated
Full width
Formats:
Slideshow
PDF
XML
Embed
EditStep 1 — Making the sensor cube. 
For this project we'll need some cardboard squares (mine are approximately 12" square, but anything from about 8-12" is fine), alligator clips, an Arduino, shielded wire, aluminum foil, spray glue, and some wide tape. (3) 10KΩ and (3) 220KΩ resistors are also required (not shown).
Additionally, we'll need a soldering iron to connect the resistors to the cable.
Spray the glue onto the cardboard and smooth the foil onto one side. Work slowly and try to leave a small gap around the edge of the foil. It is important that the foil plates do not touch each other when we tape the three sides together. In a pinch you can use a glue stick.
I cut a small notch in the inside edge of the rightmost plate to make it easier to connect the alligator clips later on (see second photo).
Using tape, assemble the plates to form one half of a cube (see the third photo).
EditStep 2 — Prepare the wires.
Next we need to prepare the wiring. I bought a 6' shielded audio cable for this. It is important to use shielded wire so that the cable itself doesn't act as an antenna and skew the sensor readings.
Cut the wire into 3 pieces of equal length (2' or so) and strip off the outer and inner insulation (second photo).
On one end, trim off the shielding wire and connect just the inner signal wire to an alligator clip (third photo).
EditStep 3 — Adding the resistors. 
On the other non-alligator end of the cables, twist together the 3 shield wires and solder them. The shield will be connected to the 5V pin on the Arduino. This will minimize the antenna effect of the cable on the circuit.
Referring to the schematic, connect the resistors to the three inner wires of the cables as shown and connect this to the ends of the three wires. The 220KΩ resistors all connect between the inner wire of the cable and 5V. The 10KΩ resistors will each be connected between the end of the cable and a pin on the Arduino. The circled area indicates that this wire should be shielded, with the shield connected to +5V.
Use a small piece of jumper wire to make the connection between the shield wires and the 5V output pin on the Arduino, as shown in the third photo.
In the picture, I have used some blue heat shrink tubing to hold the three wires together. You could also just tape the wires together.
EditStep 4 — Connecting the Arduino. 
Connect each of the 10KΩ resistors to pins 8,9, and 10 respectively. Connect the red wire to the +5V pin on the Arduino.
Attach each of the alligator clips to a foil plate. The clips should be attached in the following order: pin 8=left plate (x), pin 9=bottom plate (y), pin 10=right plate (z). Make sure that each clip is making good electrical contact with the foil and is only touching one plate.
When troubleshooting, check the connection between the plate and the pin with a multimeter to make sure the alligator clip is making a good electrical contact.
EditStep 5 — Using the software.
Download the Arduino sketch and Processing sketchfrom GitHub. If you haven't previously installed Processing, get it here.
From the Arduino IDE, upload the sketch to the Arduino. Keep the USB cable connected to the Arduino, then install and load the Processing sketch.
It is important that your computer is plugged into the wall for this to work properly. If the circuit isn't connected to earth ground (at least indirectly though your computer) you may find that your computer itself will affect the circuit.
The next thing to be done is calibrate the software. With the Processing sketch running, hold down the left mouse button. Then move your hand from the far outer diagonal corner (i.e., the invisible corner of the cube closest to you) to the inner corner. Don't touch the foil, just move your hand through the space defined by the cube. Now release the mouse button. The path your hand traveled gives the software a chance to detect the range of motion your hand will make inside the cube.
Now move your hand around inside of the cube. There should be a sphere on the screen through which you can control and move to touch all 27 cubes inside the computer model. Pressing tab will change the color of the cubes.
This is the simplest form of capacitive sensing available. In the final section, we'll look at some alternative solutions and options to improve the system.
EditStep 6 — Possible improvements. 
Increasing the resistor values - the 220KΩ resistors form part of the RC network and it's worth experimenting with different values. Typical values are 200KΩ to 500KΩ. The responsiveness of the system will be affected by these values. You can also tweak the values in the "Normalize" tab of the Processing sketch to calibrate your particular configuration.
A more solid connection with ground. Since the Arduino is connected to the computer, and the computer is connected to the wall socket ground, this is generally good enough to provide a consistent reference to ground. If you have a house ground connection available you might want to connect this to the Arduino ground pin and see if that improves the response.
If you decide to connect anything to the house wiring, be very sure that it really is a ground. A good earth ground would be a water pipe.
The CapSense library is an excellent capactive sensing library for Arduino. The page includes some good information on configuring capacitive sensing circuits.
Terry Fritz (a well regarded Tesla Coil experimenter) put together a neat "vision" system for robotics calledThereminVision. It uses tuned oscillators and heterodyning to implement a theremin circuit. Definitely worth a look.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
How to Read a Schematic
Internet - MSN Encarta
Optical Mouse Odometer for (Arduino) Robot
General Network Engineer Interview Questions ...
比尔盖茨1995年一篇微软战略内部报告,对未来趋势作出精准预测!【英文全文】
The Circuit Detective - Wiring Basics
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服