Power Functions Remote Control Sensor for NXT

If you have some of the Power Functions remote control stuff, here is a way to get the remote control receiver to serve as a sensor for the NXT, so that you can wirelessly control your NXT robots, using only LEGO parts and NXT-G. The example shows the NXT responding to the up/down/center position of both the red and blue controls on the remote control by drawing graphic arrows on the screen to indicate which way the controls on the remote are being pushed.

This solution is a kludge. It requires several expensive and heavy LEGO electrical parts, and also requires the Education version of the NXT-G software or the Legacy Block Library add-on, but it's all snap-together with LEGOs with no external hardware or software, so if you happen to have the parts already, then it's easy to get it to work.

I am showing this mainly to call attention to a question: There are apparently 3rd party IR Link sensors available for the NXT now (and a couple of nice home-brew ones have been demonstrated), but does anyone want to offer an opinion about whether there is a solution out there that is friendly enough for kids to use with only NXT-G? Note that I am not talking about controlling PF motors from the NXT, or just powering the NXT motors directly from the PF stuff(which can be done with LEGO's adapter wires), but rather giving wireless PF remote control input to your NXT-G program in an easy and reliable way.


Brian Davis said…
This is a nice solution, although there are a few points to mention. First, you don't need the Educational version of NXT-G: the retail version can import new NXT-G blocks, and the "legacy" blocks have been available on the MINDSTORMS support page, so that's not a limit. Using the old rotation sensors is a bit tougher to work around, but not too hard. Put a clutch gear or pulley on the medium PF motor, and have to drive a second gear or pulley with a "flag" (half the gear is colored black, half white, or something similar). Use a rubber band so that when undriven, the "flag" is oriented with the edge right in front of a light sensor. Now when the motor is driven CW, the light sensor will report one extreme ("light"), when driven the other way it will report the other extreme ("dark"), and if undriven the rubber band will return it to neutral ("grey"). Now you have a "translation system" that depends only on the PF motors and the stock NXT light sensors, plus other parts.

Yes, I'd love a direct system as well (where the NXT could "read out" the IR control signals via the Hitechnic IRLink, for example), but it doesn't seem to exist yet... and honestly, with all the new information still being released about the future of the PF line, I'd rather wait a bit to make sure it handles "the kitchen sink".

Brian Davis
Robotica said…

Nice solution :)
As Dave said you can download the sensor blocks and install them within the retail version.
More information is here

Please note that you need to install the component of your language version.

This is advanced usage, so please spend some time in reading (and understanding) the readme.txt files before installing these components.

!! It is always a good thing to backup (copy) your own created code, before you change the NXT-G software, don't forget the myblocks.

Anonymous said…
Why not use bluetooth mobile phone as remote controller? Especially now almost every kids has a mobile phone. You can program a really kids friendly application in java if you don't like the Lego one. I also believe there's already plenty on internet you can download for free.
Brian Davis said…
There are two problems I see with BT phones as remote controls. First, there are a lot of different phones out there, each of which will take a slightly different technique or program. Another issue is that almost all the BT cell phone apps I've seen send direct commands, turning the NXT into a "dumb remote"... while using something like an IRLink as a "sensor" potentially allows the NXT to be running a program at the time. For instance, I use this with Serenity, because if the remote control system goes out for any reason, I don't want the boat to just "drive off into the sunset".

Brian Davis
Dave Parker said…
Thanks for pointing out the Legacy Block Library for NXT-G, I edited the web page and blog entry to mention it.

For other solutions, remember that I have young kids in mind here. I would like to see LEGO (or somebody else) come out with a good remote control solution that works reliably with minimal to no fussing required. I don't know if this is Bluetooth or PF, but there is already a Bluetooth block in NXT-G, so if there was an NXT Bluetooth remote that just worked out of the box, then that would be great, because no software update would be required. I would "endorse" it on my web site and post projects for it, but I cannot recommend the state of Bluetooth today to a broad audience of kids...
Anonymous said…
Would be interesting to see a diff between the two motors and calc the inputs from One speed sensor! you would need to gear one motor though because +1 and -1 add to 0
drive motors at ratio of 1:2 and its easy.

Anonymous said…
In 30 mins easy see here:


AlexD said…
The IRLink from both Mindsensors and HiTechnic has in/out with the RCX, which means that the old RCX remote control should be usable as remote. I have not tried it yet, but it sounds plausible. Will post more after I try.
Anonymous said…
Dave, I liked it so much I built my own version, using just one sensor, see vid on youtube.

Anonymous said…
a good read.
Anonymous said…
im a kid and i was going to get blutooth until i found how complicated it was so now i am just going to buy some power functions and an ir link sensor so i can make robots that can eaither be rc or just use the motors. and almost everyone i know has cellphones but there arnt very many people that have blutooth cellphones.
Anonymous said…
Hey y'all I rally need see help with using power function M motor I believe is the size. But I am not buildng robots. I'm building midway carnival rides and I would really lie to know I'd the speed of the motor is variable using any special part? Or Is it just that one really fast set speed originally !? Please help me. Also can the motor be operated with a remote control and is there a way to transform the power to a wall plug instead of 6! AA'S BATTS??
Shreve said…
if you have another nxt there is a easier solution on nxtprograms.com look around in the projects and you will find a program for the robot and for the controller. also in the new version of nxt-g(2.0) there is a remote control function that uses either blue tooth or usb connection

Popular Posts