Вы находитесь на странице: 1из 55

ESTRUCTURA Y DISEO DE

CIRCUITOS DIGITALES

INGENIERA EN SISTEMAS Y REDES INFORMATICAS

MANUAL DE PRCTICAS DE LABORATORIO

FACULTAD DE CIENCIA Y TECNOLOGA


UGB

NDICE
Pg.

INTRODUCCION..................................................................................................................................................3
SEGURIDAD EN LABORATORIOS DE ELECTRNICA.............................................................................................4
FACTORES A CONSIDERAR PARA EVITAR ACCIDENTES.......................................................................................4
NORMAS DE SEGURIDAD EN EL LABORATORIO..................................................................................................6
PRACTICA 1. CIRCUITOS CON EL 555.................................................................................................................7
PRACTICA 2: COMPUERTA LOGICA AND (Y) (.)................................................................................................10
PRACTICA 3: COMPUERTA LOGICA OR (O, +)...................................................................................................16
PRACTICA 4: COMPUERTA NOT (NO o INVERSOR)...........................................................................................19
PRCTICA 5: UNIVERSALIDAD DE COMPUERTAS LOGICAS..............................................................................22
PRACTICA 6: LOGICA COMBINACIONAL 1........................................................................................................25
PRACTICA 7: LOGICA COMBINACIONAL 2........................................................................................................27
PRACTICA 8: LOGICA COMBINACIONAL 3........................................................................................................28
PRACTICA 9: COMPUERTA LOGICA NOR ( NO O )............................................................................................29
PRCTICA 10: COMPUERTA LOGICA EX OR......................................................................................................32
PRCTICA 11: FLIP FLOP RS CON COMPUERTAS NAND.................................................................................34
PRCTICA 12: INTRODUCCION A ARDUINO HOLA MUNDO.........................................................................36
PRCTICA 13: E/S DIGITALES............................................................................................................................40
PRCTICA 14: ENTRADA ANALGICA Y SALIDA PWM......................................................................................44
PRCTICA 15: SENSOR LDR...............................................................................................................................49
ELABORACIN DE PROYECTO DIGITAL..............................................................................................................54

2
UGB
INTRODUCCION

La implementacin de este manual de prcticas de la asignatura de Estructura y Diseo de Circuitos Digitales, obedece
a la necesidad de facilitarle al estudiante de Ingeniera en Sistemas y Redes Computacionales, que en un mismo
documento encuentre las Guas Prcticas para la asignatura del presente ciclo, con el fin de enterarse de lo que se
desarrollar en el laboratorio de Electrnica y sea de provecho para su preparacin acadmica.

Este manual contiene la teora necesaria para cada prctica y sus correspondientes esquemas, diagramas y
procedimiento para la ejecucin de los circuitos que se proponen, tambin encontrar al final de cada prctica una
serie de preguntas diseadas para la obtencin de una conclusin ms acertada.

La Electrnica Digital la encontramos en nuestras vidas como algo cotidiano y es que ya la vida sin hacer uso de las
nuevas tecnologas se vuelve algo imposible en esta vida moderna, y principalmente para la educacin universitaria
actual.

Es por eso que el estudiante debe leer, analizar y comprender cada prctica antes de realizarla, para un mejor provecho
de su rendimiento, es as que lo que se pretende lograr es un estudiante con una preparacin es el rea de la Electrnica
Digital que est acorde a los tiempos modernos que la globalizacin exige y de esta forma ser competente en el campo
laboral que se desempee.

3
UGB
SEGURIDAD EN LABORATORIOS DE ELECTRNICA

INSTRUCTIVO PARA EL ESTUDIANTE

Cuando se trabaja con electricidad es imprescindible que se tenga claro los riesgos que conlleva el trabajar con
corriente elctrica. Esta, aunque no es la principal causa de accidentes, cuando ocurren son graves y en muchos casos
mortales.

Las consideraciones que se citan a continuacin deben ser consideradas por el estudiante cuando trabaje en los
laboratorios, pero ms importante an, cuando en su vida profesional se vea expuesto a situaciones en donde exista
corriente elctrica.

Riesgos de incendio
Los incendios provocados por causas elctricas ocurren principalmente por:
Sobrecarga de conductores que provoca calentamiento en cables y equipo.
Sobrecalentamiento debido a fallas de equipo de control.
Fallas en el aislante de conductores.
Combustin de materiales inflamables por cercana a equipos de baja tensin.
Combustin de materiales inflamables por chispas o arcos.

Shock elctrico
El shock elctrico, dependiendo de su intensidad, puede causar desde una sensacin de cosquilleo, hasta estmulos
musculares dolorosos que podran provocar la prdida total del control muscular y llegar hasta la muerte.
Los mecanismos de muerte por electricidad son:

Fibrilacin ventricular. Se denomina fibrilacin ventricular al trastorno del ritmo cardiaco que presenta un
ritmo ventricular rpido (>250 latidos por minuto), irregular, de morfologa catica y que lleva
irremediablemente a la prdida total de la contraccin cardiaca, con una falta total del bombeo sanguneo y por
tanto a la muerte del paciente.
Tetanizacin. Es un proceso por el cual un msculo deja de responder a los estmulos que lo hacen contraer
voluntariamente y por lo tanto moverse, demostrando que estamos vivos y respiramos. Se manifiesta por la
contraccin de los msculos de las extremidades, lo que trae como consecuencia que la vctima quede
prendida al conductor.
Doble accin. Tetanizacin y fibrilacin a la vez
Parlisis bulbar. Afecta predominantemente de los nervios que controlan la masticacin, la deglucin y el
habla).
Parlisis cardiocirculatoria y respiratoria.

FACTORES A CONSIDERAR PARA EVITAR ACCIDENTES

a) Intensidad de la corriente
En corriente alterna, el umbral mnimo de percepcin es 1.1 mA.
El umbral mnimo de contraccin muscular ocurre con 9 mA, pudiendo ocurrir contraccin de los
msculos, que expele al accidentado lejos del conductor. De no ser as, se podra llegar a la asfixia
por contraccin de los msculos respiratorios.
En corriente alterna el umbral de corriente peligroso corresponde a 80 mA, donde se puede llegar a
fibrilacin ventricular.
Entre 3 o 4 amperes de corriente puede llegar a causar depresin del sistema nervioso central

4
UGB
Esto se puede resumir de la siguiente manera:

Intensidad Posible efecto en el cuerpo humano


1 mA Leve sensacin de hormigueo.
De 2 a 4 mA Temblor de los nervios en los dedos hasta el antebrazo.
De 5 a 7 mA Leve sensacin de choque, no doloroso aunque incmodo. La persona
promedio puede soltar la fuente que proporciona corriente. Reacciones
involuntarias al choque pueden resultar en lesiones.
De 10 a 15 mA Sensacin desagradable, pero todava es posible soltarse.
De 19 a 22 mA Fuertes dolores de brazo. Ya no es posible soltarse voluntariamente.
De 25 a 50 mA Irregularidades cardiacas, aumento de presin arterial, efecto de
tetanizacin, inconsciencia y fibrilacin ventricular.
De 50 a 200mA Menos de medio ciclo cardiaco: No se da fibrilacin. Fuerte contraccin
muscular.
Menos de un ciclo cardiaco: Fibrilacin, inconsistencia. Marcas
visibles. Paro cardiaco reversible.
Ms de un ciclo cardiaco: Quemaduras.
Mayor a 4A Parlisis cardiaca y respiratoria. Quemaduras graves. Con toda
probabilidad, puede causar la muerte.
10 A Paro cardiaco, quemaduras severas y con toda probabilidad, puede causar
la muerte.

b) Resistencia elctrica del cuerpo


Esta depende de muchos factores, por lo que es difcil de determinar. El elemento principal en la resistencia
del cuerpo humano es la resistencia de la piel, la cual vara de persona a persona. Esta disminuye si se est
enfermo, se tienen lesiones en la piel y si el ambiente circundante es hmedo. La resistencia entre 2 partes
opuestas del cuerpo puede estar en el orden de los kilo-ohms, aunque puede ser de apenas unas decenas de
ohms entre partes cercanas, sobre todo si la piel est humedecida. Bajo condiciones secas la piel humana es
muy resistente. Si la piel est hmeda, la resistencia del cuerpo baja considerablemente.

Condicin seca: I = V/R = 120 v/100000 = 1.2 mA

Condicin hmeda: I = V/R= 120 v/1000 = 120 mA

Lo suficiente para causar fibrilacin ventricular.


Tensin y corriente
La intensidad de la corriente (amperes) es el factor fundamental para poder predecir el tipo de dao que la
electricidad puede causar al cuerpo. Voltajes menores a 20 o 30 volts son inofensivos excepto en ciertos
lugares muy sensibles del cuerpo tales como la boca, labios, lengua, genitales, etc. Por encima de esos
voltajes, la corriente que circula puede llegar a provocar daos graves e incluso la muerte.

c) Factores en que cuenta el tiempo de contacto


