A state machine is commonly used by engineers to describe the behavior of a system.  It is a mathematical abstraction that is sometimes used to design digital logic and computer programs.  This lesson plan will use LabVIEW and the LEGO MINDSTORMS NXT to introduce students to the concepts behind state machine logic.  Using a state machine architecture, students will write a program that controls the NXT robot so that it can navigate an unknown maze from start to finish.

Real World Application

A state machine can be found in many real world systems.  For example, an elevator uses a state machine to determine when to move up, move down, open the door, and close the door.  An automated check-out machine found in most grocery stores also uses a state machine to determine when you should scan an item, bag an item, and make payment.