Montaje 2 ELEVADOR sin EDUBASICA
FUNCIONES LÓGICAS:
Tenemos un elevador neumático que se puede controlar desde 2 habitaciones contiguas del taller. Para que el elevador funcione debe estar accionado cualquiera de los 2 pulsadores existentes, pero por seguridad no funcionará si dos operarios la accionan simultáneamente.
Identificar las variables de entrada y función de salida:
Entradas:
- A: un pulsador
- B: un pulsador
Salida o valor de la función:
- Motor que acciona el compresor del elevador
TABLA DE VERDAD:
Función Canónica: M(FC1) = NOT(A) B + A NOT(B)
Puertas Lógicas:
- 2 puertas NOT
- 2 puertas AND
- 1 puerta OR
(Es decir, una función XOR)
PROGRAMA:
/*
Implementación de Función lógica
*/
int var1 = 1; //Pin de entrada del pulsador 1
int var2 = 2; //Pin de entrada del pulsador 1
int led = 5; //Pin de salida para el led(rojo)
int A = 0; //Para almacenar el estado de la variable1
int B = 0; //Para almacenar el estado de la variable2
int resultado = 0; //Para almacenar el resultado
void setup() {
pinMode(var1, INPUT); //Init pin de entrada 1 como salida
pinMode(var2, INPUT); //Init pin de entrada 2 como salida
pinMode(led, OUTPUT); //Iniciliza el pin del led como salida
}
void loop(){
A = digitalRead(var1); //Lee el estado 1 y lo almacena
B = digitalRead(var2); //Lee el estado 2 y lo almacena
//Función Lógica ------ R=(â*b)+(a*^b)
resultado = (!A && B) || (A && !B);
digitalWrite(led, resultado); //Escribimos el resultado en el led
}