struct Step
{
const uint8_t pin;
const uint8_t time;
};
const Step steps[] =
{
{ .pin = 4, .time = 3 },
{ .pin = 3, .time = 2 },
{ .pin = 2, .time = 1 },
{ .pin = 3, .time = 2 },
};
const uint8_t steps_count = sizeof( steps ) / sizeof( Step );
void setup()
{
pinMode( 2, OUTPUT );
pinMode( 3, OUTPUT );
pinMode( 4, OUTPUT );
}
void loop()
{
static uint8_t step_id = 0;
const Step & step = steps[ step_id ];
digitalWrite( step.pin, HIGH );
delay( step.time * 1000 );
digitalWrite( step.pin, LOW );
if ( ++step_id == steps_count )
{
step_id = 0;
}
}