Glaysche

PoweredUp Physical Remote / Controller

Recommended Posts

One of the biggest complaints I have heard (and felt) about PoweredUp is the lack of a physical controller.  While Lego doesn't build one, we can build our own using Lego.  Here is a proof of concept controller I built:

51337316628_0697f9a6b7_b.jpg

It is meant to be reminiscent of classic hand held RC controllers for cars.  Since this is a proof of concept, I didn't put much effort into styling plus the motors you see are just the random ones I had available.  Here's a view of the back:

51337831504_41329e794c_b.jpg

The interesting thing here is that you can use the motors for position sensors and as the "spring" to return the steering wheel or trigger back to center.  You use the "hold" code block to accomplish that.  Here's the PoweredUp code blocks that hook this controller up to a 42124 buggy:

51338103375_1525e2a271_b.jpg

Hub #1 is the controller and hub #2 is the buggy.  For steering wheel and throttle trigger, you set the max power low (15% and 30% respectively) and tell the motor to hold its position.  The bottom two code blocks hook up the buggy's throttle and steering to the controller.

Here's a simple video to demonstrate it working:

https://www.flickr.com/photos/188456966@N07/51337316883/in/dateposted-public/

The car is much more fun to drive around with this controller than using the touch screen.  Using this same technique, it would be easy to make controllers of different physical form factors.

There are two downsides I can see. First, the control is a bit laggy.  This is often a problem using the touch screen controller as well.  Second, you still need a smart device hooked up and running.  I think it may be possible to use Pybricks and fix both of these issues but that becomes much more complicated for people to use.

 

Edited by Glaysche

Share this post


Link to post
Share on other sites

Unique approach, a shame the software isn't up to the task though :sceptic:. Also quite expensive lol.

Another possible way would be to program a Raspberry Pi to interact with the hub directly, but afaik TLG hasn't updated their C+ protocol source code, so I don't see it happenning soon or easily (not that I know anything about programming besides Excel VB :snicker:)

 

Share this post


Link to post
Share on other sites

Wow, I like your approach! Even if it doesn't really make it easy to have a physical controller, it's a nice demonstration of the versatility of Lego.

Still no buttons though, like the ones you'd want for controlling the Zetros differential lock etc.?

Share this post


Link to post
Share on other sites

I think you could configure a motor to act as a toggle switch.  Basically hold position until it is moved a certain amount (say 60 degrees) and then move it to the new position and hold it there.  With that, you could have a physical switch for diff locks on or off. I haven’t tried this yet but I’m sure I will when I get the Zetros.

There are also force sensors available via Spike Prime you can use as buttons.  I don’t think the PoweredUp app knows how to deal with those yet, however.

It’s funny you should mention it is expensive.  I thought the opposite.  I have a lot of motors and hubs laying around from the various sets I’ve purchased.  I don’t tend to leave them assembled so I have lots of parts for MOCs and experiments like this. It’s a great use for otherwise unused parts.

Share this post


Link to post
Share on other sites
27 minutes ago, Glaysche said:

It's funny you should mention it is expensive.  I thought the opposite.  I have a lot of motors and hubs laying around from the various sets I’ve purchased.  I don’t tend to leave them assembled so I have lots of parts for MOCs and experiments like this. It’s a great use for otherwise unused parts.

Well as someone who crossed to the dark side and can buy a PF-compatible motor for 5€&free shipping, PU/C+ components are expensive, even if they come from sets :wink: Also, personally h8 C+ with a passion for a lot of reasons :innocent:

Sad to hear about Spike sensors not being supported, one would imagine if they forced that connector onto everything, it'd at least all work together... oh well. Does the other app (Mindstroms, spike...?) not support the Technic hubs? 

Share this post


Link to post
Share on other sites

Here's a simple example of the code blocks for a toggle switch:

51337155247_cf830703be_b.jpg

This tells the motor to hold at 0 until someone moves it 90 degrees.  It will then hold the position at 85 degrees.  Similar logic to go back to 0.  This has the effect of allowing two distinct positions for the motor.  You can compare the position of the motor with 45 to decide which position it is in.  This could easily be used on the Zetros to control the diff lock.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.