Exploring LEGO Mindstorms EV3: Tools and Techniques for Building and Programming Robots
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title Exploring LEGO Mindstorms EV3: Tools and Techniques for Building and Programming Robots


The essential guide to building and programming LEGO EV3 interactive robots

Exploring LEGO Mindstorms: Tools and Techniques for Building and Programming Robots is the complete guide to getting the most out of your LEGO Mindstorms EV3. Written for hobbyists, young builders, and master builders alike, the book walks you through fundamentals of robot design, construction, and programming using the Mindstorms apparatus and LEGO TECHNIC parts. Tap into your creativity with brainstorming techniques, or follow the plans and blueprints provided on the companion website to complete projects ranging from beginner to advanced.

The book begins with the basics of the software and EV3 features then lets you get to work quickly by using projects of increasing complexity to illustrate the topics at hand. Plenty of examples are provided throughout every step of the process, and the companion website features a blog where you can gain the insight and advice of other users. Exploring LEGO Mindstorms contains building and programming challenges written by a recognized authority in LEGO robotics curriculum, and is designed to teach you the fundamentals rather than have you follow a "recipe."

  • Get started with robot programming with the starter vehicle, Auto-Driver
  • Explore the features of the EV3 brick, a programmable brick
  • Design robot's actions using Action Blocks
  • Incorporate environmental sensors using Infrared, Touch, and Color sensors
  • Expand the use of data in your program by using data wires with Sensor Blocks
  • Process data from the sensors using Data Operations Blocks
  • Using Bluetooth and WiFi with EV3
  • Build unique EV3 robots that each presents different functions: the Spy Rabbit, a robot that can react to its surroundings; a Sea Turtle robot, Mr. Turto; the Big Belly Bot, a robot that eats and poops; and a Robotic Puppy Guapo
  • Discover ideas and practices that will help you to develop your own method of designing and programming EV3 robots

The book also provides extensive programming guidance, from the very basics of block programming through data wiring. You'll learn robotics skills to help with your own creations, and can likely ignite a lasting passion for innovation. Exploring LEGO Mindstorms is the key to unlocking your EV3 potential.


Eun Jung (EJ) Park has been developing LEGO robotics curricula at RoboFun since 2010. There she designs robots that are used in STEM (science, technology, engineering, and math) programs for children and youths. She also designs and builds automatons, mechanical moving sculptures that respond to human interaction.


Foreword xxiii

Introduction xxv

Chapter 1 Introducing LEGO MINDSTORMS EV3 1

Understanding the EV3 Set: It Begins When You Open the Box 2

EV3 Electronic Parts 2

EV3 Software 5

TECHNIC Building Parts 7

The Building Instructions and the Test Board 10

Comparing EV3 and NXT 11

Summary 11

Chapter 2 Building the Auto-Driver: A Starter Vehicle 13

Getting Started with the Auto-Driver 13

What You Can Do with the Auto-Driver 13

Assembling the Auto-Driver 15

Understanding the EV3 Brick Interface 29

Using the Brick Buttons 29

Exploring Four Basic Screens 30

Operating the Auto-Driver 36

Summary 37

Chapter 3 Getting Started with Programming 39

What Is Programming? 39

Communicating with Robots 40

Understanding Programming Languages 40

Previewing the EV3 Software System 41

Launching the EV3 Software 41

What Do You See on the Screen? 42

Understanding the Programming Interface and Graphic Languages 47

Getting Used to the Interface 49

Downloading Programs to a Robot 51

Connecting the EV3 Brick to a Computer 52

Reading the EV3 Brick on the Software 54

Summary 57

Chapter 4 Exploring Action Blocks Part 1: Programming Motors 59

Understanding the Basics of Block Programming 59

Rule 1: Use the Start Block 59

Rule 2: Respect the Program Flow 61

Overview of the Programming Block’s Structure 62

Getting to Know the Input Values for the Motors 62

The Off, On, and On for Seconds Modes 63

The On for Degrees and On for Rotations Modes 64

Motor Power Input and the Direction of the Motor 67

Controlling Motors with the Large Motor Block and the Medium Motor Block 68

Working with the Large Motor Block 68

Creating Programs with the Large Motor Block 68

Controlling Two Motors with the Move Steering Block 73

Working with the Move Steering Block 73

Creating Programs with the Move Steering Block 76

Using the Move Tank Block to Control the Power Level of a Motor 82

Working with the Move Tank Block 82

Creating Programs with the Move Tank Block 83

Summary 84

Chapter 5 Exploring Action Blocks Part 2: Using Display, Sound and Brick Status Light Blocks 85

The Display Block 85

Displaying Text: The Text-Pixels and Grid Modes 87

Drawing Shapes: The Line, Circle, Rectangle, and Point Modes 94

Displaying Images: The Image Mode 97

Resetting the Display: The Reset Screen Mode 103

The Sound Block 103

Play File Mode 105

Play Tone Mode 107

Play Note Mode 108

Stop Mode 109

The Brick Status Light Block 110

The On Mode 110

The Off and Reset Modes 110

Summary 111

Chapter 6 Exploring Flow Blocks 113

The Start Block 114

Starting the Program 114

