Vous êtes sur la page 1sur 7

INFORME N°1

Introducción al manejo de circuitos digitales: implementación de funciones lógicas con arduino uno

Miller Danilo Pinzon Ortiz


Codigo: 201520991
diegofernando.cristancho@uptc.edu.co

Johan Sebastian Sotelo Niño


Codigo:201512642
johan.sotelo@uptc.edu.co

Abstract.  Cables conectores y 2 pares de


caimanes
The circuits of combinational logic have  Computador
diverse applications, among them the  Bata blanca
systems of control to tie open, widely used in  Hojas técnicas IMPRESAS (Data-
the industry, therefore it is important that Sheets) de los circuitos solicitados.
the student design and analyze this type of  Tarjeta Arduino UNO
circuits relying on the current  Fuente 5V
computational tools for the simulation of  Multímetro
circuits.  - Osciloscopio

Procedimiento
Objetivos
1.Circuito combinacional
 Calcular la resistividad aparente del terreno
 Calcular la resistencia puesto a tierra del 1.1 Analice el siguiente circuito y obtenga
terreno por los distintos métodos conocidos. la tabla de verdad de la salida F.
 Dar un informe de los componentes de los
que probablemente se componga el terreno
medido.

Materiales y equipos

 1 Circuito integrado 74LS193


 1 Circuito integrado 555
 10 leds rojos con 10 resistencias de
270Ω 1/4W Figura 1. Circuito combinacional
 10 resistencias de 1KΩ 1/4W
 1 Dipswitch 8 entradas mínimo 1.2 Simule el circuito con Proteus®,
 1 potenciometro de 100KΩ planteando varias posibilidades de
 1 resistencias de 100KΩ 1/4W combinación para las señales de
 1 Condensador de 10nF y 1 entradas A, B, C, D.
condensador de 10μF
 1 diodo 1N4007
 1 protoboard.
1.3 Simplifique el circuito y obtenga la
función F1, compárela con la función F.
¿Cuántas compuertas se
eliminan? Cuantos circuitos integrados
con compuertas TTL requeriría para
implementar F y para implementar
F1? Indique las referencias para cada
caso.

1.4 Implemente con Arduino 1 las


funciones F y F1 a partir de las mismas
entradas A, B, C, D habilitadas
con resistencias de pull-up externas de
1KΩ y cuatro cables que pueden ser
usados como interruptores.

Las salidas F y F1 deberán conectarse a


resistencia –led externo.
Figura 2. Circuito combinacional del CI
Visualice en los leds los cambios de 74LS249
salida y compare resultados.
2.2 Implemente con la tarjeta de Arduino,
Conecte el osciloscopio simultáneamente el circuito del 74LS249. Conecte las
e las dos salidas. Compare el entradas L y R con interruptores y
comportamiento en el eje t cuando se resistencias de pull-down externas de 1KΩ
experimente un cambio lógico. y las entradas A, B, C, D desde los
terminales de salida del 74LS193, el cual
1.5 Sustente el numeral. a su vez depende del oscilados 555, tal
como se indica en la figura 3.
2 Circuitos lógicos de integrados
comerciales 74LS249 Cambien la velocidad de combinación de
las entradas A, B, C, D. Visualice los
2.1 Analice el circuito interno del chip cambios en las entradas.
74LS249. Obtenga la tabla de verdad,
considerando los bits de mayor peso a L Concluya acerca del comportamiento del
y R. describa el comportamiento general circuito.
del circuito, ¿cuál es su aplicación?
2.2 Sustente el numeral 4.2.

Figura 3. Circuito contador digital de 4


bits
4.3 Circuitos lógicos de integrados 1.1
comerciales 74LS148 F = !((A && (!(B && B) || C) || !(B || B) &&
!D) || ((!(B || B) && !(A && !(A && A))) ||
3.1 Analice el circuito interno del chip F=((B || B) && (A && !(A && A)))) && ((A
74LS148 consulte en la hoja técnica su && (!D || !C)))) && ((((B || C) && A) &&
tabla de verdad. Simúlelo en !(C || !C)) || ((!((B || C) && A)) && (C ||
proteus, manteniendo E1 en bajo y !C)))
cambiando una sola de las entradas (X0
a X7) en bajo mientras el resto a b c d F
permanece en alto. Cuál es su 0 0 0 0 0
aplicación?
0 0 0 1 1
0 0 1 0 0
0 0 1 1 1
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 0
1 0 1 0 0
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
Tabla 1. Tabla de verdad F.
Figura 4. Circuito combinacional del CI
74LS148 1.2