Para que se produzca fibrilacin en el corazn se requiere que el contacto sea de al menos del orden de un
perodo cardiaco medio, que es del orden de 0.75 seg. Tiempos de contacto menores a eso no producen
fibrilacin. Esto es muy importante desde el punto de vista de la proteccin que suministran los disyuntores
diferenciales, ya que el corte de corriente en ellos se produce en tiempos aproximados de 200 milisegundos, a
efecto de que el organismo no sea atravesado por corrientes peligrosas.

5
UGB
d) Forma de corriente
Tanto en corriente alterna como en continua se aplica la Ley de Ohm.
La corriente continua puede producir electrlisis pero teniendo en cuenta el tiempo de exposicin y la
tensin.
La corriente alterna, en igualdad de condiciones, es de 3 a 4 veces menos peligrosa que la corriente
continua.
No obstante, en trminos generales, 100 mA, tanto la corriente continua como la alterna, son
peligrosamente mortales.

e) Otras consideraciones
La susceptibilidad es mayor si la persona est haciendo un buen contacto con tierra, tal como cuando
est apoyada a superficies hmedas o mojadas.
Ambientes con alta temperatura, en donde la transpiracin de las personas se incrementa, presentan un
riesgo adicional, porque el aislamiento que proporciona la ropa se ve reducida debido a la humedad.
Se pueden producir quemaduras al pasar corriente elctrica por el cuerpo, en especial en los puntos de
contacto con los conductores elctricos.
Descargas elctricas tales como chispas o arcos, pueden encender vapores inflamables, causando
explosiones y fuego.
En el laboratorio, el shock elctrico es posible que sea leve, pero puede generar otros riesgos por la
reaccin refleja de sobresalto, que puede hacer que el afectado o sus compaeros pierdan el control de
materiales y equipo que se est manipulando, causando otro tipo de accidentes.

NORMAS DE SEGURIDAD EN EL LABORATORIO

1. Hbitos de conducta
No fumar en los laboratorios por seguridad e higiene.
No consumir alimentos ni bebidas dentro del laboratorio.

2. Mantener el puesto de trabajo limpio y en orden


La mesa de trabajo debe estar libre de abrigos, bolsos, libros, etc.
No dejar bultos u otros objetos en los lugares de circulacin, en especial entre los pasillos de las mesas.

3. Salud
Si tiene algn padecimiento, o si se usa algn medicamento que considere relevante para el curso normal
de la prctica, esta debe informarse al profesor antes de realizar la prctica.
No ingresar al laboratorio bajo los efectos de drogas o alcohol.

4. Vestimenta
En trabajos con mquinas o en sus inmediaciones, no se debe vestir con prendas sueltas o con partes que
cuelguen, como por ejemplo, corbatas, flecos, etc.
No se deben usar sandalias, zapatos abiertos o tacn alto en el laboratorio.
Usar camisas de manga larga de algodn. Materiales sintticos pueden provocar que en un accidente de
quemadura esta se adhiera a la piel. Se sugiere el uso de gabacha, que no sea larga ni floja, de algodn o
con un porcentaje alto de este.
Usar pantaln largo.
No se debe, al realizar la prctica, llevar anillos, relojes de pulsera, collares u otros accesorios que puedan
engancharse, tales como piercings en cualquier parte del cuerpo.
En caso de que se tenga pelo largo, se debe llevar recogido con el fin de evitar riesgos.
Realizar los laboratorios con ropa seca y en superficies secas.

6
UGB
5. En general
En los laboratorios no se deben dar bromas, ni jugar, ni comunicarse con gritos.
Estudiar atentamente la gua del laboratorio a realizar.
Seguir en todo momento las instrucciones del profesor. Ante cualquier duda, consultar al profesor.
En prcticas de laboratorio supervisadas, no se debe energizar ningn panel o fuente de voltaje sin que el
profesor haya revisado la instalacin correspondiente.
No se pueden realizar experimentos que no estn autorizados por el profesor.
Mantener el debido respeto hacia el profesor y los compaeros y compaeras.
No utilizar el celular durante las sesiones de laboratorio. Mantenerlo apagado.

6. Equipo de proteccin
De manera particular, y segn sea la naturaleza del laboratorio, ser indispensable utilizar equipo de
proteccin.
Esto ser indicado por el profesor en cada laboratorio en particular, teniendo en consideracin los riesgos que
tenga el mismo.
Esto incluye:
Uso de anteojos o pantallas de proteccin en operaciones donde exista riesgo de salpicadura.
Uso de guantes aislantes o protectores cuando se trabaja con piezas cortantes
Uso de cascos, mascarillas y calzado especial cuando estos se requieran.

7. Mquinas
En algunas ocasiones no se puede eliminar el riesgo en el origen y por tanto es necesario utilizar medios de
proteccin colectiva, tales como resguardos o dispositivos de seguridad.
El resguardo es un componente de una mquina que se utiliza como barrera material para garantizar la
proteccin.
Un dispositivo de proteccin es aquel que impide que se inicie o se mantenga una fase peligrosa de la
mquina, mientras se detecta o sea posible la presencia humana en la zona de peligro.

Por tanto:
No ponga fuera de servicio los dispositivos de seguridad existentes.
Utilice correctamente los elementos de seguridad.
No utilice equipos y maquinaria sin conocer su funcionamiento.
Antes de realizar cualquier tarea en una mquina, siga atentamente las instrucciones. En caso de duda,
pregunte al profesor(as).
Desconectar de la red elctrica las herramientas y equipos antes de proceder al ajuste.
No reparar, desatascar o limpiar equipo. Notificar la anomala para que el personal capacitado realice
la tarea.
No bloquear sistemas electrnicos, elctricos, mecnicos, etc.

7
UGB
PRACTICA 1. CIRCUITOS CON EL 555

INTRODUCCION
Los circuitos digitales funcionan a base de tiempo o en forma secuencial estn regidos por elementos que deben de
realizar una funcin operacional momentnea y luego cambiar de estado. El temporizador 555 es un circuito integrado
especial que cumple con la funcin de proporcionar un tiempo de trabajo programado y despus de cumplido debe
efectuar un cambio de estado, ya sea de encendido = 1 hacia apagado = 0 o viceversa.
OBJETIVOS

1. Elaborar circuitos temporizados utilizando el integrado 555


2. Armar un generador de pulsos rectangulares con 555

MATERIALES Y EQUIPO

1 fuente de poder
1 multimetro
1 LED
1 breadboard
1 circuito integrado 555
1 resistencia de 1K
2 resistencia de 470
1 potencimetro de 100K
1 capacitor de 10F
1 capacitor de 1F
1 osciloscopio

PROCEDIMIENTO
1. Verifique la configuracin de pines del 555

2. Arme el circuito que se muestra en la figura. Ajuste la fuente a 5 voltios, use R1 de 470, R2 de 1K, R3 el
potencimetro de 100K, C1 10F, C2 1F

8
UGB

4. Aplique un pulso a tierra al pin dos mediante el cable de


disparo y anote el fenmeno sucedido con el LED

5. Ajuste el valor del potencimetro ligeramente y enve otro pulso al pin 2, observe.

6. Arme el circuito de la figura, use R1 y R2 de 470, C1 de 10F y R3 el potencimetro de 100K

7. Observe el fenmeno en el LED, varie el valor del potencimetro y use el


osciloscopio para observar la forma de onda, dibjela.

9
UGB
SEAL salida

AMPLITUD: ______________________

FRECUENCIA:______________________

8. Cambie el valor del capacitor C1 por el de 1 F, describa los resultados en el LED

9. Varie el potencimetro y observe el efecto con el osciloscopio, dibuje la forma de onda

SEAL salida

AMPLITUD:______________________

FRECUENCIA:______________________

10
UGB
PRACTICA 2: COMPUERTA LOGICA AND (Y) (.)

COMPETENCIAS: Que el estudiante:


1 - Conocer fsicamente las compuertas AND de 2 entradas en el IC 74LS08
2 - Conectar circuitos sencillos.
TEORA.

Un computador digital, como su nombre lo indica, es un sistema digital que realiza diversas operaciones de cmputo.
La palabra Digital implica que la informacin que se representa en el computador por medio de variables que toman
un nmero limitado de valores Discretos o cuantizados. Estos valores son procesados internamente por componentes
que pueden mantener un nmero limitado de estados discretos. Los dgitos decimales por ejemplo, proporcionan 10
valores discretos (0... 9). Como sabemos en la prctica, los computadores funcionan ms confiablemente si slo
utilizan dos estados equiprobables. Debido al hecho que los componentes electrnicos atienden a dos estados
(encendido / apagado) y que la lgica humana tiende a ser binaria (esto es, cierto o falsa, s o no) se utiliza el sistema
binario y se dice que son binarias.

Los computadores digitales utilizan el sistema de nmeros binarios, que tiene dos dgitos 0 y 1. Un dgito binario se
denomina un bit. La informacin est representada en los computadores digitales en grupos de bits. Utilizando
diversas tcnicas de codificacin los grupos de bits pueden hacerse que representen no solamente nmeros binarios
sino tambin otros smbolos discretos cualesquiera, tales como dgitos decimales o letras de alfabeto. Utilizando
arreglos binarios y diversas tcnicas de codificacin, los dgitos binarios o grupos de bits pueden utilizarse para
desarrollar conjuntos completos de instrucciones para realizar diversos tipos de clculos.

