Start og stopp av to motorer

Start og stopp av to motorer kan godt utvikles ved at man først utvikler en styring som tenner og slukker to lysdioder. Oppgaven er slik spesifisert at det skal finnes to forskjellige start brytere og en felles stopp. Figuren viser en prototype med 2 stk lysdioder.

Programkode følger under. En del av programkoden er kommentert ut. Dette er programkode for feilsøking via seriemonitor. Denne kan utelates hvis det ikke er behov for feilsøking.


void setup()
{
  pinMode(10, OUTPUT); // LED Lys (Motor)
  pinMode(9, OUTPUT); // LED Lys (Motor)
  pinMode (13, INPUT); //Stopp
  pinMode (12, INPUT); //Start 
  pinMode (11, INPUT); //Start
//  Serial.begin(9600);
}

void loop()

{
  	if (digitalRead(13)) {
  	digitalWrite(10, 1);
	}
  
    if (digitalRead(12)) {
  	digitalWrite(9, 1);
	}
  
    if (digitalRead(11)) { 
  	digitalWrite(9, 0);
    digitalWrite(10, 0);
	}
  
//  Serial.print("Ing 13: ");
//  Serial.print(digitalRead(13));
//  Serial.print(" Ing 12: ");
//  Serial.print(digitalRead(12));
//  Serial.print(" Ing 11: ");
//  Serial.print(digitalRead(11));
//  Serial.print(" Utg 10: ");
//  Serial.println(digitalRead(10));
//  Serial.print(" Utg 9: ");
//  Serial.println(digitalRead(9));
//  delay(1000);
  
}

Med små endringer så kan vi lage en styring med NC stoppbryter:

Ny programkode:


void setup()
{
  pinMode(10, OUTPUT); // LED Lys (Motor)
  pinMode(9, OUTPUT); // LED Lys (Motor)
  pinMode (13, INPUT); //Stopp
  pinMode (12, INPUT); //Start 
  pinMode (11, INPUT); //Start
//  Serial.begin(9600);
}

void loop()

{
  	if (digitalRead(13)) {
  	digitalWrite(10, 1);
	}
  
    if (digitalRead(12)) {
  	digitalWrite(9, 1);
	}
  
    if (!digitalRead(11)) { 
  	digitalWrite(9, 0);
    digitalWrite(10, 0);
	}
  
//  Serial.print("Ing 13: ");
//  Serial.print(digitalRead(13));
//  Serial.print(" Ing 12: ");
//  Serial.print(digitalRead(12));
//  Serial.print(" Ing 11: ");
//  Serial.print(digitalRead(11));
//  Serial.print(" Utg 10: ");
//  Serial.println(digitalRead(10));
//  Serial.print(" Utg 9: ");
//  Serial.println(digitalRead(9));
//  delay(1000);
  
}

Vi kan også lage en variant av programkoden med en forrigling der den ene motoren må starte før den andre.


void setup()
{
  pinMode(10, OUTPUT); // LED Lys (Motor)
  pinMode(9, OUTPUT); // LED Lys (Motor)
  pinMode (13, INPUT); //Stopp
  pinMode (12, INPUT); //Start 
  pinMode (11, INPUT); //Start
//  Serial.begin(9600);
}

void loop()

{
  	if (digitalRead(13)) {
  	digitalWrite(10, 1);
	}
  
    if (digitalRead(12) && digitalRead(10)) {
  	digitalWrite(9, 1);
	}
  
    if (!digitalRead(11)) { 
  	digitalWrite(9, 0);
    digitalWrite(10, 0);
	}
  
//  Serial.print("Ing 13: ");
//  Serial.print(digitalRead(13));
//  Serial.print(" Ing 12: ");
//  Serial.print(digitalRead(12));
//  Serial.print(" Ing 11: ");
//  Serial.print(digitalRead(11));
//  Serial.print(" Utg 10: ");
//  Serial.println(digitalRead(10));
//  Serial.print(" Utg 9: ");
//  Serial.println(digitalRead(9));
//  delay(1000);
  
}


Her er også koblingsskjema for å kunne koble opp via releer og 230V kontaktorer.