-1

We are attempting to race 3 IR-controlled Arduino robots (Elegoo IR kit), but the IR signal from each remote seems to be picked up by all three receivers. It is possible to create a unique bond between each IR remote and its receiver? Lego Mindstorms IR remote has channels to solve this problem. Anything I can do with Arduino?

  • With a regular IR (TV) remote, each button has a different code. What is stopping you from using different codes for the different robots? – Paul Nov 10 '19 at 11:32
  • For example, the directional keys of a remote for robot 1, the numerical keys for robot 2 and maybe a remote from a completely different manufacturer for robot 3. – Paul Nov 10 '19 at 11:33
1

IR remote signals are OOK-modulated with different base frequencies (the most common are 36 kHz, 38 kHz and 40 kHz). Elegoo seem to use 38 kHz transmitters/receivers, so if you manage to find 36/40 kHz devices, you'll get 3 channels with somewhat reduced interference.

0

Not familiar with Elegoo kit... Question is are they using 1 way or 2 way communication? If they use 1 way communication(which is most likely) there's not much you can do since multiple IR signals interfere with each other, and you would need the toys to send back acknowledge signals to the controller, to do error correction... In that case the most you can do is give them each a unique id, and make them ignore anything else then commands associated with their unique id.

If they do 2 way communication you can also make the controller only send a command when a button is pressed, and when it's released, instead of continuous transmission, while also making sure that the command is understood by the receiver. That minimizes interference for other controllers. And if the command was not understood then wait random milliseconds, and repeat it until the receiver understands it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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