La informacin binaria se representa en un sistema digital por cantidades fsicas denominadas seales, Las seales
elctricas tales como voltajes existen a travs del sistema digital en cualquiera de dos valores reconocibles y
representan una variable binaria igual a 1 0. Por ejemplo, un sistema digital particular puede emplear una seal de 3
volts para representar el binario "1" y 0.5 volts para el binario "0". La siguiente ilustracin muestra un ejemplo
de una seal binaria.

Como se muestra en la figura, cada valor binario tiene una desviacin aceptable del valor nominal. La regin
intermedia entre las dos regiones permitidas se cruza solamente durante la transicin de estado. Los terminales de
entrada de un circuito digital aceptan seales binarias dentro de las tolerancias permitidas y los circuitos responden en
los terminales de salida con seales binarias que caen dentro de las tolerancias permitidas.

La lgica binaria tiene que ver con variables binarias y con operaciones que toman un sentido lgico. Es utilizada para
escribir, en forma algebraica o tabular. La manipulacin y procesamiento de informacin binaria. La manipulacin de
informacin binaria se hace por circuitos lgico que se denominan Compuertas.
Las compuertas son bloques del hardware que producen seales del binario 1 0 cuando se satisfacen los requisitos de
entrada lgica. Las diversas compuertas lgicas se encuentran comnmente en sistemas de computadores digitales.
Cada compuerta tiene un smbolo grfico diferente y su operacin puede describirse por medio de una funcin
algebraica. Las relaciones entrada - salida de las variables binarias para cada compuerta pueden representarse en forma
tabular en una tabla de verdad.

11
UGB
La compuerta AND o Y lgica es una de las compuertas ms simples dentro de la Electrnica Digital.

Su representacin es la que se muestra en las siguientes figuras. La primera es la representacin de una compuerta
AND de 2 entradas y la segunda de una compuerta AND de 3 entradas.

IC 74LS08

La compuerta Y lgica ms conocida tiene dos entradas A y B, aunque puede tener muchas ms (A, B, C, etc.) y
slo tiene una salida X.

La compuerta AND de 2 entradas tiene la siguiente tabla de verdad

A B X
0 0 0
0 1 0
1 0 0
1 1 1

Se puede ver claramente que la salida X solamente es "1" (1 lgico, nivel alto) cuando la entrada A como la entrada
B estn en "1". En otras palabras

La salida X es igual a 1 cuando la entrada A y la entrada B son 1

Esta situacin se representa en el lgebra booleana como: X = A*B X = AB

Una compuerta AND de 3 entradas se puede implementar con interruptores, como se muestra en el siguiente
diagrama.

La tabla de verdad se muestra al lado derecho donde: A = Abierto y C = Cerrado.

12
UGB

A B C X
A A A APAGADO
A A C APAGADO
A C A APAGADO
A C C APAGADO
C A A APAGADO
C A C APAGADO
C C A APAGADO
C C C ENCENDIDO

Una compuerta AND puede tener muchas entradas. Una AND de mltiples entradas puede ser creada conectando
compuertas simples en serie. El problema de poner compuertas en cascada, es que el tiempo de propagacin de la
seal desde la entrada hasta la salida, aumenta.

Si se necesita una AND de 3 entradas y no hay una disponible, es fcil crearla con dos compuertas AND en serie o
cascada como se muestra en el siguiente diagrama.

A B C X
0 0 0 0
Se observa que la Atabla de verdad
B correspondiente
C es similar 0 0 1 0 a la
mostrada anteriormente, donde se utilizan interruptores.
150 0 1 0 0
V = 5.0
De igual manera, se puede implementar compuertas 0 1 1 0
LED AND de 4 o ms
entradas. 1 0 0 0
1 0 1 0
VISITA:
1 1 0 0
1 1 1 1
http://www.iearobotics.com/personal/juan/docencia/apuntes-ssdd-0.3.7.pdf

http://www.portaleso.com/portaleso/trabajos/tecnologia/ele.yelectro/elec-digital.swf

PROCEDIMIENTO

1. Construya el circuito de la Fig. 1 obtenga su tabla de verdad, tomando un 0 cuando el LED este apagado y un 1
cuando est encendido.

1
CI SN7408
A
0

1
V1 = 5.0 R = 470 13
B
0
UGB

FIG 1
+5v

470
A B
__

2. Construya el circuito de la Fig. 2 y obtenga su tabla de verdad.

CI = SN7408
A
0

1
R = 470
V1 = 5.0 B
0
1

C
0
+5v

FIG. 2

14
470

A B C
__
UGB

PREGUNTAS:

1. Cul es la caracterstica o condicin de la compuerta AND 74LS08: _________________________


________________________________________________________________________________

2. Cuantas compuertas AND tiene en su interior un IC 74LS08?


___________________________________
3. Los sistemas digitales utilizan sistemas binarios que tienen dos dgitos cules son? ___________

4. Como se le llama a un digito binario: ______________

5. La manipulacin de informacin binaria se hace por circuitos lgico que se denominan: _________________

6. Un sistema digital particular puede emplear una seal de 3 volts para representar el binario: ___________

7. Cuantos voltios podran representar el binario 0: ____________________________

8. Las compuertas digitales se encuentran comnmente en: __________________________________________

9. Dibuje el smbolo de una compuerta lgica AND de dos entradas con el nombre de las variables de Entrada y
Salida:

10. Liste los nmeros correspondientes a los pines de las entradas de todas las compuertas AND del IC 74LS08
______________________________________________________________________

11. Liste los nmeros correspondientes a los pines de todas las salidas de las compuertas AND del IC 74LS08
_______________________________________________________________

12. El pin para GND o tierra es: __________________

13. El pin para Vcc donde se conectan los 5 voltios positivos es: ____________________

15
UGB
PRACTICA 3: COMPUERTA LOGICA OR (O, +)

COMPETENCIAS: Que el estudiante adquiera las competencias de:


1 Identificar fsicamente las compuertas OR de 2 entradas en IC 74LS32
2 Conectar circuitos sencillos

LA COMPUERTA LGICA "OR" O COMPUERTA "O" (+)

La compuerta O lgica o compuerta OR es una de las compuertas ms simples dentro de la Electrnica


Digital.

74LS32

La salida X de esta compuerta ser "1" cuando la entrada "A" o la entrada "B" este en "1". Expresndolo en
otras palabras:
En una compuerta OR, la salida ser "1", cuando en cualquiera de sus entradas haya un "1". La
representacin de la compuerta "OR" de 2 entradas y tabla de verdad se muestran a continuacin:

Y se representa con la siguiente funcin booleana: X = A + B LED1


X =CQX35A
B +A
A B Y = A+B

B
150.0
A
V = 5.0

Esta misma compuerta se puede implementar con interruptores como se muestra en la figura de la derecha,
en donde se puede ver que: cerrando el interruptor A "O" el interruptor B se encender la luz.

"1" = cerrado , "0" = abierto, "1" = luz encendida


En las siguientes figuras se muestran la representacin de la compuerta "OR" de tres entradas con su tabla de
verdad y la implementacin con interruptores.
La funcin booleana es X = A + B + C

16
UGB
Representacin de una compuerta OR de 3 entradas con su tabla de verdad.

A B C X=

L ED1 CQX35A

R1 1 .0 k
A

150
C
V1 5.0
LED

Compuerta "OR" de 3 entradas implementada con interruptores.


La lmpara incandescente se iluminar cuando cualquiera de los interruptores (A o B o C) se cierre. Se puede ver que
cuando cualquiera de ellos est cerrado, la lmpara se encender.

PROCEDIMIENTO:

1. Construya el siguiente circuito y llene la tabla de verdad tomando un 0 cuando el LED este apagado y un 1 cuando
est encendido.

1
SN7432 A B X=
A
0

1
V1 = 5 V R = 470

0 B

+5v

470 17
A B
UGB
La caracterstica o condicin de la compuerta OR es: ____________________________________
____________________________________________________________________
____________________________________________________________________

VISITA:
http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/16-flipflops/40-jkff/SN7476-single.html

2. Construya el siguiente circuito y llene su tabla de verdad.

1
SN7432
A A B C X=
0

1
R = 470.
V1 = 5 V B
0
1

0 C

+5v

470
_ A B C

18
UGB
PRACTICA 4: COMPUERTA NOT (NO o INVERSOR)

COMPETENCIAS: Que el estudiante adquiera las competencias de:


1 Identificar fsicamente las compuertas NOT de 1 entrada en IC 7404
2 Conectar circuitos sencillos.

COMPUERTA NOT (NO) (INVERSOR)

Dentro de la electrnica digital, no se podran lograr muchas cosas si no existiera la compuerta NOT
(compuerta NO), tambin llamada compuerta inversora.
Esta compuerta como la compuerta AND y la compuerta OR es muy importante. La compuerta NOT
entrega en su salida el inverso (opuesto) de la entrada.
El smbolo y la tabla de verdad son los A X siguientes:
0 0

1 1

La salida de una compuerta NOT tiene el valor inverso al de su entrada. En el caso del grfico anterior la
salida X = A.
Esto significa que si a la entrada tenemos un "1" lgico, a la salida har un "0" lgico y si a la entrada
tenemos un "0" a la salida habr un "1"
Nota: El apstrofe en la siguiente expresin A X X significa "negado": X = A y es igual a
X=A
0 1 0
Las compuertas NOT se pueden conectar en cascada, logrando despus de dos
compuertas, la entrada original. 1 0 1

