Jump to content

AVCampos

LEGO Ambassadors
  • Posts

    1,479
  • Joined

  • Last visited

Everything posted by AVCampos

  1. That makes sense, it's called the Osborne effect.
  2. Do you mean that, for example, if you used one of those in the 42030 instead of the LEGO version and manually turned it away from the desired angle, it'd automatically return to it (like regular servos do)? If so, that's a big advantage over the LEGO version.
  3. Thanks! As with the 42124, I just can't handle virtual controls and look at the model at the same time.
  4. You do know that the "#" symbol can also be called "pound", right?
  5. Don't they connect via radio (proprietary 2.4 GHz, or, since it can connect to an app, more likely Bluetooth), and therefore it's only a matter of pairing one receiver to a controller at a time?
  6. I've just found out there's a version with a 6-output receiver and a transmitter with 4 proportional channels (and 2 bang-bang). Anyone tried this? May I post a link to the Chinese store where I found this, @Jim?
  7. Can you help me with this? I looked in /storage/emulated/0/Android/data/com.scn.BrickController2 and its subfolders, and couldn't find my profiles (which were created in a previous version of the app), or any files for that matter. I'm running Android 8.0.0 on my phone, so the folder policies shouldn't be an issue.
  8. I first read that as "Megatron"... As cool as that would be, that'd never happen due to Transformers being owned by rival Hasbro.
  9. That's a great subject matter for a smaller pricepoint. For example, in the 42096/42125/42126 scale.
  10. What kind of machine would it be, and what functionality would it have, at that pricepoint?
  11. Woo, thank you very much! It has been a hassle in the past to manually replicate my profiles for my devices, this'll save me a lot of work.
  12. The SPIKE hub, when running the MINDSTORMS firmware, can already be controlled from a gamepad.
  13. Mechanically, I can only see four-wheel steering and variable ride height missing from UCS cars. What else can be added? I don't believe functional brakes is in such a list, as they require intentionally rubbing parts against each other. Perhaps new crankshaft elements to allow more realistic firing sequences?
  14. Allegedly 76240 was supposed to have functional steering, but they were unable to implement it without affecting the looks.
  15. Oh my, that looks like Dom's Charger with KITT's "Super Pursuit" mode. I'd prefer a Tumbler, but TLG already makes lots of that one and a Technic version would thus be unlikely.
  16. I might sell you mine for £2000, just to make you feel better.
  17. It's no wonder they appeared in the dune buggy.
  18. The shapes of the arches on the Chinese Sián version would probably fit well here, but obviously we won't see that on an official LEGO set. Unless the mould was leaked to Chinese copycats, who prematurely used it in their Lambo.
  19. Also, those that look at a set as a parts source for MOCs (such as me) will care even less for dedicated control apps.
  20. I made a short program in Pybricks to control the Cat from a LEGO PU remote. Although it lacks the app's niceties such as tilt information, route drawing and especially proportional control, I found physical buttons more pleasant to use and it switches functions a lot faster (not to mention the calibration only takes a few seconds). @kbalage's tutorial for the buggy and Zetros was invaluable for this! In the program, I set the remote's +/- buttons to directly control the treads. The red buttons control the active function. Pressing the green button cycles through the four functions, and the remote's LED indicates which one is active: Blue: blade lift Green: ripper Yellow: ladder Red: blade tilt White: function switching in progress # Basic imports from pybricks.pupdevices import Motor, Remote from pybricks.parameters import Port, Direction, Stop, Button, Color from pybricks.tools import wait # Initialise the motors motor_left = Motor(Port.A, positive_direction=Direction.COUNTERCLOCKWISE) motor_right = Motor(Port.B) motor_function = Motor(Port.C, positive_direction=Direction.COUNTERCLOCKWISE) motor_change = Motor(Port.D) SPEED_CHANGE = 720 # Speed for the function shifting motor def reset_selector(): """Moves the function selector to the first position""" # Run the motor backwards until it hits the physical limit in the shifting mechanism motor_change.run_until_stalled(-SPEED_CHANGE, then=Stop.HOLD) # Since the angle that hits the limit is a little over a 90º position of the selector, get the nearest multiple of 90º rounded_angle = round(motor_change.angle() / 90, 0) * 90 # Run the motor to the precise multiple of 90º motor_change.run_target( speed=SPEED_CHANGE, target_angle=rounded_angle, then=Stop.HOLD, wait=True) def set_led(angle): """Sets the colour of the remote's LED based on the selector's angle""" if angle == 0: colour = Color.BLUE elif angle == 90: colour = Color.GREEN elif angle == 180: colour = Color.YELLOW elif angle == 270: colour = Color.RED else: colour = Color.WHITE # This should never happen, but just in case remote.light.on(colour) # Connect to the remote remote = Remote(timeout=None) remote.light.on(Color.WHITE) # Set the selector to the first position, and mark it as zero reset_selector() motor_change.reset_angle(0) chosen_angle = 0 set_led(chosen_angle) # Now we can start driving! while True: # Check which buttons are pressed. pressed = remote.buttons.pressed() # Set the left tread to the left buttons speed_left = 0 if Button.LEFT_PLUS in pressed: speed_left += 100 if Button.LEFT_MINUS in pressed: speed_left -= 100 # Set the right tread to the right buttons speed_right = 0 if Button.RIGHT_PLUS in pressed: speed_right += 100 if Button.RIGHT_MINUS in pressed: speed_right -= 100 # Set the selected function to the red buttons speed_function = 0 if Button.RIGHT in pressed: speed_function += 100 if Button.LEFT in pressed: speed_function -= 100 # Process the green button if Button.CENTER in pressed: # The mechanism is shifting, let the user know this remote.light.on(Color.WHITE) chosen_angle += 90 # Move the function selector to the next function if chosen_angle > 270: # If we're already at the last function and the selector is physically blocked from turning 360º, we need to turn back chosen_angle = 0 reset_selector() # We can't use run_target() here because it always chooses the shortest path, which would be to turn forward from 270º to 360º instead of back from 270º to 0º else: # Normal case: just turn the selector to the desired position motor_change.run_target( speed=SPEED_CHANGE, target_angle=chosen_angle, then=Stop.HOLD, wait=True) # The selector is at the desired position; tell the user the good news set_led(chosen_angle) # Wait for the user to be release the green button while Button.CENTER in remote.buttons.pressed(): wait(10) # Apply the selected speed to the thread and function motors motor_left.dc(speed_left) motor_right.dc(speed_right) motor_function.dc(speed_function) # Wait wait(10)
  21. If there are real-world electric telehandlers and the LEGO version doesn't have a transmission and cylinder engine, why not?
  22. ... aaaaaand the discussion veered from 1H2022 Technic sets to combustion vs. electric cars...
  23. Actually, the 42111 is a fictional vehicle... kinda.
×
×
  • Create New...