Demonstrating the Line of Code 114

The Wait Block 115

The Compare Mode in the Wait Block 116

The Change Mode in the Wait Block 117

The Time Mode 117

The Brick Buttons Mode 118

The Loop Block 121

The Unlimited, Count, and Time Modes 123

The Brick Button Mode 125

The Loop Interrupt Block 126

The Switch Block 127

The Compare Mode in the Switch Block 128

The Measure Mode in the Switch Block 130

Using a Value from a Data Wire 132

Summary 133

Chapter 7 Building the Spy Rabbit: A Robot That Can React to Its Surroundings 135

Understanding the Spy Rabbit 135

The Spy Rabbit’s Personality 136

Assembling the Spy Rabbit 136

Testing the Moving Parts of the Spy Rabbit 158

Summary 159

Chapter 8 Sensing the Environments: Using the Infrared, Touch, and Color Sensors 161

Understanding Sensors 161

Intro to the EV3 Sensors 162

Using the Infrared Sensor and Remote Infrared Beacon 163

Remote Infrared Beacon 163

Remote Mode 164

Beacon Mode 169

Proximity Mode 170

Reading Values from the Port View with the Infrared Sensor 172

Programming with the Infrared Sensor and Remote Infrared 175

Using the Touch Sensor 179

Adding the Touch Sensor to the Spy Rabbit 181

Reading Values from the Port View with the Touch Sensor 182

Programming with the Touch Sensor 183

Using the Color Sensor 187

Color Mode 187

Reflected Light Intensity Mode 189

Ambient Light Intensity Mode 191

Adding the Color Sensor to the Spy Rabbit 192

Reading Values from the Port View with the Color Sensor 195

Programming with the Color Sensor 195

Summary 197

Chapter 9 Using the Timer and the Rotation Sensor 199

Understanding the Timer 199

Working with the Timer in Programming Blocks 201

Programming with the Timer 204

Understanding the Motor Rotation Sensor 206

Using the Motor Rotation Sensor in Programming Blocks 207

Programming with the Motor Rotation Sensor 210

Summary 215

Chapter 10 Building Mr. Turto: A Sea Turtle Robot 217

Understanding Mr. Turto 217

The Structure of Mr. Turto’s Body 218

Assembling Mr. Turto 219

Testing Mr. Turto’s Movements 247

Summary 248

Chapter 11 Programming with Data Wires and Using My Blocks 249

What Is a Data Wire? 249

How Do Data Wires Work? 250

Getting Started with Data Wire Programming 250

Using Block Input and Output 253

Understanding Data Types and Data Wire Types 254

Sensor Blocks and Data Wires 257

Setting Up the Sensor Blocks 258

Exercise 1: Yay! I Found Something 259

Exercise 2: Can You Hear Me? 261

Exercise 3: Bright Light Makes Mr. Turto Awake 262

Introducing My Blocks 264

Using the My Block Builder 264

Exporting and Importing My Blocks 268

Summary 270

Chapter 12 Using Data Operations Blocks 271

The Variable Block 272

What Is a Variable? 272

Setting Up the Variable Block 273

The Constant Block 278

The Constant Block’s Many Modes 279

Constant Blocks in Action 279

The Array Operations Block 280

Append Mode 280

Read and Write at Index Modes 281

Length Mode 282

The Logic Operations Block 283

And Mode 283

Or Mode 284

XOR Mode 284

Not Mode 284

The Math and Round Blocks 286

The Math Block 286

The Round Block 288

The Compare, Range, and Random Blocks 289

The Compare Block 289

The Range Block 290

The Random Block 291

The Text Block 291

Summary 292

Chapter 13 Building the Big Belly Bot: A Robot That Eats and Poops 293

Understanding the Big Belly Bot 293

The Big Belly Bot’s Personality 294

The Mechanisms of the Big Belly Bot 295

Assembling the Big Belly Bot 297

Programming the Big Belly Bot 316

Action 1 – Standing Up Straight: Lean Backward to Improve Posture 316

Action 2 – Eating: Check If His Belly Is Full When the Food Comes In. When He Feels Full, Say “Uh-Oh” 317

Action 3 – Pooping: Bend Over, Open the Back End, Poop, and Shake the Body 318

Action 4 – Close the Back End 319

Summary 319

Chapter 14 Design Your Own Robot: How Did Guapo, the Robotic Puppy, Come to Be? 321

Build Guapo, the Robotic Puppy 321

Set a Goal: What Do You Want to Build? 350

Collecting Inspirations for the Goal 350

Defi ning Your Robot’s Actions: What Does It Do? 350

Decide on Moving Parts and Sensors 351

Planning by Sketching: The Way to Decide Which Parts Will Move 351

Adding Sensors: Where Sensors Will Be Most Useful 353

Build and Modify: From Core Sections to Decorative Sections 356

Time to Program 358

Summary 360

Appendix Using Bluetooth and WiFi with the EV3 Brick 361

Using Bluetooth with the EV3 Brick 361

Connecting the EV3 Brick to a Computer 362

Using WiFi to Download a Program to the EV3 Brick 364

Using Apple iOS Devices with the EV3 Brick 365

Index 367