Un motivo para implementar un circuito que tenga en su salida, lo mismo que tiene en su entrada, es
conseguir un retraso de la seal con un propsito especial.

74LS04

19
UGB

PROCEDIMIENTO:

1. Construir el siguiente circuito, recordando que el LED encendido lo interpretaremos como un 1 y el


LED apagado como un 0.

A A'
1 IC 7404 470

0 X X'
V = 5.0

+5v

470

2. Conecte el siguiente circuito y complete la tabla de verdad.

1 A X X X A A' X'' X'''


0
150 150 150

V = 5.0

20
UGB

+5v

PREGUNTAS:

1. Cuantas entradas tiene un inversor? ______________________________

2. Cuntos inversores hay en un circuito IC 74LS04? _________________________

3. Qu hace un inversor? __________________________

4. Qu sucede si conectamos dos inversores en serie? _______________________

5. Qu sucede si conectamos tres inversores en serie? _________________________

6. Cules son los pines del 74LS04 que corresponden a las salidas? ______________________

7. Cules son los pines que corresponden a las entradas? _____________________

8. A qu lado debe ubicarse la muesca? __________________________

9. De qu maneras se puede representar la negacin? _____________________________

21
UGB
PRCTICA 5: UNIVERSALIDAD DE COMPUERTAS LOGICAS

COMPETENCIAS:
A B Y
1. Utilizando circuitos integrados 7400 (NAND) implemente las compuertas lgicas bsicas.
2. Verifique las tablas de verdad para cada implementacin.
TEORA
Cualquier funcin lgica se puede implementar utilizando NANDs solamente o NOR. Una NAND se puede
utilizar para implementar un inversor haciendo un corto circuito en sus entradas como se presenta a
continuacin.

A Y=
A Y

+5v

A
470

Esto nos permite poder sustituir cualquier inversor en un circuito por un NAND. Adems de los inversores,
para poder implementar cualquier funcin lgica utilizando NANDs necesitamos conseguir una forma de
poder implementar las funciones AND y OR. El AND es fcil de implementar porque slo requiere invertir la
salida de un NAND. Conectando un inversor (implementado con un NAND) en la salida de un NAND
obtenemos la funcin AND.

22
UGB

A Y=

B +5V

470
A B

El nico componente que nos falta por implementar utilizando NANDs es el OR. Para lograr nuestro objetivo
haremos uso de los teoremas de Morgan como se presenta a continuacin. En el lado izquierdo presentamos
la derivacin algebraica y en el derecho el equivalente utilizando compuertas lgicas.

+5V
A A B Y
Y=

470

23

A B
UGB

VISITA:
http://atenea.unicauca.edu.co/~vmondrag/DigitalesI.htm

PRACTICA 6: LOGICA COMBINACIONAL 1

COMPETENCIAS: Que el estudiante:


1 Combine las compuertas AND, OR y NOT
2 Obtenga la ecuacin Booleana de la combinacin.
3 Complete la tabla de verdad.

INTRODUCCION
El anlisis consiste, en que dado un circuito, conocer el valor de sus salidas para cada una de las posibles
combinaciones de entrada, este resultado se representa en la Tabla de Verdad del circuito y la funcin Booleana que
24
UGB
representa el circuito.
A B C X=
EJEMPLO

A.B A.B
A
X = (A . B) + C
B

A B C A.B A.B X= (A.B) + C

0 0 0 0 1 1

El nmero de entradas nos sirve para determinar el 0 0 1 0 1 1 nmero de


combinaciones posibles que tendr la tabla de verdad, (2 n ) donde n
es el nmero de entradas, por ejemplo, para un circuito de tres
entradas, n = 3, entonces: 2 3 = 8 . Se tendrn 8 0 1 0 0 1 1
combinaciones posibles.

La ecuacin Booleana se determina a medida se recorre el 0 1 1 0 1 1 circuito de


izquierda a derecha, por cada compuerta habr una expresin
booleana parcial, hasta obtener la expresin booleana 1 0 0 0 1 1 competa.

Para el caso, si las entradas A y B llegan a la compuerta AND,


entonces despus de la compuerta tendremos A.B, esa 1 0 1 0 1 1 expresin
llega a la entrada de un inversor, convirtindose la expresin
en A.B, luego, la entrada C se une a la expresin por medio de
una compuerta OR, quedando la expresin X = A.B + C 1 1 0 1 0 0

PROCEDIMIENTO. 1 1 1 1 0 1
1. Construya el siguiente circuito lgico. Determine la ecuacin booleana y compruebe los resultados.

25
UGB

A A+B X=

Para el Bcircuito siempre utilizar un LED y una resistencia de 470 , si el LED enciende, entonces considere un 1
y si no enciende, un 0.
C
PREGUNTAS

1. Qu resultado da al combinar 101? _____________________

2. Cul es el resultado de la salida circuito anterior cuando todas sus entradas estn en 1? _________________

3. Como sera la expresin booleana si cambiamos la compuerta AND por una OR y la OR por una AND:
_________________

4. Cmo es el resultado de la salida para un combinacin de 0 1 1? ___________

5. En el circuito del ejemplo en que combinacin es 0 a la salida? ___________

B
C

X=

26
UGB

U 2 SN 7408
U 3 SN 7404
U 1 SN 7432

A A + B X =

27
UGB

PRACTICA 7: LOGICA COMBINACIONAL 2

COMPETENCIAS: Que el estudiante:


1 Combine las compuertas AND, OR y NOT
2 Obtenga la ecuacin Booleana de la combinacin.
3 Complete la tabla de verdad.
INTRODUCCION:

Continuando con la implementacin de circuitos digitales, se presenta un circuito que tiene aplicacin en circuitos
digitales.

La entrada A es comn a ambas compuertas AND, al igual que la entrada B. Observa que la variable A llega a una
compuerta AND directamente y antes de llegar a la otra compuerta, pasa por un inversor, negando la variable A.
Para la variable B ocurre lo mismo.

X=
A

PROCEDIMIENTO:

Enumere los pines correspondientes y colquelos al diagrama.


Al reverso de la hoja realice el dibujo del alambrado en la breadboard, crear una tabla de verdad apropiada para el
circuito y llnela.

Colocando un LED y una resistencia de 470 a la salida y considerando el LED encendido como un 1 y si est
apagado un 0, complete la tabla de verdad adjunta.

Verifique si la respuesta de la salida corresponde al resultado de la tabla de verdad.


28
UGB

Escriba la ecuacin Booleana. ________________________

Qu resultado da en la combinacin 1 1? _________

Analice, Qu sucede si quitamos los inversores? _____________________________________


_________________________________________________________

PRACTICA 8: LOGICA COMBINACIONAL 3

COMPETENCIAS: Que el estudiante:


1 Combine compuertas AND, OR y NOT
2 Obtenga el diagrama de la combinacin.
3 Complete la tabla de verdad
4 Construya y compruebe el circuito correspondiente.

PROCEDIMIENTO

Con la expresin ( A+ B ) + ( B . C )
Construya un diagrama para el circuito.
Enumere los pines en el diagrama.
Obtenga las salidas parciales.
Obtenga la ecuacin Booleana.
Dibuje la tabla de verdad.
Haga el dibujo de alambrado en la breadboard.
Solicite los circuitos necesarios al instructor.
Construya el circuito.
Pida revisin.
Hgalo funcionar

29
UGB

PRACTICA 9: COMPUERTA LOGICA NOR ( NO O )

COMPETENCIAS: Que el estudiante:


1 Conocer fsicamente las compuertas NOR de 2 entradas en IC 74LS02.

2 Conectar circuitos sencillos.

COMPUERTA LOGICA NOR ( NO O )

Smbolo de la funcin lgica NO-O. a) Contactos, b) Normalizado y c) No normalizado


La puerta lgica NO-O, ms conocida por su nombre en ingls NOR, realiza la operacin de suma lgica negada. En
la figura de la derecha pueden observarse sus smbolos en electrnica.
La ecuacin caracterstica que describe el comportamiento de la puerta NOR es:

Su tabla de verdad es la siguiente:

A B A+B X=A+B
0 0 0 1
0 1 1 0
1 0 1 0
1 1 1 0

Podemos definir la puerta NO-O como aquella que proporciona a su salida un 1 lgico slo cuando todas sus entradas
30
UGB
estn a 0.

Una compuerta NOR (No O) se puede implementar con la concatenacin de una compuerta OR con una compuerta
NOT.

PROCEDIMIENTO

1. Qu nmero tienen los pines de entrada? _____________________________________


2. Qu nmero de pines tienen los pines de salida? _______________________________
3. Ubique los nmeros de los pines al diagrama.
4. Coloque las salidas parciales.
5. Obtenga la ecuacin Booleana y su tabla de verdad
6. Construya el circuito de la figura 1.

1
IC 74LS02 A B A+B X=

V = 5.0
0 150

FIG. 1

+5v

470
A B
0v
1
IC 74LS02
0 150
1
V=5v 31
0
1

