Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Using Ez_B To Throw A Switch

Hi Hardware,
I'm going to get my roboquad working by triggering the switches on the remote, and having the IR LED in the remote taped directly to the robot's IR sensor. I need the ez-b to emulate pressing of switches on the remote.

I've checked the voltage across each switch and it's tiny, only 0.06V. I don't know how much current goes through because I don't know how to measure this.

Is it possible to get the ez-b just to send a small voltage to each switch? Or do I need to do something more complicated, with a transistor or something? There are about 14 useful switches, so the circuit for each switch can't be too complicated.

p.s. my roboquad is not the kind described in the 'how to', which is why I'm not doing it the easy way.


Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

I have done something similiar
sending a specific voltage to activate each command probably won't work.
you will need to activate a small switch for each command, you will also find many of the remote buttons have a common connection
Thanks Pat.

Yes, all the switches on the remote's board have one common connection.

What's the best kind of switch for me to use in their place? I've ordered some relays, which could be driven by the 5v? digital ports on the ez-b, but stacking a dozen of them on the remote's board seems ugly. Can it be done with a transistor?

The other way that people mention in my reading is to use opto-isolators. Using light seems less ugly to me that using a mechanical relay.
Check the remote to see what the voltage is for the buttons... I'm certain it's TTL logic, which means very low current.

You'll also need to check if it triggers by GND or +5.

Once you know the answer to that... Technically because it's TTL, you won't need to use a switch at all. Simply connect the EZ-B digital port directly to the side of the switch that the remote's microcontroller references. Use the EZ-Script Set() command to turn the EZ-B digital port ON or OFF, respectively.

Remember, the EZ-B and the Remote will need a common GND in order for this to work. Simply connect one of the EZ-B GND pins (or power GND) to a batter GND of the remote.
Great DJ, I'll give this a try soon. Voltage across the switch was 0.06V. I have 3 remotes, so it doesn't matter if I blow up one or two.
Before I do blow them up, is there an ETA on the testing of the alternative Roboquad designs i.e. so they can be driven directly by the EZ-b, like the original Roboquad? This would be a lot simpler ...

Got my two Robosapiens running fully in a python script now. The kids are going to write scripts to have them fight each other. Good way to get them programming.
You won't be able to message voltage across the switch.

1) It will need to be between GND and each side of the switch to see if you find +5 or +3 or something.
2) Or it will need to be between +5 and each side of the switch to see if you find GND

It's sadly been sitting on a long list of hardware upgrades. The new firmware has some other dependencies before we can release it. I'm guessing beginning of May or near end of April

(Sorry for the labored description, but I'm not an electronics person)

I put the black wire from my volt meter on the black wire on the battery terminal. I put the red wire from my voltmeter to one side of the switch and it gave me -4.5V (it's driven by 3 AAA batteries, so this makes sense). This was the only combination that did anything.

Does this mean it triggers by ground?

I need to connect an EZ-b GND pin to the -ve terminal on the battery leads, correct?
I need to connect an EZ-b digital port to the side of the switch that gave me the -4.5 reading, correct?

I'm not sure how to drop the voltage to the right level (the switch readings varied between -4.5V and -4.0V), should I use a resistor or can the voltage be set in software, or doesn't it matter?

And I'm not sure what to do about it being minus 4.5 when you said plus, maybe I just made the measurement with the volt meter wires around the wrong way.

Thanks for your help.
update: I got something working by soldering the ez-b ground wire to the -ve battery terminal and putting ez-b +5 on one side of the switch.

however, it only sends out the command to circle anti-clockwise, on all the switches I tried. Voltage is too high, I'm guessing:)

2nd update: trying the same thing at 3.3v causes the roboquad to turn anti-clockwise:(