6
\$\begingroup\$

I'm very new to electronics. I'm working on my school science project and am having difficulties to turn theory into praxis. For my science project, I'm aiming to construct a device that will enable blind people to appreciate the distance of an object ahead of them through the use of ultrasound and a touch signal.

Theory (simple): Ultrasound (input) => Mindstorms NXT (process) => Shock (output)

In more detail: The ultrasound sensor gathers the distance of the object in front of it. The data of the ultrasound is fed into the NXT. Based on the distance of the object, the NXT outputs a shock; the closer the object, the higher the shock, the further away the object, the lower the shock (the shock is not high, thus not uncomfortable).

The NXT runs on 9 AA batteries (9 volts). I can specify how much power a specific output port can deliver eg. setOutput(power in %) (so I'm guessing it's regulating the amount of current that is flowing out).

Here's the difficult part (for me). I've bought one of these prank shock toys from the local prank store. I'd like to connect it the NXT output port. The prank shocker runs on 4 button cell batteries that deliver 6 volts.

I've figured output 10 % of the output on the NXT output port (setOutput(10)) is close to identical to the current being delivered by the 4 button cell batteries.

I've connected the shocker to the NXT, when I run my program and touch the shocker I don't get any shock. The only thing that seems to happen is that the shocker makes a silent little sound.

Could someone please share their thoughts on what I'm doing wrong, and the best way to implements what I'm trying to do? Help is hugely appreciated. I can share more details if needed.

Update:

Due to the difficulties to implement the shocker into my science project, I've scrapped the idea of using it as communication to the blind user. (I know it's not right to "give up", yet thanks to feedback I see it's not the optimal decision and I don't wont to harm my precious NXT).

I'll be using my Android's vibrating motor and hook up my phone to the NXT via bluetooth. Apparently there is no way to control the intensity of the vibration (Not sure why, (like Russel says), one could vary the voltage or PWM).

\$\endgroup\$
11
  • \$\begingroup\$ What you are actually getting from the NXT is not exactly a regulated amount of current. It is PWM. This link explains it well. But I'm sure someone will explain in a way that is more suitable for a beginner. Also, it would be great if you could tell us how did you figure that 10% of the output on the NXT output port is close to identical to the current being delivered by 4 button cell batteries? \$\endgroup\$ Commented Jul 13, 2012 at 20:18
  • \$\begingroup\$ I created a small program, where I up the power by 1% until the reading on the Multitester was close to the readings gathered by the 4 button cells. So if the current didn't change, then how come do the readings change? Have I broken my shocker (I bought another one just in case this would happen)? Must I add some resistor? \$\endgroup\$ Commented Jul 13, 2012 at 20:27
  • 3
    \$\begingroup\$ The little sound probably comes from some sort of step-up converter that is trying to step the voltage up to levels which would be detectable by the touch sense. I think that the PWM output which you're giving it isn't suited well to what it needs. Your multimeter is a very slow device compared to the speed modern electronics work at and it can't sense fast changes in current or voltage, so while the average current your setup is providing may be the same, instantaneous current probably isn't, so I suspect that the shocker doesn't have enough current to start. \$\endgroup\$
    – AndrejaKo
    Commented Jul 13, 2012 at 20:35
  • \$\begingroup\$ It seems like I am wrong about the PWM and NXT has digital-to-analog converters. However, these cannot supply enough power(enough current, since it can supply the voltage) to the load, in this case your shocker. \$\endgroup\$ Commented Jul 13, 2012 at 20:35
  • \$\begingroup\$ So there is to little current? (would changing the power affect anything?). \$\endgroup\$ Commented Jul 13, 2012 at 20:43

3 Answers 3

3
\$\begingroup\$

The "buzz word" (pun noted :-) ) is "Haptics" - tactile sensory feedback.

Shock relies on skin resistance which can vary with skin condition, atmospehrics and sweat. It also relies on the degree of user sensation, which can vary widely. It also tends to have positive feedback when conduction starts due to sweat generation and user reaction/grip/contact resistance changes. .

You would probably get a better and more easily achieved result by using a vibrating motor which is specifically designed to provide haptic feedback - these are small motors with an offset centre-of-gravity bob weight that produces a "buzzing" sensation when the motor runs. Vibration level can be varied from insistently frenetic to the barest of tactical murmurs. These are used in eg cellphones for the vibrate function. They are available in many scrapped cellphones and can be bought new from Digikey and no doubt various other suppliers.

The motor uses relatively little power, can be speed controlled by varying voltage (or PWMing DC) and are made for exactly the sort of thing you are attempting.

These are available new from Digikey but there are many other sources.

enter image description here

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Women who gave birth, have higher pain threshold, according to a Myth Busters experiment. Count that into the things that shock relies on. :) \$\endgroup\$ Commented Jul 14, 2012 at 6:54
3
\$\begingroup\$

It looks like your NXT uses PWM on it's outputs:

NXT Outputs

This means the output won't be a DC voltage, rather turning fully on/off rapidly. Whilst this can be used to control many things (motors, LEDs, etc) I doubt it will work for your shocker. It's probably the shocker has it's own internal oscillator as part of a boost converting arrangement produce pulses of high voltage. It may be possible to use the PWM directly as an input for the boost converter, although I'm not sure how satisfactory this would be touch sense wise.

In fact I doubt even a controllable DC voltage would work properly to adjust the output level of the shocker since it's very likely (depending on the shocker circuit) the in/out function is non linear, i.e. a steadily increasing voltage in may produce nothing at the output till 80% then it turns full on.

If you are determined to go the shock route, then it would help for you to examine the shocker circuit and post a picture/schematic so detailed advice can be given about how to adapt it.

I agree with Russell however, that a better solution would be a dedicated buzzer (cheap/commonly available) to provide your haptic feedback. This would be ideally suited to your PWM outputs and could be connected directly.

\$\endgroup\$
2
\$\begingroup\$
  1. It appears your 9 AA batteries should be betting 9 x 1.5V or at least 15V and not 9V. If these are alkaline, this indicates the batteries are discharged and will not handle any significant load.

  2. I am also concerned you have inadequate protection from shock feedback to the NXT driver and may have caused damage from electro-over-stress (EOS) transients. You may need a common mode choke and a TVS diode. Can you share a schematic?

  3. As far as User Experience (UX) interfacing for tactile feel on artificial vision for blind assistance, I think the shock idea can be improved, unless the idea was to alert the user of danger. Even then, it would be uncomfortable. I would suggest you explore what has been already done in 2D imaging with tactile stimulus sensors and stereoscopic audio sound generators or even dot matrix grid stimuli. YOu might as the UX stackexchange for feedback or even the blind institute.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.