3.2 Implemente con la tarjeta de Arduino,


el diagrama del circuito del 74LS148.
Conecte las entradas a partir del con
interruptores y resistencias de pull-up
internas del microcontrolador y salidas
por leds. Concluya acerca del
comportamiento del circuito.

3.3 Sustente el numeral 4.3.

Toma de datos

1.Circuitos combinacional Figura 5. Simulación del ejercicio 1.2.


1.3
F1 = !A && (D || B)

A B D F1
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
Tabla 2. Tabla de verdad F1.
Figura 6. Resultados dados por el
osciloscopio.
1.4
boolean A, B, C, D, F, F1;
4.2 Circuitos lógicos de integrados
comerciales 74LS249
void setup() {
pinMode(1, INPUT);
2.1
pinMode(2, INPUT);
L R D C B A y0 y1 y2
pinMode(3, INPUT);
pinMode(4, INPUT); 1 1 0 0 0 0 1 1 1
pinMode(9, OUTPUT); 1 x 0 0 0 1 0 1 1
pinMode(8, OUTPUT); 1 x 0 0 1 0 1 1 0
}
1 x 0 0 1 1 1 1 1
void loop() { 1 x 0 1 0 0 0 1 1
A = digitalRead(1); 1 x 0 1 0 1 1 0 1
B = digitalRead(2); 1 x 0 1 1 0 1 0 1
C = digitalRead(3); 1 x 0 1 1 1 1 1 1
D = digitalRead(4);
1 x 1 0 0 0 1 1 1
F = !((A && (!(B && B) || C) || !(B || B) 1 x 1 0 0 1 1 1 1
&& !D) || ((!(B || B) && !(A && !(A && A))) 1 x 1 0 1 0 0 0 0
|| ((B || B) && (A && !(A && A)))) && ((A 1 x 1 0 1 1 0 0 1
&& (!D || !C)))) && ((((B || C) && A) && 1 x 1 1 0 0 0 1 0
!(C || !C)) || ((!((B || C) && A)) && (C ||
1 x 1 1 0 1 1 0 0
!C)));
F1 = F1 = !A && (D || B); 1 x 1 1 1 0 0 0 0
1 x 1 1 1 1 0 0 0
digitalWrite(8, F);
digitalWrite(9, F1); L R D C B A y3 y4 y5 y6
} 1 1 0 0 0 0 1 1 1 0
1 x 0 0 0 1 0 0 0 0
1 x 0 0 1 0 1 1 0 1
1 x 0 0 1 1 1 0 0 1
1 x 0 1 0 0 0 0 1 1
1 x 0 1 0 1 1 0 1 1 int A=0;
1 x 0 1 1 0 1 1 1 1 int B=0;
int C=0;
1 x 0 1 1 1 0 0 0 0
int D=0;
1 x 1 0 0 0 1 1 1 1
1 x 1 0 0 1 1 0 1 1 int Ya=6;
1 x 1 0 1 0 1 1 0 1 int Yb=7;
1 x 1 0 1 1 1 0 0 1 int Yc=8;
int Yd=9;
1 x 1 1 0 0 0 0 1 1
int Ye=10;
1 x 1 1 0 1 1 0 1 1 int Yf=11;
1 x 1 1 1 0 1 1 1 1 int Yg=12;
1 x 1 1 1 1 0 0 0 0
Tabla 3. Tabla de verdad 74LS249. int eYa=0;
int eYb=0;
2.2 int eYc=0;
int eYd=0;
int eYe=0;
int eYf=0;
int eYg=0;

