Art of LEGO MINDSTORMS EV3 Programming

The Art of LEGO MINDSTORMS EV3 Programming
by 
Terry Griffin
October 2014, 276 pp.
ISBN-13: 
978-1-59327-568-6
Full Color

Look Inside!

Art of EV3 ProgrammingArt of EV3 Programming

With its colorful, block-based interface, The LEGO® MINDSTORMS® EV3 programming language is designed to allow anyone to program intelligent robots, but its powerful features can be intimidating at first. The Art of LEGO MINDSTORMS EV3 Programming is a full-color, beginner-friendly guide designed to bridge that gap.

Inside, you’ll discover how to combine core EV3 elements like blocks, data wires, files, and variables to create sophisticated programs. You’ll also learn good programming practices, memory management, and helpful debugging strategies—general skills that will be relevant to programming in any language.

All of the book’s programs work with one general-purpose test robot that you’ll build early on. As you follow along, you’ll program your robot to:

  • React to different environments and respond to commands
  • Follow a wall to navigate a maze
  • Display drawings that you input with dials, sensors, and data wires on the EV3 screen
  • Play a Simon Says–style game that uses arrays to save your high score
  • Follow a line using a PID-type controller like the ones in real industrial systems

The Art of LEGO MINDSTORMS EV3 Programming covers both the Home and Education Editions of the EV3 set, making it perfect for kids, parents, and teachers alike. Whether your robotics lab is the living room or the classroom, this is the complete guide to EV3 programming that you’ve been waiting for.

Requirements: One LEGO MINDSTORMS EV3 Home OR Education set (#31313 OR #45544)

Download the programs for the Education set
Download the programs for the Home set

Author Bio 

Terry Griffin has been a software engineer for over 20 years and has spent most of that time creating software for controlling various types of machines. He works for Carl Zeiss SMT on the Orion Helium Ion Microscope, programming the user interface and high-level control software.

Table of contents 

Introduction

Chapter 1: LEGO and Robots: A Great Combination
Chapter 2: The EV3 Programming Environment
Chapter 3: TriBot: The Test Robot
Chapter 4: Motion
Chapter 5: Sensors
Chapter 6: Program Flow
Chapter 7: The WallFollower Program: Navigating a Maze
Chapter 8: Data Wires
Chapter 9: Data Wires and The Switch Block
Chapter 10: Data Wires and the Loop Block
Chapter 11: Variables
Chapter 12: My Blocks
Chapter 13: Math and Logic
Chapter 14: The EV3 Lights, Buttons, and Display
Chapter 15: Arrays
Chapter 16: Files
Chapter 17: Data Logging
Chapter 18: Multitasking
Chapter 19: A PID-controlled LineFollower Program
Appendix A: NXT and EV3 Compatibility
Appendix B: EV3 Websites

Index

View the detailed Table of Contents (PDF)
View the Index (PDF)

Reviews 

"If you work through all the chapters and projects in this book, you will gain a full understanding of the power of the EV3 software as well as an in-depth programming experience that makes use of all those programming constructs."
GeekMom (Read More)

"Will surely inspire any budding master builder."
Friday Zone (Read More)

"Hands downs this is one of the best programming references on the market."
Milluzzi Labs (Read More)

"Covers the perfect blend of material to suit beginners and experienced EV3 programmers alike...I loved this book."
Rebrickable (Read More)

"The kind of book most Lego Mindstorms EV3 enthusiasts would want one to add to their tech library."
GeekDadBlog.com (Read More)

"A great resource for people who...are looking to program more complex robots they want to build."
JustJon (Read More)

Check out an EV3 Maze Solver from the book in action!

Updates 

Page 4:
The link to the source code for the book's programs is incorrect. It should be http://www.nostarch.com/artofev3programming/

Page 17, Step 6 should have this image:

http://www.nostarch.com/images/EV3ProgrammingErrata.png

Page 133:
The program shown in Figure 11-30 should be using “Motor Rotation – Compare Degrees” instead of “Motor Rotation – Compare Rotations”.