The image shows the Green Action Blocks from the LEGO Mindstorms EV3 software, used in FIRST LEGO League (FLL) programming. These green blocks control outputs, like motors, sounds, and lights. Here's what each block does:
1. Medium Motor
Controls one medium motor.
Commonly used for attachments (e.g., arms, grabbers).
You can set:
Power (speed)
Rotations/Degrees/Time
Brake or coast at the end
2. Large Motor
Controls one large motor.
Usually used for drive base wheels.
Same settings as the Medium Motor block.
3. Move Steering
Controls two large motors together for driving.
Uses steering value (from -100 to +100):
0 = straight
Negative = left turn
Positive = right turn
Lets you set power and duration (degrees, rotations, or time).
4. Move Tank
Also controls two motors, but independently.
You set the power for left and right motors separately.
Good for precise turning or uneven power distribution.
5. Display
Shows images, shapes, or text on the EV3 brick screen.
Used for feedback, storytelling, or decoration.
6. Sound
Plays a sound or tone from the EV3 brick speaker.
Can use system sounds (like "Hello") or musical tones.
Useful for signaling different actions to the team.
7. Brick Status Light
Changes the color and pattern of the EV3 brick’s light (on the center button).
Useful to give visual feedback (e.g., red = error, green = success).
This image shows the Orange Blocks from the EV3 Mindstorms software, also known as Flow Control Blocks. These blocks control the order, repetition, and conditions of your robot’s actions — essential for making your robot smart and adaptable in FLL missions.
Here’s what each block does:
1. Start Block
Automatically runs first in every program.
You don’t need to drag this in — it’s placed by default.
The program runs from this block forward.
2. Wait Block
Pauses the program until a condition is met (like a sensor detecting something).
You can wait for:
Time (seconds)
Touch sensor press/release
Color sensor (seeing a certain color or light level)
Gyro angle, ultrasonic distance, etc.
3. Loop Block
Repeats the actions inside it until a condition is met.
Good for:
Continuous sensor checking (e.g., line following)
Repeating movements or checks
Loop modes include:
Forever
Sensor-based
Time-based
Count-based
4. Switch Block
Works like an if-else statement.
Runs one path of blocks if a condition is true, and a different path if false.
Common uses:
If a color is black → turn left
If touch sensor is pressed → stop motors
5. Loop Interrupt
Stops a loop early based on a condition.
Useful when:
You want to exit a loop before it finishes normally
Example: Exit a loop once a line is detected
Angle (Steering Slider)
Controls direction of movement.
Ranges from -100 to +100:
0 = straight
Negative values (e.g., -50) = turn left
Positive values (e.g., +50) = turn right
±100 = spin turn (one wheel moves, the other stays still or moves opposite)
Speed
Controls how fast both motors spin.
Range: -100 to +100
Positive = forward
Negative = backward
Affects how quickly the robot moves or turns.
Rotation (Duration)
Controls how long the robot runs this block:
Options include:
Degrees (e.g., 360 = 1 full wheel turn)
Rotations (whole turns)
Seconds (time-based)
Or set to Unlimited (until a sensor or another block stops it)
Outer Structure: Loop
The program is enclosed in a Loop Block, which means it will keep running until a stop condition is met.
1. Color Sensor Reads Reflective Light Intensity
Color Sensor (Mode: Reflected Light Intensity) is used.
It reads the brightness (0 = black, 100 = white) of the surface under the sensor.
2. Math & Logic Processing
This part uses a PID-style calculation or some basic proportional logic to determine how sharply the robot should turn based on sensor reading.
a. Target Value Set (e.g., 22)
A target light value is hard-coded (ideal brightness between black & white).
This value is subtracted from the actual sensor reading (error = sensor - target).
b. Error Multiplied by Gain
The error is multiplied by a constant (looks like 3.5).
This result gives a turning value or correction factor.
3. Steering Motors (Move Tank Block A+D)
Based on the correction, it adjusts motor speed for A & D.
One side moves slower/faster to correct direction.
Tank block allows independent control of each motor for turning.
Speed is adjusted using the result of the math block.
4. Loop Continues
The loop runs indefinitely, updating based on new sensor values, adjusting the steering accordingly.
5. Edge Case: Switch Block
On the right side of the main loop:
It uses a Switch Block to check a condition — likely related to color sensor detecting a specific color or light threshold.
Possibly used for a stop condition or edge detection (e.g., black line, or white stop zone).
Lower Section of the Program
Looks like a separate behavior or subroutine — here’s what it includes:
a. Color Sensor Reads Color
Set to color mode this time.
If a certain color is detected (e.g., red), it triggers a different routine.
b. Math Block + Motor Block
Executes a turn or movement based on a detected value.
Summary in Simple Terms:
The robot follows a line using the color sensor’s brightness reading.
It compares brightness to a target value and adjusts its left/right motor power to stay on track.
Math blocks calculate how much to turn (like a simplified PID controller).
A Switch Block watches for a specific condition (like color or sensor value) to stop or change behavior.
The lower part may be a special behavior that activates under different sensor conditions (like colored zones).