0
UGB
A B C
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
FIG. 2 +5v

470
C B A
0v

7. Ubique los nmeros de los pines de la fig. 2.

8. Coloque las salidas parciales.

9. Obtenga su ecuacin Booleana y su tabla de verdad

10. Conecte el circuito de la figura 2.

11. Como se puede construir una compuerta NOR con otras compuertas__________________________
_________________________________________________________________________________

6. En que se convierte una puerta NOR al unir sus dos entradas ________________________________

7 Se pueden implementar otras compuertas lgicas bsicas con compuertas NOR? ____________

8. Cules? ________________________________________

32
UGB

PRCTICA 10: COMPUERTA LOGICA EX OR

COMPETENCIAS: Que el estudiante:


1 Conocer fsicamente las compuertas EX OR de 2 y 3 entradas en IC 74LS86.
2 Conectar circuitos sencillos.
PUERTA EX OR

La puerta EXOR (or exclusivo) es un dispositivo de dos entradas y una salida que cumple con la condicin que la
salida toma el valor lgico 1 si, y solo si las entradas son diferentes.

PROCEDIMIENTO

Construya el circuito de la figura 1. utilizando un 74LS86


Obtener su expresin Booleana y su tabla de verdad.

1
A B X=
A
IC7486
0 470
V = 5.0
1 B

+5v

A
B
470 33

0v
UGB

Construya el circuito de la figura 2.


Obtenga su ecuacin Booleana y su tabla de verdad

1
A
IC7486
0 470

1 B
V = 5.0
0
1
C

+5v

A
B
C

0v

A B C

34
UGB

PRCTICA 11: FLIP FLOP RS CON COMPUERTAS NAND

COMPETENCIAS: Que el estudiante:


1. Conozca cmo implementar un flip flop RS con compuertas NAND.
2. Obtener la tabla de verdad para el FF.
TEORIA

Un FLIP FLOP es un biestable, tambin llamado bscula (flip-flop en ingls), es un multivibrador capaz de
permanecer en un estado determinado o en el contrario durante un tiempo indefinido. Esta caracterstica es
ampliamente utilizada en electrnica digital para memorizar informacin. El paso de un estado a otro se realiza
variando sus entradas. Dependiendo del tipo de dichas entradas los biestables se dividen en:

Asncronos: slo tienen entradas de control. El ms empleado es el biestable RS.

Sncronos: adems de las entradas de control posee una entrada de sincronismo o de reloj. Si las entradas de
control dependen de la de sincronismo se denominan sncronas y en caso contrario asncronas. Por lo general,
las entradas de control asncronas prevalecen sobre las sncronas.
La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de subida o de bajada). Dentro de
los biestables sncronos activados por nivel estn los tipos RS y D, y dentro de los activos por flancos los tipos JK, T y
D.

Se puede construir el circuito FF ms elemental con dos compuertas NAND (7400) o con dos compuertas NOR. En la
figura siguiente se muestra la versin con compuertas NAND, que recibe el nombre de registro bsico de
compuertas NAND, o simplemente registro bsico. Las dos compuertas NAND estn conectadas de tal forma que
la salida de la NAND 1 sea la entrada de la NAND 2 y viceversa. Las salidas de las compuertas, marcadas como Q y
Q, respectivamente, son las salidas del registro bsico. Bajo condiciones normales, estas salidas siempre sern inversas
una de la otra Hay dos registros o cierres de entradas: la entrada INICIO que es establecer a Q al estado 1; la entrada
RESTABLECER es la que borra o manda a Q al estado 0.

1 1
1 S
S 0 1 Q
1 Q

0
1 1
1 2 Q
2 Q R
R
35
UGB

a) b)

Un registro bsico NAND tiene dos posibles estados cuando ESTABLACER (S) = RESTABLECER (R) = 1

RESUMEN DEL REGISTRO BASICO

La operacin se pude colocar adecuadamente en una tabla de verdad, y se resume de la siguiente manera.
Las entradas ESTABLECER y RETABLECER normalmente estn en estado ALTO y una de ellas ser pulsada a
BAJO cuando se requiere cambiar el estado de salida del registro bsico.

1. ESTABLECER = RESTABLECER = 1. Esta condicin es el estado normal y no tiene efecto alguno sobre el
estado de salida. Las salidas Q y Q permanecern en el estado en el que se encontraban antes de presentarse
esta condicin de entrada.
2. ESTABLECER = 0, RESTABLECER = 1. Este estado siempre ocasionar que la salida pase al estado Q =
1, donde permanecer aun despus de que ESTABLECER retorne a ALTO. A esto se le denomina
establecimiento del registro bsico.
3. ESTABLECER = 1, RESTABLECER = 0, Esto siempre producir al estado Q = 0, donde la salida
permanecer aun despus de que BORRAR retorne a ALTO. A esto se le llama establecimiento o reinicio del
registro bsico.
ESTABLECER = RESTABLECER = 0. Esta condicin intenta iniciar y borrar el registro bsico en forma
simultnea y puede producir resultados ambiguos. No debe utilizarse.

APLICACIN

Un biestable puede usarse para almacenar un bit. La informacin contenida en muchos biestables puede representar el
estado de un secuenciador, el valor de un contador, un carcter ASCII en la memoria de un ordenador, o cualquier otra
clase de informacin.
Un uso corriente es el diseo de mquinas de estado finitas electrnicas. Los biestables almacenan el estado previo de
la mquina que se usa para calcular el siguiente.
PROCEDIMIENTO

1. Construya el circuito mostrado en la pgina anterior con compuertas NAND (7400).


2. Haga la tabla de verdad correspondiente para cada uno de los estados de ESTABLECER y RESTABLECER
mencionados en la teora.
S R Q Q

3. Cul es el estado inicial de las entradas ESTABLECER y RESTABLECER? _______________________

36
UGB
4. Cmo se le llama tambin a un flip flop? ____________________________

5. Qu es un flip flop? _______________________________________________________________

6. Qu significa R? _____________________

7. Qu significa S? _____________________

8. Escriba una conclusin.


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
PRCTICA 12: INTRODUCCION A ARDUINO HOLA MUNDO

COMPETENCIAS:
Que el estudiante:
1) Identifique los principales componentes de un Arduino UNO
2) Desarrollar programas

TEORIA:
Arduino es una plataforma de electrnica abierta para la creacin de prototipos basada en software y hardware
flexibles y fciles de usar. Se cre para artistas, diseadores, aficionados y cualquiera interesado en crear entornos u
objetos interactivos.

Qu es Arduino?
Arduino es una plataforma open-hardware basada en una sencilla placa con entradas y salidas (E/S),
analgicas y digitales, un chip sencillo y de bajo coste que permite el desarrollo de mltiples diseos.
Al ser open-hardware tanto su diseo como su distribucin es libre, puede utilizarse libremente para
desarrollar cualquier tipo de proyecto sin tener que adquirir ningn tipo de licencia.

Caracteristicas

Open Hardware
Lenguaje programacin (basado en Wiring)
Entorno de desarrollo (basado en Processing)
Hardware Modular de facile ensamblaje
Multiplataforma (al estar basado en Java)
Autosuficiente

Tipos de Placas

Arduino Uno

Es la placa estndar y posiblemente la ms conocida y documentada. Sali a la luz en septiembre de 2010.


Un Atmega328 con 32Kbytes de ROM para el programa.

Arduino Nano v3

Su principal ventaja es que puede ser pinchado directamente sobre una protoboard haciendo muy cmodo el
prototipado al igual que el Arduino mini.

Arduino Mega

37
UGB
Ms potente y el que ms pines i/o tiene, apto para trabajos ya algo ms complejos aunque tengamos que sacrificar un
poco el espacio, cuenta con el microcontrolador Atmega2560.

PASO 1 COMPONENTES

En este primer proyecto de Arduino consistir en aprender a activar una salida digital de nuestra placa Arduino a la que
conectaremos mediante una resistencia, un diodo LED que parpadear en intervalos de un segundo.

Esto tan sencillo, nos ser de gran utilidad pues con un LED podremos monitorizar todo tipo de acciones en nuestro
Arduino

Material necesario:

Una placa Arduino


Una resistencia de 220
Un diodo LED
Una Protoboard

PASO 2 DISEO

Debemos lograr mediante el programa de nuestro Arduino, encender y apagar un LED que conectaremos a una salida
mediante una resistencia que nos regular la intensidad que debe llegar al diodo, las placas de Arduino ya llevan
incorporada una resistencia de 220 en su salida 13 y podramos omitirla si utilizramos esta, pero como lo que
queremos es mostrar tambin como calcular el tipo de resistencia que debemos poner en cada momento, utilizaremos
la salida 12 como ejemplo.

En primer lugar una imagen del esquema elctrico del circuito:

El esquema elctrico nos quedara de la siguiente manera

38
UGB

PASO 3: PROGRAMACIN

Este primer sketch que vamos a desarrollar, se tendr que digitar directamente en el software oficial de Arduino para
despus transferirlo a nuestra placa, primero se muestra completo, pero luego iremos describiendo poco a poco

/*
Blink
Enciende y apaga un Led en intervalos
de un segundo repetidamente.
Este cdigo de ejemplo es de uso pblico.
*/

