Hot answers tagged

17

Update: I have written a tool to disassemble EV3 programs. The EV3 software compiles the .ev3 file to a .rbf file and sends that to the EV3 brick. The disassembler can convert the .rbf file into a .lms file, which is a sort of assembly language that can be used to create programs for the EV3. Here is a simple example using a trivial .ev3 project. To ...


8

Yes, it is possible to pass the port number as a parameter to a sensor or motor block via data wire. It's just that it's manually selected by default. To change this, go to the port of the sensor or motor block, and select the top-most option which has the plug icon on it: It will then create a data port for which motor port you want to use: The same ...


7

By adding two motors together with gears, you have doubled the torque the motors provide. Power = torque x speed, so if you don't want the doubled power from the motors to go to the torque component but to the speed component instead, I think you should use a differential and put the motors on both outputs of the differential, and use the input to feed your ...


7

In general, would you recommend switching to a normal programming language (I am quite "fluent" in languages like C/C++, Python and Java) in order to avoid having to use blocks when building more complex programs? Yes, especially if you plan on doing image processing. If so, which programming language would you recommend? I feel like there is a big ...


5

My team put their software fix in a loop with a small wait that cycles until the d/s = 0, then reset it to 0. Here's a simplified version: It works like a charm. We don't mess with the hardware reset anymore. Combined with a heading variable, a turn my block, and a few drive my blocks they can program a maze run in minutes. FWIW: They output their angle ...


5

There are two options that I can think of. Do the "hardware" fix before every run of the robot to reboot the sensor along with the "software" fix to zero it. Don't use the Angle reading at all. To calibrate the sensor, sample the rate (d/s) 10 times or so and take the average to get the "at rest" rate offset and store it in a variable. Subtract this ...


5

You can download the Ultrasonic sensor block (and Gyro sensor too) from the official MINDSTORMS website. Look for "Ultrasonic Sensor Block" near the bottom of the downloads page.


5

It looks like the page listing downloads is down, but direct links to the downloads still work. I believe that this is the file that you're looking for: https://www.hitechnic.com/upload/306-Color%20Sensor%20V2.zip


4

The Gyro is a tricky sensor to use, but at yesterday's FLL competition in Elk River, at least 5 teams had worked out the issues to their satisfaction. I'm revealing their answers here. It is unfair to those teams, since their research does represent a significant advantage over other teams. That said, none of their solutions were complete. Each team had ...


4

You should be able to go to the project tab (1) - it's the one with the wrench icon - and delete any unneeded items. Just select the item (2) and click the Delete button (3).


3

This is EV3-G code for a PID based on PID Controller for Lego Mindstorms Robots by J Sluka. It uses the steering parameter of the Move block instead of power levels of the Motor block. The interesting parts are setting the Kp, Ki, and Kd values.


3

