Sekvensstyring

Her er et generelt oppsett for sekvensstyring.

Programkode til sekvensstyringen:


int sekvens = 1;
unsigned long t_start = 0;

void setup()
{
  pinMode(2, OUTPUT);
  pinMode(3, OUTPUT); 
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode (10, INPUT); 
  pinMode (11, INPUT); 
  pinMode (12, INPUT);
}

void loop()
{
 // Styre sekvensene

if (sekvens == 1 && digitalRead(12))
{sekvens = 2;}

if (sekvens == 2 && digitalRead(11)) 
{sekvens = 3;}
    
if (sekvens == 3 && digitalRead(10))
{sekvens = 4; t_start = millis();}
 
if (sekvens == 4 && millis() - t_start > 4000) 
{sekvens = 1;}
  
// Styre utgangene
  
if (sekvens == 1)
{digitalWrite(2,0); digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,1);}
  
if (sekvens == 2) 
{digitalWrite(2,0); digitalWrite(3,0); digitalWrite(4,1); digitalWrite(5,0);}
    
if (sekvens == 3)
{digitalWrite(2,0); digitalWrite(3,1); digitalWrite(4,0); digitalWrite(5,0);}
 
if (sekvens == 4) 
{digitalWrite(2,1); digitalWrite(3,0); digitalWrite(4,0); digitalWrite(5,0);}
  
}