//Configuracin de nuestra salida.

void setup(){
pinMode(12, OUTPUT); // Pin 12 como Salida.
}

//Ahora le decimos que hacer con esa salida.

void loop(){
digitalWrite(12, HIGH); // Pone la salida 12 a ON
delay(1000); // Espera un segundo
digitalWrite(12, LOW); // Pone la salida 12 a OFF
delay(1000); // Espera un segundo
}

En primer lugar debemos tener claro la estructura de nuestro Sketch para que lo entienda nuestro Arduino.

Primero: La configuracin de nuestra placa (setup), esta se ejecutar tan solo una vez, cuando iniciemos nuestro
Arduino.

void setup() {

39
UGB
Aqu vendrn las configuraciones de nuestro pines
como entradas o salidas y la configuracin del puerto serie
si es necesaria.
Como veis debe estar todo incluido entre llaves.
}

Segundo: Programa que ejecutar ciclicamente (loop).

void loop() {
Aqu pondremos las instrucciones que ejecutar
nuestro programa nuestro programa.
}

Hay que recordar siempre que pongamos una instruccin colocar al final; de lo contrario nos dar error de
compilacin, ya que es lo que utiliza Arduino para separar una instruccin de otra.

Comentarios //.

Estas anotaciones son comentarios sobre el programa para facilitar su comprensin, y todo aquello que vaya seguido
de esas barritas en la misma lnea no es interpretado por Arduino.

// Esto es un comentario de una lnea


Existe otra forma de insertar comentarios, son los comentarios en bloque, que se estructuran de la siguiente manera:

/*
Aqu podemos insertar cualquier descripcin
de nuestro programa de ms de una lnea o ms
sin que sea tenida en cuenta por Arduino.
No debemos olvidar cerrar el bloque.
*/

Estos se utilizan normalmente al inicio del programa para insertar una breve descripcin del programa, fecha, versin
y autor.

En cuanto a la funcin setup realizado en este proyecto tenemos lo siguiente

pinMode(12, OUTPUT); // Pin 12 como Salida.

La instruccin pinMode nos sirve para configurar un pin como entrada (INPUT) o como salida (OUTPUT), para
recordar la manera que se estructura podemos recordar el siguiente truco pinMode(pin, Mode) podemos observar que
repetimos lo mismo que el nombre de la instruccin de manera que rellenaremos primero el pin y luego el Mode
separados con una coma y entre parntesis.

Luego tenemos en la seccin de loop las siguientes instrucciones;

digitalWrite(12, HIGH); // Pone la salida 12 a ON


delay(1000); // Espera un segundo
digitalWrite(12, LOW); // Pone la salida 12 a OFF

La instruccin digitalWrite(entradadigital, Niveldesalida) nos sirve para poner un pin digital en HIGH (1 lgico =
+5v) o LOW (0 lgico = 0v).

La instruccin delay(tiempo) nos sirve para crear temporizados en nuestro programa como en este caso, para encender
y apagar un LED, el valor viene dado en mili-segundos, por lo que 1000 = 1sg
40
UGB

Como se puede ver es un programa muy sencillo pero que nos ha servido como forma de contacto para familiarizarnos
con todo el entorno de desarrollo de Arduino,
Responder

Por qu se dice que Arduino es una plataforma open-hardware____________________________________________

De cuanto es el tamao de memoria ROM del Arduino Uno:____________________

Para qu sirve la instruccin pinMode?


____________________________________________________________________________________________
____________________________________________________________________________________________

Para qu sirve la instruccin delay?


____________________________________________________________________________________________
____________________________________________________________________________________________

Escriba una conclusin.


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
PRCTICA 13: E/S DIGITALES

Paso 1: Componentes

En esta prctica vamos a aprender a configurar una entrada digital a la que conectaremos un pulsador y, con lo
aprendido sobre el LED en la prctica anterior, nos permitir controlar el encendido y apagado del diodo.

Material necesario:

1 placa Arduino.
1 protoboard.
1 diodo LED.
1 resistencia 220.
1 resistencia 10K.
1 pulsador.

Parte 2: Diseo

En esta prctica, deberemos interpretar en nuestro programa la lectura de una entrada digital, y en base a su lectura,
activaremos, o no, una salida digital a la que conectamos un diodo LED, es un ejemplo sencillo, pero que nos permite
aclarar un concepto muy importe sobre las entradas digitales, las resistencias de Pull-Up o Pull-Down.

Qu son las resistencias de Pull-Up o Pull-Down?

En nuestro Arduino, las entradas digitales se interpretan de la siguiente manera:

1 (lgico) = Hight = +5v


0 (lgico) = Low = 0v

Esto quiere decir? Que si tenemos una tensin de +5v aplicada a una entrada, este nos la interpretara como un 1
(hight) sin lugar a dudas, pero no es as al contrario, si nosotros dejamos de aplicar esa tensin a la entrada digital, es
posible que recibamos algo de ruido del circuito y que Arduino no nos lo interprete como un 0 (low) por lo que
41
UGB
colocamos una resistencia entre la entrada y masa (GND) que derive estos ruidos asegurndonos una seal limpia y sin
posibles errores, a la resistencia que se conecta a masa se le llama PULL-DOWN.

De igual manera, si tuviramos la necesidad de mantener un 1 lgico en una entrada mientras el circuito est en
reposo, se le puede aplicar una resistencia entre la entrada y +5v para asegurarnos que le llega suficiente tensin como
para que sea interpretada correctamente por nuestro Arduino, a esta ltima se le denomina PULL-UP.

Aqu se puede ver como se conectara la resistencia en un circuito bsico de 0 o 1 en la entrada 8 de Arduino.

Una vez conocido esto, deberemos colocar el LED correctamente polarizado con su resistencia, y el pulsador con una
resistencia de PULL DOWN de 10K a masa para cuando est en reposo, de manera que cuando pulsemos el botn,
llegue una tensin 5v a la entrada 2 de Arduino y este lo interprete como un 1 lgico, a partir de aqu el programa har
el resto para proporcionarnos la tensin de salida que activar el diodo LED.

Las conexiones nos quedaran de la siguiente manera:

Algunos pulsadores electrnicos parecen llevar cuatro patillas, pero en realidad slo son dos muy largas que salen por
los laterales del pulsador para facilitar las conexiones, de manera que si lo colocamos y el LED se enciende
42
UGB
continuamente, es muy posible que lo hayamos conectado mal, si se tiene un polmetro, colocarlo en modo
continuidad y asegurar de la posicin correcta.

PASO 3: PROGRAMACION

Como primer punto el programa completo que posteriormente explicare cada una de sus partes

/*
Practica #12 - E/S DIGITALES

En este proyecto encenderemos un LED conectado


al pin digital 12 cuando presionemos el pulsador
asociado al pin digital 2.

Este proyecto es de dominio pblico


*/

// Variables estticas
int pinBoton = 2; // Declaramos la variable pin del Botn
int pinLed = 12; // Declaramos la variable pin del Led

// Variables dinmicas
int estadoBoton = 0; // Variable para estado del botn

void setup() {
// Inicializa el pin del LED como salida:
pinMode(pinLed, OUTPUT);
// Inicializa el pin del botn como entrada:
pinMode(pinBoton, INPUT);
}

void loop(){
// Lee el valor del pin del botn y lo almacena
// en la variable estadoBoton
estadoBoton = digitalRead(pinBoton);

// Chequea si el botn est pulsado:


if (estadoBoton == HIGH) {
// Si es as, enciende el LED:
digitalWrite(pinLed, HIGH);
}

else {
// Si no, lo mantiene apagado:
digitalWrite(pinLed, LOW);
}
}
.
En primer lugar podemos observar que antes del setup tenemos declarada unas variables globales, y ademas las hemos
organizado en estticas y dinmicas:

// Variables estticas
int pinBoton = 2; // Declaramos la variable pin del Botn
int pinLed = 12; // Declaramos la variable pin del Led

43
UGB
// Variables dinmicas
int estadoBoton = 0; // Variable para estado del botn

Para definir una variable imaginemos que tenemos una caja en la cual vamos a guardar algo, y depende de lo que
queramos introducir as tendr un tipo de valor antes de ser declarada puede ser de plstico o de cartn todo depender
de los que se desee guardar en ella. Eso es una variable, un lugar en el que almacenaremos algo para utilizar en nuestro
programa, una caracterstica es su inicializacin no siempre es obligatoria, pero es recomendable, esto es como meter
una pieza de cada producto que vayamos a guardar en nuestras cajas, en este caso les hemos asignado un valor desde
el principio por las necesidades del programa.

Y cmo le digo si es de plstico o de cartn?


Definiendo el tipo de variable a utilizar, en este programa hemos utilizado las de tipo int pero existen muchas ms
dependiendo de nuestras necesidades.

Variable de tipo int: Almacena nmeros enteros con un rango de -32768 a 32767

Como novedad, podemos ver que en lugar de asignar un valor numrico en la instruccin pinMode para decirle el pin
sobre el que queremos trabajar, le hemos asignado una variable, y a la hora de interpretar el programa, este utilizara lo
que hayamos elegido introducir en la variable, en este caso el nmero entero 12 para la salida del LED y el nmero
entero 2 para la entrada del pulsador.

