Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ALGEBRA DE BOOLE
EJEMPLOS:
A●B=A∧B=AB
C+D=C∨D
Ā = A’
REPRESENTACION DE FUNCIONES LOGICAS
A+A’= 1
A.A’=0
MAPA DE KARNAUGH
EJEMPLO
f(A,B,C)= A’BCD’+A’BCD+AB’C’D’+AB’C’D+AB’CD’+AB’CD+ABC’D’+
ABC’D+ABCD’+ABCD
A B C D f(A,B,C)
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 1
9 1 0 0 1 1
10 1 0 1 0 1
11 1 0 1 1 1
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 1
f(A,B,C,D)= m (0,1,2,3,5,8,10,12,14)
A B C D f(A,B,C,D)
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 1
6 0 1 1 0 0
7 0 1 1 1 0
8 1 0 0 0 1
9 1 0 0 1 0
10 1 0 1 0 1
11 1 0 1 1 0
12 1 1 0 0 1
13 1 1 0 1 0
14 1 1 1 0 1
15 1 1 1 1 0
F(A,B)=
Ejemplo.
Tenemos una puerta que se puede controlar desde 2 habitaciones contiguas.
Para que la puerta funcione debe estar accionando cualquiera de los 2
pulsadores existentes, la puerta no se abrirá si dos operarios accionan
simultáneamente.
Variables: A = PULSADOR 1
B = PULSADOR 2
M = A. B + A . B
EJ. 11
A) Plantear una función booleana que modelice el ej.
B) Tabular dicha función.
C) Simplificarla.
D) Diseñar un circuito para la función.
E) Modelizar el problema con Arduino.
C D
f(A,B,C,D)= m7+m9+m10+m11+m12+m13+m14+m15
Pte
A B C D f(A,B,C,D)
0 0 0 0 0 0
F= a’bcd + ab’c’d+
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 1
10 1 0 1 0 1
11 1 0 1 1 1
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 1
15 1 1 1 1 1
F= a’bcd+ab’c’d+
m7+m9+m10+m11+m12+m13+m14+m15
F=ab+ac+ad+bcd
A .
B .
C .
D .
F= ab+ac+ad+bcd
int resp1 = 0;
void loop()
int resp2 = 0; {
int resp3 = 0; resp1 = digitalRead(boton1);
resp2 = digitalRead(boton2);
int resp4 = 0;
resp3 = digitalRead(boton3);
resp4 = digitalRead(boton4);
int led1 = 6;
if(resp1 == HIGH && resp2 == HIGH)
int led2 = 7;
{
int boton1 = 10; digitalWrite(led1, HIGH);
int boton2 = 11; digitalWrite(led2, LOW);
}
int boton3 = 12;
else if (resp1 == HIGH && resp3 == HIGH)
int boton4 = 13; {
digitalWrite(led1, HIGH);
digitalWrite(led2, LOW);
void setup()
}
{ else if (resp1 == HIGH && resp4 == HIGH)
pinMode(led1, OUTPUT); {
digitalWrite(led1, HIGH);
pinMode(led2, OUTPUT);
digitalWrite(led2, LOW);
pinMode(boton1, INPUT); }
pinMode(boton2, INPUT); else if (resp2 == HIGH && resp3 == HIGH && resp4 == HIGH)
{
pinMode(boton3, INPUT);
digitalWrite(led1, HIGH);
pinMode(boton4, INPUT); digitalWrite(led2, LOW);
} }
else
{
digitalWrite(led2, HIGH);
digitalWrite(led1, LOW);
}
delay(5000);
}