Sadly that's a limitation of Windows RT - there's no way you can install the EV3 software on there. Windows RT can only run apps from the Windows Store (and some specially compiled apps that MS supply such as Office RT - however I don't think the typical user can install a correctly compiled non-Store app on the Surface - as a developer you can side load ...


3

Unfortunately, there is no way to add a parameter to an existing MyBlock in both the NXT and EV3 series. You will have to create a new one with more input parameters.


3

Recently in the scope of a pet project I have put effort into finding a way for systematic decoding of the rbf file to EV3G compatible high level blocks buildin upon David Lechner's disassembly work. Currently the project has over 95% coverage (all common blocks recognized) called EV3BrickMagic You can try the result online - http://ev3treevis....


3

Unfortunately, you cannot use the LEGO 8528 (NXT to RCX adapter) cable with sensors on the EV3. You can use it with motors though. This is because the adapter cable only connects to pins 1 and 2 on the MINDSTORMS (RJ12) connector. On the NXT input (sensor) ports, pin 2 is GND. On the EV3, however, pin 2 on the input port is no longer GND. It is used to ...


3

Using the mouse, you can click on the gray arrows on the edges of the screen (indicated with red arrows below). You will need to close the Content Editor to be able to see the one on the right clearly. Another option using the mouse is to use the "pan" tool. Click on the tool icon that looks like a hand (circled in red below). Then use it to click and drag ...


3

You can use the Loop Interrupt block. Just make sure the name used in the Loop Interrupt block matches the name of the loop inside of the My Block.


3

I can't say that I understand your problem, but maybe this link will help EV3 Move Steering Block Explained If you are asking about how the steering parameters relate to how much the machine will turn, then that is going to depend very much on the geometry of the machine: wheel diameter and wheel separation.


3

It is not possible to control the LEDs separately using the official EV3 firmware. You would have to modify the kernel drivers. You can only use the predefined patterns shown here. ULONG LEDPATTERNDATA[NO_OF_LEDS + 1][LEDPATTERNS] = { // LED_BLACK LED_GREEN LED_RED LED_ORANGE LED_GREEN_FLASH LED_RED_FLASH ...


2

Can I only set an [out] param once? Yes. You cannot tell it to be 2 different values at the same time. This applies to any block, not just the output block. Does setting the [out] param act like the "return" keyword? Not really. The return keyword in most (if not all) programming languages causes the function to exit, which is not the case here. It just ...


2

No, EV3 MyBlocks cannot be recursive. If a MyBlock contains a copy of itself, then the following error will be produced upon compiling: For some reason, LEGO's programming software has become progressively less immediate about notifying you that this cannot be done. In EV3-G, it waits until compile to let you know that you can't do this. In NXT-G (the ...


2

No. Unfortunately there are no shortcuts. EV3-G can not open programs written in NXT-G. To quote Lego: 9.5 I have a LEGO MINDSTORMS NXT2.0 (8547) set; will there be an upgrade/conversion kit from NXT to LEGO MINDSTORMS EV3 (31313)? No, but LEGO MINDSTORMS EV3 offers backward compatibility to NXT. You can therefore use your NXT Intelligent Brick ...


2

Microsoft have just announced that they are releasing an API for Windows 8.1 and Mindstorms EV3. Hopefully this will mean some apps for the two platforms will emerge sometime in the future.


2

Here is another pattern that watches more than one sensor. Instead of parallel code blocks setting a variable value, this code combines sensor outputs to feed a logic block which feeds a switch. No variable is used. Note that only the touched side of the switch statement is used. Not an important difference, I just find it easier to follow. The other ...


2

You can do this with parallel programs and a logic variable. You will need 3 loops, one for each sensor and one for the motor. In the sensor loops, wait for the touch sensor to be pressed and then set a logic variable to true. In the motor loop, have a switch block that tests the logic variable. If it is true, reverse and turn around and then set the logic ...


2

You could try TRIKstudio: http://blog.trikset.com/p/trik-studio.html This allows you to program a robot based on the LEGO EV3 setup, however while the application itself has English, French and Russian translations, most of the online help is only in Russian.


2

Go to the directory (for home edition) c:\Program Files (x86)\LEGO Software\LEGO MINDSTORMS EV3 Home Edition\Resources\MyBlocks\images\ (for edu version) c:\Program Files (x86)\LEGO Software\LEGO MINDSTORMS Edu EV3\Resources\MyBlocks\images\ And create a group of 3 icons for each new icon: PolyGroup_NNN_NAME_Diagram.png [size 34x34] - visible in the ...


2

Communicating with the NXT from the LEGO MINDSTORMS EV3 software is not supported. From http://www.lego.com/en-us/mindstorms/support/faq/: 3.10 Is the LEGO® MINDSTORMS® EV3 Home Edition Software backward-compatible with NXT Hardware? Yes. You can program your NXT Intelligent Brick using the new LEGO MINDSTORMS EV3 Home Edition Software. However, ...


2

Updating to iOS to 10.10.5 seems to have solved the problem for me. Hopefully this helps someone else out there.


2

You have the motor power set to 1 and you are waiting for 1 full rotation. If the motor moves at all, it will take a long time to complete one rotation. Most of the loop is spent waiting for the rotation to complete (or if the motor is not moving at all, then the loop never actually loops). Try using a higher power - at least 10. Also, use less than one ...


Only top voted, non community-wiki answers of a minimum length are eligible