void setup() {
// Inicializa el pin del LED como salida:
pinMode(pinLed, OUTPUT);
// Inicializa el pin del botn como entrada:
pinMode(pinBoton, INPUT);
}

Para explicar el loop, lo dividir en dos partes, en primer lugar, tenemos que cada vez que se ejecute el ciclo loop, lo
primero que va a hacer es almacenar en nuestra variable dinmica de tipo int estadoBoton, la lectura del pin 2 de
nuestro Arduino.

estadoBoton = digitalRead(pinBoton);

Y ahora llega algo nuevo, el ciclo if else, este ciclo es un condicional bsico en programacin, lo que hace en
nuestro programa es comprobar primero si nuestra variable estadoBoton est a 1 lgico, y, a continuacin, con el
resultado obtenido de esa comparacin, elige un camino u otro, si es que s, entonces encender el LED poniendo en
HIGH, si es que no, entonces pondr en LOW nuestra salida del LED apagndolo.

// Chequea si el botn est pulsado:


if (estadoBoton == HIGH) {
// Si es as, enciende el LED:
digitalWrite(pinLed, HIGH);
}
else {
// Si no, lo mantiene apagado:
digitalWrite(pinLed, LOW);
}

Y con esto hemos concluido la explicacin de la prctica, si ha quedado algn detalle por aclarar, pedir ayuda a su
docente o instructor.

Responder
44
UGB

1- En qu consisten las resistencias Pull-Up o Pull-Down


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

2- Para qu sirve usar variables dentro de la programacin del Arduino IDE?


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

3- Cul es el tamao de la resistencia usada para mantener el 0 lgico (LOW)?_________________

4- Cul es el voltaje de salida en el pin 12 de nuestra placa arduino?__________________________

5- Escriba una conclusin.


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

PRCTICA 14: ENTRADA ANALGICA Y SALIDA PWM

PASO 1- COMPONENTES

En esta prctica vamos a aprender utilizar las entradas analgicas de nuestro Arduino, en el cual variaremos la
frecuencia de parpadeo de un diodo LED con un potencimetro conectado a una entrada analgica y luego
utilizaremos el mismo circuito para realizar una modulacin del ancho de un pulso en una salida digital (PWM).

Material necesario para este proyecto:

1 x Arduino
1 x Diodo Led
1 x Resistencia 470
1 x Potencimetro 1K
1 x Protoboard

PASO 2 DISEO

En esta prctica de Arduino vamos a realizar dos ejemplos con un mismo circuito, la diferencia entre ellos la
observaremos es el apartado de programacin, en cuanto a hardware tenemos la novedad de este proyecto en el uso de
un potencimetro combinado con una entrada analgica.

Vamos a utilizar el potencimetro como un divisor de tensin, primero veamos cmo se conecta para que esto sea
posible.

45
UGB

Como podemos ver, debemos colocar uno de los extremos a masa, otro a +Vcc y nuestra patilla central ser nuestra
tensin de salida regulable, esta salida ser la que conectemos a Arduino y que variar de 0v a 5v dependiendo de la
posicin de nuestro potencimetro.

Si estamos utilizando un Arduino Uno, las entradas analgicas vienen identificadas desde A0 hasta A5 como podemos
ver en la siguiente imagen:

En cuanto a la salida, colocaremos la ya conocida configuracin de LED ms resistencia, pero deberemos tener algo en
cuenta, para el primer ejemplo nos dara igual la salida digital a elegir, pero para el segundo es necesario que
seleccionemos una salida con PWM, en el Arduino Uno, las salidas sern la 3, 5, 6, 9, 10 y 11 como se puede ver en la
siguiente imagen:

Qu es el PWM?

A menudo necesitaremos algo ms que una seal de 0 o 1 en nuestros proyectos, para variar la velocidad de giro de un
motor, para variar la intensidad con la que luce un diodo, para transmitir los grados de giro de un servo, etc..

Para todo esto, y mucho ms, nos servir el PWM, que emula una seal analgica a partir de una seal digital.

Las siglas PWM vienen de Pulse Width Modultation, o Modulacin de Ancho de Pulso.

Lo que hace este tipo de seal es emitir, en lugar de una seal continua en nuestra salida, emite una serie de pulsos que
podremos variar su duracin pero con una frecuencia constante de aproximadamente 490Hz, de manera que la tensin
46
UGB
promedio resultante, es directamente proporcional a la duracin de estos dentro del rango de nuestro periodo, es decir,
cuanto ms juntos estn esos pulsos de +5v, mayor ser la tensin promedio de nuestra salida, y cuanto ms distantes
sean estos, menor ser dicha tensin:

El montaje nos quedara as:

El circuito en s mismo es muy sencillo, pero en el apartado de programacin podremos ver la versatilidad del mismo
para diferentes aplicaciones

PASO 3 PROGRAMACION

El primer ejemplo que vamos a tratar es la adquisicin de datos en la entrada analgica A0 para variar la frecuencia de
parpadeo de un diodo LED conectado a una salida digital cualquiera, veamos el cdigo al completo:

/*
Practica # 13 - Entrada analgica

Funcionamiento de las entradas analgicas configurando


el pin analgico A0 para tomar datos de una seal.
Esta toma de datos es utilizada para variar la velocidad
de parpadeo de un diodo LED conectado a la salida digital 9.

Este proyecto es de dominio pblico.


*/

int pinSensor = A0; // Entrada para el potencimetro.


int pinLed = 9; // Seleccionamos pin para el Led.
int valorSensor = 0; // variable para el valor del sensor.

void setup() {
// Declaramos el pin del Led como salida:
pinMode(pinLed, OUTPUT);
}

void loop() {
47
UGB
// Leemos el valor del sensor y lo almacenamos:
valorSensor = analogRead(pinSensor);
// encendemos el diodo LED:
digitalWrite(pinLed, HIGH);
// Detenemos el programa durante <valorSensor> milisegundos:
delay(valorSensor);
// Apagamos el diodo Led:
digitalWrite(pinLed, LOW);
// Detenemos el programa durante <valorSensor> milisegundos:
delay(valorSensor);
}

En este programa tenemos como novedad la siguiente instruccin:

analogRead(pinSensor)

Esta instruccin nos permite leer cualquier sensor que conectemos al pin analgico establecido en pinSensor, por
defecto, nuestra placa Arduino nos realizar una conversin analgico-digital para toda seal (40mA mximo) de 0v a
5v con una resolucin de 10 bit, lo que nos da 210 (1024) valores de referencia para nuestro programa, siendo 0 en 0v
y 1023 en +5v, en posteriores ejemplos veremos cmo ese rango de tensin en el que se realizan las mediciones se
puede variar para que, por ejemplo, empiece a lanzarnos valores a partir de 2,2v.

Con esto, y observando un poco el programa, podemos ver que el intervalo entre encendido y apagado de nuestro
diodo LED podr variar entre 0 y 1023 milisegundos, si quisiramos aumentar ms el tiempo de los intervalos
podramos aplicar alguna operacin matemtica al valor de nuestro sensor, por ejemplo, si aadiramos la lnea de
cdigo que se puede observar debajo de la toma de datos del sensor obtendramos un incremento del tiempo cuatro
veces mayor:
// Leemos el valor del sensor y lo almacenamos:
valorSensor = analogRead(pinSensor);
valorSensor = valorSensor*4;
Sin variar el circuito, vamos a introducir un nuevo cdigo para realizar un ejemplo diferente, en este proyecto, nuestro
diodo LED variar su intensidad lumnica en funcin del valor que est aportando el potencimetro a nuestra entrada
analgica, esto es el llamado efecto fading (desvanecimiento), puede observarse que se ha elegido la salida nmero 9,
ya que esta s que es compatible con la opcin PWM como se explic anteriormente.

Practica # 13 - Efecto Fading

Mostramos como se desvanece un LED


en funcin del valor recogido en un entrada analgica.

Este proyecto es de dominio pblico.


*/

int pinSensor = A0; // Entrada para el potencimetro.


int pinLed = 9; // Seleccionamos pin para el Led.
int valorSensor = 0; // variable para el valor del sensor.

void setup() {
pinMode(pinLed, OUTPUT); // Establecemos el pin como salida.
}

void loop() {
// Leemos el valor del sensor y lo almacenamos:
valorSensor = analogRead(pinSensor);
// Establecemos el valor analgico para la salida PWM
analogWrite(pinLed, valorSensor / 4);
48
UGB
// Detenemos el programa durante 30 milisegundos:
delay(30);
}

Podemos observar una nueva instruccin:

analogWrite(pinLed, valorSensor / 4);

Esta ser la instruccin que nos permitir emular una seal analgica a partir de una digital en nuestros circuitos, como
se explicaba.

El rango de salida de esta instruccin varia de 0 a 255, siendo 0 = 0v y 255 = 5v, por lo que es tan sencillo como
introducir un valor determinado para la tensin de salida que nosotros queramos conseguir, si quisiramos conseguir
2,5v el valor a asignar sera 127.

As que lo nico que debemos hacer es transformar mediante una simple operacin matemtica la seal tomada en
nuestro potencimetro para adaptarla a nuestra salida PWM.

