Comparadores de magnitud
Un comparador de magnitud es un circuito combinacional que
compara dos números, A y B y determina sus magnitudes relativas. La salida de
la comparación se especifica por tres variables binarias que indican si A>B,
A=B o A
Para determinar si A es mayor o menor que B, se inspeccionan
las magnitudes relativas de pares de dígitos significativos empezando desde
la posición mas significativa. Si los dos dígitos son iguales, el par de
dígitos de la siguiente posición significativa más baja se comparan. Esta
comparación continúa hasta que se alcanza un par de dígitos desiguales. Si el
dígito correspondiente de A es 0 y B es 1, se tiene que A < B.
Funciones para A mayor o menor que B La comparación
secuencial puede expresarse en forma lógica por las siguientes dos funciones
booleanas:
(A>B)= A3B3’ + A2B2’X3 + A1B1’X3X2 +
A0B0’X3X2X1
(A<B)= A3’B3 + A2’B2X3 + A1’B1X3X2 +
A0’B0X3X2X1
Circuito Comparador
Los circuitos comparadores son integrados que se encargan de
evaluar dos números en sistema binario conformados por cuatro dígitos cada uno.
Dichos circuitos nos informan si los números son diferentes o iguales por medio
de tres salidas.
La siguiente imagen contiene un esquema que indica el orden
de los pines de la referencia mas común de integrados comparadores que es la
7485.
Construccion de circuito
Materiales
· - Circuito integrado 7485
· - 3 led’s
· - 3 resistencias de 330 Ω
· - Interruptor de 8 vías (Nosotros lo haremos
programando los pulsos en el arduino)
·
Arduino
Descripción
En este proyecto vamos a construir un sistema comparador,
este se encarga de comparar 2 números en su sistema binario con un interruptor
de 8 vías creando los pulsos ya sean high o Low correspondiendo a
“0” y a “1”. Este interruptor lo vamos a sustituir con la tablilla arduino ya
que con este dispositivo puedes generar dichos pulsos sin la necesidad de
utilizar un interruptor.
Estas son entradas del circuito integrado estas van a estar
a los pines 15, 13, 12, 10 ya que son aquí donde vamos introducir los pulsos
binarios que uniéndolos van a ser el primer número a comparar.
En las entradas 1, 14, 11, 9 es donde vamos a introducir los
pulsos binarios del segundo número.
Los
pines 5, 6, 7 son las salidas donde nos va comparar los 2 números introducíos
en en las entradas y nos dira si “es mayor que”, “Menor que” y una “igualdad”.
En el pin 5 será “A>B” en el 5 abra “A=B” y en el 7 “A<B”. Estas salidas
irán conectadas a 3 led los cuales nos indicaran cual de la 3 salidas se activó.
Posición de los switch
A=0001
B=0010
A<B Se enciende el tercer led
A=0010
B=0001
A>B Se enciende el primer led
A=0010
B=0010
A=B se enciende el led de en medio
Arduino
En arduino vamos a programar los pulsos binarios que van salir para convertirlos en números
binarios y compararlos y así decidir cuál es mayor según el circuito integrado
y los led indicadores.
Las salidas 22, 24, 26, 28 irán conectadas al circuito
integrado en los pines 15, 13, 12, 10
Las salidas 31, 33, 35, 37 irán conectadas al circuito
integrado en los pines 1, 14, 11, 9
int a1=22;
int a2=24;
int a3=26;
int a4=28;
//Primer número que sería el numero A
int b1=31;
int b2=33;
int b3=35;
int b4=37;
//Segundo numero B
void setup(){
pinMode(a1, OUTPUT);
pinMode(a2, OUTPUT);
pinMode(a3, OUTPUT);
pinMode(a4, OUTPUT);
pinMode(b1, OUTPUT);
pinMode(b2, OUTPUT);
pinMode(b3, OUTPUT);
pinMode(b4, OUTPUT);
}
void loop()
{
digitalWrite(a1,HIGH);
digitalWrite(a2,LOW);
digitalWrite(a3,LOW);
digitalWrite(a4,LOW);
digitalWrite(b1,HIGH);
digitalWrite(b2,LOW);
digitalWrite(b3,LOW);
digitalWrite(b4,LOW);
//A=0001
B=0001
delay(100);
digitalWrite(a1,HIGH);
digitalWrite(a2,LOW);
digitalWrite(a3,LOW);
digitalWrite(a4,LOW);
digitalWrite(b1,LOW);
digitalWrite(b2,LOW);
digitalWrite(b3,LOW);
digitalWrite(b4,LOW);
//A=0001
B=0000
delay(100);
digitalWrite(a1,LOW);
digitalWrite(a2,LOW);
digitalWrite(a3,LOW);
digitalWrite(a4,LOW);
digitalWrite(b1,HIGH);
digitalWrite(b2,LOW);
digitalWrite(b3,LOW);
digitalWrite(b4,LOW);
//A=0000
B=0001
delay(100);
digitalWrite(a1,LOW);
digitalWrite(a2,LOW);
digitalWrite(a3,LOW);
digitalWrite(a4,LOW);
digitalWrite(b1,LOW);
digitalWrite(b2,HIGH);
digitalWrite(b3,LOW);
digitalWrite(b4,LOW);
//A=0000
B=0010
delay(100);
digitalWrite(a1,HIGH);
digitalWrite(a2,HIGH);
digitalWrite(a3,LOW);
digitalWrite(a4,LOW);
digitalWrite(b1,LOW);
digitalWrite(b2,LOW);
digitalWrite(b3,LOW);
digitalWrite(b4,LOW);
//A=0011
B=0000
delay(100);
digitalWrite(a1,HIGH);
digitalWrite(a2,LOW);
digitalWrite(a3,LOW);
digitalWrite(a4,LOW);
digitalWrite(b1,HIGH);
digitalWrite(b2,HIGH);
digitalWrite(b3,LOW);
digitalWrite(b4,LOW);
//A=0001
B=0011
delay(100);
digitalWrite(a1,HIGH);
digitalWrite(a2,LOW);
digitalWrite(a3,LOW);
digitalWrite(a4,LOW);
digitalWrite(b1,HIGH);
digitalWrite(b2,HIGH);
digitalWrite(b3,HIGH);
digitalWrite(b4,LOW);
//A=0001
B=0111
delay(100);
digitalWrite(a1,LOW);
digitalWrite(a2,LOW);
digitalWrite(a3,LOW);
digitalWrite(a4,LOW);
digitalWrite(b1,LOW);
digitalWrite(b2,LOW);
digitalWrite(b3,LOW);
digitalWrite(b4,LOW);
//A=0000
B=0000
delay(1000);
}
Conclusión
Mi conclusión es que este circuito serviría mucho en varios
casos al momento de armar una maquina en la industria ya que puede decidir cuál
es mayor o menor y ayudaría a facilitar el trabajo, además te ayudaría a
ahorrar componentes utilizando este circuito integrado.
No hay comentarios.:
Publicar un comentario