Control de una prensa con Arduino

Una prensa se pone en marcha mediante la activación simultánea de 3 pulsadores. Si se pulsa sólo dos pulsadores, la prensa funcionará, pero se activará una señal luminosa indicando una manipulación incorrecta. Cuando se pulse un sólo dispositivo se encenderá la lámpara pero no se activará la prensa. Obtener la tabla de verdad y las funciones lógicas correspondientes.
  • Dibujar el circuito correspondiente.
  • Realizar el algoritmo.
  • Realizar el programa para Arduino.
Montaje realizado

 
Diagrama de flujo



Código

int pinLed=8;
int pinPulsadorA=10;
int pinPulsadorB=11;
int pinPulsadorC=12;
int estadoPulsadorA=0;
int estadoPulsadorB=0;
int estadoPulsadorC=0;
int pinMotor=5;
int pulsadoresActivados=0;

void setup(){
pinMode(pinLed,OUTPUT);
pinMode(pinMotor,OUTPUT);
pinMode(pinPulsadorA,INPUT);
pinMode(pinPulsadorB,INPUT);
pinMode(pinPulsadorC,INPUT);
}

void loop(){
  estadoPulsadorA=digitalRead(pinPulsadorA);
  estadoPulsadorB=digitalRead(pinPulsadorB);
  estadoPulsadorC=digitalRead(pinPulsadorC);
pulsadoresActivados= estadoPulsadorA+estadoPulsadorB+estadoPulsadorC;

if (pulsadoresActivados==3)
 {
  digitalWrite(pinMotor,HIGH);
  digitalWrite(pinLed,LOW);
}
else if (pulsadoresActivados==2)
{
  digitalWrite(pinMotor,HIGH);
  digitalWrite(pinLed,HIGH);
 }
else if (pulsadoresActivados==1)
{
  digitalWrite(pinLed,HIGH);
  //delay(500);
}
 else
{
  digitalWrite(pinLed,LOW);
 digitalWrite(pinMotor,LOW);
   //delay(500);
}
}

No hay comentarios: