Avising

Her er vist hvordan en motor for eksempel en kompressor kan stanses for en periode for eksempel for avising:

Her er programkoden. Det er laget en egen function for pause eller avising.


int i1 = 11; // Start
int i2 = 10; // Stopp
int i3 = 9; // Avising
int u1 = 8; // Utgang

bool timer_on = 0;

unsigned long t_start = 0;

void setup()
{
  pinMode(u1, OUTPUT); 
  pinMode (i1, INPUT); 
  pinMode (i2, INPUT);  
}

void loop()

{
  	if (digitalRead(i1)) {
  	digitalWrite(u1, 1);
	}
  
    if (digitalRead(i2)) { 
  	digitalWrite(u1, 0);
	}
  
    avising();
}


void avising()
  
{
    if (digitalRead(i3)) {
    timer_on = 1;
    t_start = millis();
    digitalWrite(u1, 0);
	}
  
    if (timer_on && millis()-t_start > 2000) {
    digitalWrite(u1, 1);
    timer_on = 0;
    }  
  
}