#include // Start by creating a bunch of state machines Atm_led led1, led2, led3; // Three Automaton led machines Atm_button btn; // An Automaton button machine Atm_fan fan; // To split the trigger in 3 void setup() { // Initialize the led machines at different rates led1.begin( 4 ).blink( 100, 100 ); led2.begin( 5 ).blink( 200, 200 ); led3.begin( 6 ).blink( 400, 400 ); // Send one event to many fan.begin() .onInput( led1, led1.EVT_TOGGLE_BLINK ) .onInput( led2, led2.EVT_TOGGLE_BLINK ) .onInput( led3, led3.EVT_TOGGLE_BLINK ); // Button triggers the fan btn.begin( 2 ) .onPress( fan, fan.EVT_INPUT ); // Start the blinking fan.trigger( fan.EVT_INPUT ); } // Run the app from the Arduino loop() // Press the button to toggle the leds on and off void loop() { automaton.run(); }