int cv=21;
void setup() {
Serial.begin(9600);
pinMode(pA,INPUT);
pinMode(pB,INPUT);
pinMode(pC,INPUT);
pinMode(pD,INPUT);
pinMode(cv,OUTPUT);
pinMode(Ya,OUTPUT);
pinMode(Yb,OUTPUT);
pinMode(Yc,OUTPUT);
pinMode(Yd,OUTPUT);
pinMode(Ye,OUTPUT);
pinMode(Yf,OUTPUT);
pinMode(Yg,OUTPUT);
}
void loop() {
digitalWrite(cv,HIGH);
A=digitalRead(pA);
B=digitalRead(pB);
C=digitalRead(pC);
D=digitalRead(pD);
3 Circuitos lógicos de integrados Serial.print("A: ");
comerciales 74LS148. Serial.print(A);
Serial.print(" B: ");
int pA=2; Serial.print(B);
int pB=3; Serial.print(" C: ");
int pC=4; Serial.print(C);
int pD=5; Serial.print(" D: ");
Serial.println(D);
eYa=((!B&&!C&&!D)||(!A&&!B&&C)||(!A&
&B&&D)||(A&&!C&&D));
eYb=((!A&&!B)||(!D&&!C)||(!A&&C&&D)||(
!B&&!C));
eYc=((!A&&B)||(!B&&!C)||(!B&&D));
eYd=((!B&&!D)||(B&&!C&&D)||(!A&&!B&&
C)||(C&&!D));
eYe=((!B&&!D)||(C&&!D));
eYf=((A||B||!D)&&(A||B||!C)&&(!B||!C||!D));
eYg=((A||B||C)&&(!B||!C||!D));

digitalWrite(Ya,eYa);
digitalWrite(Yb,eYb);
digitalWrite(Yc,eYc);
digitalWrite(Yd,eYd);
digitalWrite(Ye,eYe);
digitalWrite(Yf,eYf);
digitalWrite(Yg,eYg);
Figura 6. Simulación del ejercicio 3.1.
3.1
EI x0 x1 x2 x3 x4 x5 x6 x7 A0 A1 El A2circuito CI 74LS148 es un codificador
de código BCD .
0 x x x x x x x x 1 1 1
1 1 1 1 1 1 1 1 1 1 1 3.21
1 x x x x x x x 0 0 0 int0x3=5;
1 x x x x x x 0 1 0 0 int1x4=6;
1 x x x x x 0 1 1 0 1 int0x5=7;
int x6=8;
1 x x x x 0 1 1 1 0 1 int1x7=9;
1 x x x 0 1 1 1 1 1 0 int0e1=10;
1 x x 0 1 1 1 1 1 1 0 1
1 x 0 1 1 1 1 1 1 1 1 int0c0=11;
int c1=12;
1 1 1 1 1 1 1 1 1 1 1 1
int c2=13;
Tabla 4. Tabla de verdad saca de la hoja int e0=A5;
técnica. int gs=A3;

int ex0=0;
int ex1=0;
int ex2=0;
int ex3=0;
int ex4=0;
int ex5=0;
int ex6=0;
int ex7=0;
int ee1=0;

int ec0=0;
int ec1=0;
int ec2=0;
int ee0=0;
int egs=0;

void setup() {
// put your setup code here, to run once:
pinMode(x0,INPUT_PULLUP);
pinMode(x1,INPUT_PULLUP);
pinMode(x2,INPUT_PULLUP);
pinMode(x3,INPUT_PULLUP);
pinMode(x4,INPUT_PULLUP);
pinMode(x5,INPUT_PULLUP);
pinMode(x6,INPUT_PULLUP);
pinMode(x7,INPUT_PULLUP);
pinMode(e1,INPUT_PULLUP);

pinMode(c0,OUTPUT);
pinMode(c1,OUTPUT);
pinMode(c2,OUTPUT);
pinMode(e0,OUTPUT);
pinMode(gs,OUTPUT);
}
void loop() {
// put your main code here, to run
repeatedly:
ex0=digitalRead(x0);
ex1=digitalRead(x1);
ex2=digitalRead(x2);
ex3=digitalRead(x3);
ex4=digitalRead(x4);
ex5=digitalRead(x5);
ex6=digitalRead(x6);
ex7=digitalRead(x7);
ee1=digitalRead(e1);

ec0=(!((!ex1&&ex2&&ex4&&ex6&&ex7&
&!ee1)||(!ex3&&ex4&&ex6&&!ee1)||(!ex5
&&ex6&&!ee1)||(!ex7&&!ee1)));
ec1=(!((!ex2&&ex4&&ex5&&!ee1)||(!ex3&
&ex4&&ex5&&!ee1)||(!ex6&&!ee1)||(!ex7
&&!ee1)));
ec2=(!((!ex4&&!ee1)||(!ex5&&!ee1)||(!ex6
&&!ee1)||(!ex7&&!ee1)));
ee0=(!(ex0&&ex1&&ex2&&ex3&&ex4&&
ex5&&ex6&&ex7&&(!ee1)));
egs=(!((!(ex0&&ex1&&ex2&&ex3&&ex4&
&ex5&&ex6&&ex7&&(!ee1)))&&(!ee1)));

digitalWrite(c0,ec0);
digitalWrite(c1,ec1);
digitalWrite(c2,ec2);
digitalWrite(e0,ee0);
digitalWrite(gs,egs);}

Vous aimerez peut-être aussi