Los niveles de entrada son de 0 a 1023, y si los niveles de salida, deben ser de 0 a 255 la lnea
de cdigo a tomar en cuenta. Esta es una manera algo tosca para realizar esta conversin,

analogWrite(pinLed, valorSensor / 4);

Responder

1- Por qu usar PWM?


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

2- Cul es la utilidad del potencimetro en esta prctica?


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

3- Cules son los pines de salidas configurados para poder ser usados como PWM?_____________

4- Cul es la frecuencia constante en un pin con PWM?____________________________________

5- Para que utilizamos la funcin analogRead?


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

6- Para que utilizamos la funcin analogWrite?


____________________________________________________________________________________________

49
UGB
____________________________________________________________________________________________
____________________________________________________________________________________________

7- Escriba una conclusin


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

PRCTICA 15: SENSOR LDR


PASO 1 COMPONENTES

Vamos a utilizar un LDR (Light Dependent Resistor o resistencia dependiente de la luz) para simular una hipottica
compensacin lumnica de 5 niveles, es decir, a travs de una resistencia que vara su valor dependiendo de la luz
recibida, aprovecharemos dicha variacin para hacer un programa que nos encienda o apague una serie de LED
dependiendo de si hay ms luz o menos luz, esto podramos extrapolarlo a un sistema de regulacin de luz de un jardn
con cinco lneas de luz que se vayan encendiendo segn va cayendo la noche compensando progresivamente la
deficiencia de luz.

Adems le hemos implementado un potencimetro para ajustar el nivel crtico mnimo de luz que queremos soportar, a
partir del cual se activar nuestro circuito y empezar a aumentar la luz del lugar progresivamente.

Material necesario:

1 x Arduino
1 x Protoboard
1 x LDR
1 x Potencimetro 10k
5 x Diodos LED
5 x Resistencias 220
1 x Resistencia 1K

50
UGB
PASO 2 DISEO

Lo que queremos conseguir es que, a partir de una resistencia que vara su valor hmico en funcin de que haya ms o
menos luz, controlar 5 salidas de nuestro Arduino, a las que podramos conectar lneas de iluminacin para un jardn
por ejemplo, de manera que segn va anocheciendo, nuestra iluminacin artificial va aumentando.

Adems, vamos a colocar un potencimetro para regular el umbral de luz mnima, a partir del cual, comenzar a
funcionar nuestro circuito de luz artificial para que sea adaptable a cualquier entorno.

Dividamos el circuito en tres partes:


Salidas
LDR
Regulador

El LDR para hacer el ya conocido divisor de tensin de donde sacaremos la seal para conectar a nuestra entrada
analgica de Arduino. Podemos conectarlo de dos maneras diferentes:

Si utilizamos el LDR como resistencia inferior del divisor de tensin, nos dar la tensin mxima cuando tengamos el
LDR en plena oscuridad, ya que estar oponiendo el mximo de su resistencia al paso de la corriente derivndose esta
por Vout al completo, si lo utilizamos como resistencia superior, el resultado ser el inverso, tendremos la tensin
mxima cuando est completamente iluminado, ya que se comportar prcticamente como un cortocircuito, con una
resistencia de 50 o 100.

En este caso lo hemos utilizado como resistencia superior, de manera que cuanta ms luz haya, ms tensin
tendremos a la entrada de nuestra entrada analgica pudiendo ajustar as, de una manera muy intuitiva, la tensin de
referencia.

Como tercera parte del circuito, hemos colocado un potencimetro configurado como divisor de tensin para hacer las
funciones de regulacin del rango de iluminacin a partir del cual se activar nuestro circuito de iluminacin.

Como?

Primero hay que pensar un par de cosas, nuestra foto-resistencia configurada como divisor resistivo, nos va a dar 0v
cuando este COMPLETAMENTE a oscuras, y +5v cuando est COMPLETAMENTE iluminada, situaciones que
pueden ser difciles de conseguir dependiendo del entorno en el que trabajemos, y por otra parte, ese rango de 0v a 5v
habr que dividirlo en 1024 pasos que va a leer nuestro Arduino, pero quizs solo vayamos a trabajar en 500 o 600
pasos, desperdiciando mucha resolucin.

Para solucionar esto, adems de evitar cambiar el programa de Arduino cada vez que lo cambiemos de entorno, he
decido usa una funcin que nos proporciona Arduino, el pin Aref
51
UGB

Qu es el pin AREF?

Cuando Arduino toma una seal analgica y la convierte a digital en 1024, lo hace por defecto pensando que la seal
que va a recibir puede variar entre 0v y 5v lo que nos da aproximadamente un valor por cada 4,88 mV, pero nosotros
podemos decirle que no, que realmente va a trabajar entre 0v y 3v, obteniendo as 1024 distribuidos entre 0v y 3v, lo
que nos da un valor por cada 2,9 mV, es decir una resolucin mucho mayor.

Debemos tener en cuenta que este pin lleva internamente una resistencia de 32K para evitar daar el chip, de manera
que si vamos a conectar el pin mediante una resistencia fija, se va a producir un nuevo divisor de tensin, con lo que
habr que calcular la resistencia adecuada para la tensin exacta que queremos introducir mediante una sencilla
frmula:

Donde:

Vin = Tensin que introducimos a Vref


Rinterna = Resistencia interna de Arduino de 32K
Rexterna = Resistencia mediante la cual alimentamos Vref
Vrefencia = La tensin sobre que tomar referencia nuestro programa.

De manera que si por ejemplo, estamos introduciendo una tensin de +3v a travs de una resistencia de 5K, la
tensin real de referencia en nuestro Arduino ser de:

(32000/(32000+5000)) x 3 = 2,59v

El esquema del circuito al completo:

PASO 3 PROGRAMACIN

Este programa es algo ms largo que los anteriores, pero se explicara poco a poco

Primero veamos el cdigo al completo:

/*
Practica # 13- Sensor LDR

Conectamos una foto-resistencia a la entrada


analgica para controlar cinco salidas
en funcin de la luz ambiente.

Este proyecto es de dominio pblico.


52
UGB
*/

//Aqu almacenamos los datos recogidos del LDR:


int valorLDR = 0;

//Decimos que pines vamos a utilizar para LED


int pinLed1 = 12;
int pinLed2 = 11;
int pinLed3 = 10;
int pinLed4 = 9;
int pinLed5 = 8;

//Y que pin para la LDR


int pinLDR = 0;

void setup()
{
//Establecemos como salida los pines para LED
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
pinMode(pinLed4, OUTPUT);
pinMode(pinLed5, OUTPUT);

//Le decimos que vamos a usar una referencia externa


analogReference(EXTERNAL);

void loop()
{
//Guardamos el valor leido en una variable
valorLDR = analogRead(pinLDR);

//Y comenzamos las comparaciones:


if(valorLDR >= 1023)
{
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
}
else if((valorLDR >= 823) & (valorLDR < 1023))
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
}
else if((valorLDR >= 623) & (valorLDR < 823))
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, LOW);
digitalWrite(pinLed4, LOW);

53
UGB
digitalWrite(pinLed5, LOW);
}
else if((valorLDR >= 423) & (valorLDR < 623))
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
}
else if((valorLDR >= 223) & (valorLDR < 423))
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, HIGH);
digitalWrite(pinLed5, LOW);
}
else
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, HIGH);
digitalWrite(pinLed5, HIGH);
}
}

La instruccin que no hemos visto nunca es la siguiente:

analogReference(EXTERNAL);

Con esta instruccin le estamos diciendo a nuestro Arduino, que no use su tensin de referencia por defecto (+5v) sino
la que nosotros introduzcamos por el pin AREF de nuestra placa, como explicamos en el paso 2.

Responder.
1- Qu es un LDR?
____________________________________________________________________________________________
____________________________________________________________________________________________

2- Cules son las maneras de conectar un LDR?


____________________________________________________________________________________________
____________________________________________________________________________________________

3- Qu es el pin AREF?
____________________________________________________________________________________________
____________________________________________________________________________________________

4- Escriba una conclusin


____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

54
UGB

ELABORACIN DE PROYECTO DIGITAL

Completadas las prcticas anteriores, los estudiantes formarn equipos de trabajo, con el fin de llevar a cabo un
proyecto de un circuito digital, que contenga al menos dos circuitos integrados, utilizando los software Livewire y
PCBWizard, para lo cual deben buscar en la web un circuito para ser mostrado al instructor, para que d el aval
correspondiente y as comenzar la bsqueda de los componentes con su respectiva cotizacin.

El proyecto debe incluir el nombre del proyecto, los integrantes, diagrama (original y su implementacin en el
Livewire), el PCB con sus respectivas vistas (tres), su funcionamiento, as como los materiales a utilizar con sus
respectivos precios en el mercado, adems debe incluir fotos del proceso de fabricacin y sus comentarios as como
inconvenientes y como fueron superados.

El reporte ser presentado de forma digital, en pginas tamao carta, y para reducir el consumo de papel, tinta, tiempo
y dinero, primero debe hacer funcionar su circuito y posteriormente entregar el reporte digital al instructor.

La fecha de entrega de los trabajos ser una semana anterior a los parciales correspondientes al tercer cmputo.

55

Вам также может понравиться