Nuevo Manual de Estructura y Diseño de Circuitos Digitales-Arduino

June 21, 2018 | Author: Jose Ricardo Clará Guevara | Category: Logic Gate, Bit, Electricity, Science, Mathematics
Report this link


Description

ESTRUCTURA Y DISEÑO DECIRCUITOS DIGITALES INGENIERÍA EN SISTEMAS Y REDES INFORMATICAS MANUAL DE PRÁCTICAS DE LABORATORIO FACULTAD DE CIENCIA Y TECNOLOGÍA UGB ÍNDICE Pág. INTRODUCCION..................................................................................................................................................3 SEGURIDAD EN LABORATORIOS DE ELECTRÓNICA.............................................................................................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 PRÁCTICA 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 PRÁCTICA 10: COMPUERTA LOGICA EX OR......................................................................................................32 PRÁCTICA 11: FLIP – FLOP RS CON COMPUERTAS NAND.................................................................................34 PRÁCTICA 12: INTRODUCCION A ARDUINO “HOLA MUNDO”.........................................................................36 PRÁCTICA 13: E/S DIGITALES............................................................................................................................40 PRÁCTICA 14: ENTRADA ANALÓGICA Y SALIDA PWM......................................................................................44 PRÁCTICA 15: SENSOR LDR...............................................................................................................................49 ELABORACIÓN DE PROYECTO DIGITAL..............................................................................................................54 2 UGB INTRODUCCION La implementación de este manual de prácticas de la asignatura de Estructura y Diseño de Circuitos Digitales, obedece a la necesidad de facilitarle al estudiante de Ingeniería en Sistemas y Redes Computacionales, que en un mismo documento encuentre las Guías Prácticas para la asignatura del presente ciclo, con el fin de enterarse de lo que se desarrollará en el laboratorio de Electrónica y sea de provecho para su preparación académica. Este manual contiene la teoría necesaria para cada práctica y sus correspondientes esquemas, diagramas y procedimiento para la ejecución de los circuitos que se proponen, también encontrará al final de cada práctica una serie de preguntas diseñadas para la obtención de una conclusión más acertada. La Electrónica Digital la encontramos en nuestras vidas como algo cotidiano y es que ya la vida sin hacer uso de las nuevas tecnologías se vuelve algo imposible en esta vida moderna, y principalmente para la educación universitaria actual. Es por eso que el estudiante debe leer, analizar y comprender cada práctica antes de realizarla, para un mejor provecho de su rendimiento, es así que lo que se pretende lograr es un estudiante con una preparación es el área de la Electrónica Digital que esté acorde a los tiempos modernos que la globalización exige y de esta forma ser competente en el campo laboral que se desempeñe. 3 UGB SEGURIDAD EN LABORATORIOS DE ELECTRÓNICA INSTRUCTIVO PARA EL ESTUDIANTE Cuando se trabaja con electricidad es imprescindible que se tenga claro los riesgos que conlleva el trabajar con corriente eléctrica. Esta, aunque no es la principal causa de accidentes, cuando ocurren son graves y en muchos casos mortales. Las consideraciones que se citan a continuación deben ser consideradas por el estudiante cuando trabaje en los laboratorios, pero más importante aún, cuando en su vida profesional se vea expuesto a situaciones en donde exista corriente eléctrica. Riesgos de incendio Los incendios provocados por causas eléctricas 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.  Combustión de materiales inflamables por cercanía a equipos de baja tensión.  Combustión de materiales inflamables por chispas o arcos. Shock eléctrico El shock eléctrico, dependiendo de su intensidad, puede causar desde una sensación de cosquilleo, hasta estímulos musculares dolorosos que podrían provocar la pérdida total del control muscular y llegar hasta la muerte. Los mecanismos de muerte por electricidad son:  Fibrilación ventricular. Se denomina fibrilación ventricular al trastorno del ritmo cardiaco que presenta un ritmo ventricular rápido (>250 latidos por minuto), irregular, de morfología caótica y que lleva irremediablemente a la pérdida total de la contracción cardiaca, con una falta total del bombeo sanguíneo y por tanto a la muerte del paciente.  Tetanización. Es un proceso por el cual un músculo deja de responder a los estímulos que lo hacen contraer voluntariamente y por lo tanto moverse, demostrando que estamos vivos y respiramos. Se manifiesta por la contracción de los músculos de las extremidades, lo que trae como consecuencia que la víctima quede prendida al conductor.  Doble acción. Tetanización y fibrilación a la vez  Parálisis bulbar. Afecta predominantemente de los nervios que controlan la masticación, la deglución y el habla).  Parálisis cardiocirculatoria y respiratoria. FACTORES A CONSIDERAR PARA EVITAR ACCIDENTES a) Intensidad de la corriente  En corriente alterna, el umbral mínimo de percepción es 1.1 mA.  El umbral mínimo de contracción muscular ocurre con 9 mA, pudiendo ocurrir contracción de los músculos, que expele al accidentado lejos del conductor. De no ser así, se podría llegar a la asfixia por contracción de los músculos respiratorios.  En corriente alterna el umbral de corriente peligroso corresponde a 80 mA, donde se puede llegar a fibrilación ventricular.  Entre 3 o 4 amperes de corriente puede llegar a causar depresión del sistema nervioso central 4 UGB Esto se puede resumir de la siguiente manera: Intensidad Posible efecto en el cuerpo humano 1 mA Leve sensación de hormigueo. De 2 a 4 mA Temblor de los nervios en los dedos hasta el antebrazo. De 5 a 7 mA Leve sensación de choque, no doloroso aunque incómodo. La persona promedio puede soltar la fuente que proporciona corriente. Reacciones involuntarias al choque pueden resultar en lesiones. De 10 a 15 mA Sensación desagradable, pero todavía 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 presión arterial, efecto de tetanización, inconsciencia y fibrilación ventricular. De 50 a 200mA Menos de medio ciclo cardiaco: No se da fibrilación. Fuerte contracción muscular. Menos de un ciclo cardiaco: Fibrilación, inconsistencia. Marcas visibles. Paro cardiaco reversible. Más de un ciclo cardiaco: Quemaduras. Mayor a 4A Parálisis 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 eléctrica del cuerpo Esta depende de muchos factores, por lo que es difícil de determinar. El elemento principal en la resistencia del cuerpo humano es la resistencia de la piel, la cual varía de persona a persona. Esta disminuye si se está enfermo, se tienen lesiones en la piel y si el ambiente circundante es húmedo. 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á húmeda, la resistencia del cuerpo baja considerablemente. Condición seca: I = V/R = 120 v/100000 Ω = 1.2 mA Condición húmeda: I = V/R= 120 v/1000 Ω = 120 mA Lo suficiente para causar fibrilación ventricular. Tensión y corriente La intensidad de la corriente (amperes) es el factor fundamental para poder predecir el tipo de daño 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 daños graves e incluso la muerte. c) Factores en que cuenta el tiempo de contacto Para que se produzca fibrilación en el corazón se requiere que el contacto sea de al menos del orden de un período cardiaco medio, que es del orden de 0.75 seg. Tiempos de contacto menores a eso no producen fibrilación. Esto es muy importante desde el punto de vista de la protección 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  No se debe. flecos.  No dejar bultos u otros objetos en los lugares de circulación. relojes de pulsera. libros. en términos generales. que no sea larga ni floja.  En el laboratorio. tanto la corriente continua como la alterna.  En caso de que se tenga pelo largo.  No consumir alimentos ni bebidas dentro del laboratorio. UGB d) Forma de corriente  Tanto en corriente alterna como en continua se aplica la Ley de Ohm.  Realizar los laboratorios con ropa seca y en superficies secas. bolsos. NORMAS DE SEGURIDAD EN EL LABORATORIO 1.  La corriente continua puede producir electrólisis pero teniendo en cuenta el tiempo de exposición y la tensión. zapatos abiertos o tacón alto en el laboratorio. presentan un riesgo adicional.  La corriente alterna.  Descargas eléctricas tales como chispas o arcos. de algodón o con un porcentaje alto de este.  Se pueden producir quemaduras al pasar corriente eléctrica por el cuerpo. en igualdad de condiciones. son peligrosamente mortales. 6 . tales como “piercings” en cualquier parte del cuerpo. que puede hacer que el afectado o sus compañeros pierdan el control de materiales y equipo que se esté manipulando.  Usar camisas de manga larga de algodón.  No se deben usar sandalias. 100 mA. porque el aislamiento que proporciona la ropa se ve reducida debido a la humedad. causando explosiones y fuego. en especial en los puntos de contacto con los conductores eléctricos.  Usar pantalón largo. Hábitos de conducta  No fumar en los laboratorios por seguridad e higiene. Vestimenta  En trabajos con máquinas o en sus inmediaciones. 4. en donde la transpiración de las personas se incrementa. pero puede generar otros riesgos por la reacción refleja de sobresalto. se debe llevar recogido con el fin de evitar riesgos. Se sugiere el uso de gabacha. pueden encender vapores inflamables. al realizar la práctica. 2. llevar anillos. tal como cuando está apoyada a superficies húmedas o mojadas. etc. causando otro tipo de accidentes. Mantener el puesto de trabajo limpio y en orden  La mesa de trabajo debe estar libre de abrigos. collares u otros accesorios que puedan engancharse. corbatas.  No obstante. esta debe informarse al profesor antes de realizar la práctica. es de 3 a 4 veces menos peligrosa que la corriente continua. como por ejemplo. el shock eléctrico es posible que sea leve. Salud  Si tiene algún padecimiento. en especial entre los pasillos de las mesas. Materiales sintéticos pueden provocar que en un accidente de quemadura esta se adhiera a la piel. e) Otras consideraciones  La susceptibilidad es mayor si la persona está haciendo un buen contacto con tierra.  No ingresar al laboratorio bajo los efectos de drogas o alcohol. etc. no se debe vestir con prendas sueltas o con partes que cuelguen. 3.  Ambientes con alta temperatura. o si se usa algún medicamento que considere relevante para el curso normal de la práctica. Un dispositivo de protección es aquel que impide que se inicie o se mantenga una fase peligrosa de la máquina. ni comunicarse con gritos.  No bloquear sistemas electrónicos. siga atentamente las instrucciones. etc.  Uso de guantes aislantes o protectores cuando se trabaja con piezas cortantes  Uso de cascos. Máquinas En algunas ocasiones no se puede eliminar el riesgo en el origen y por tanto es necesario utilizar medios de protección colectiva. En general  En los laboratorios no se deben dar bromas.  No se pueden realizar experimentos que no estén autorizados por el profesor. Esto incluye:  Uso de anteojos o pantallas de protección en operaciones donde exista riesgo de salpicadura. 6. En caso de duda.  En prácticas de laboratorio supervisadas. UGB 5. consultar al profesor. no se debe energizar ningún panel o fuente de voltaje sin que el profesor haya revisado la instalación correspondiente. 7 .  Seguir en todo momento las instrucciones del profesor. mascarillas y calzado especial cuando estos se requieran. mecánicos.  Utilice correctamente los elementos de seguridad. mientras se detecta o sea posible la presencia humana en la zona de peligro. eléctricos. Esto será indicado por el profesor en cada laboratorio en particular.  No utilice equipos y maquinaria sin conocer su funcionamiento.  Antes de realizar cualquier tarea en una máquina. Equipo de protección De manera particular. Notificar la anomalía para que el personal capacitado realice la tarea. pregunte al profesor(as).  Mantener el debido respeto hacia el profesor y los compañeros y compañeras. ni jugar.  No utilizar el celular durante las sesiones de laboratorio. teniendo en consideración los riesgos que tenga el mismo. 7. Mantenerlo apagado. tales como resguardos o dispositivos de seguridad. desatascar o limpiar equipo. será indispensable utilizar equipo de protección. Ante cualquier duda. y según sea la naturaleza del laboratorio.  Estudiar atentamente la guía del laboratorio a realizar. El resguardo es un componente de una máquina que se utiliza como barrera material para garantizar la protección.  Desconectar de la red eléctrica las herramientas y equipos antes de proceder al ajuste. Por tanto:  No ponga fuera de servicio los dispositivos de seguridad existentes.  No reparar. R3 el potenciómetro de 100KΩ. use R1 de 470Ω. OBJETIVOS 1. Ajuste la fuente a 5 voltios. CIRCUITOS CON EL 555 INTRODUCCION Los circuitos digitales funcionan a base de tiempo o en forma secuencial están regidos por elementos que deben de realizar una función operacional momentánea y luego cambiar de estado. 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 potenciómetro de 100KΩ  1 capacitor de 10µF  1 capacitor de 1µF  1 osciloscopio PROCEDIMIENTO 1. C2 1µF 8 . Verifique la configuración de pines del 555 2. UGB PRACTICA 1. ya sea de encendido = 1 hacia apagado = 0 o viceversa. El temporizador 555 es un circuito integrado especial que cumple con la función de proporcionar un tiempo de trabajo programado y después de cumplido debe efectuar un cambio de estado. Arme el circuito que se muestra en la figura. C1 10µF. Elaborar circuitos temporizados utilizando el integrado 555 2. R2 de 1KΩ. Arme el circuito de la figura. Aplique un pulso a tierra al pin dos mediante el cable de disparo y anote el fenómeno sucedido con el LED 5. C1 de 10µF y R3 el potenciómetro de 100KΩ 7. use R1 y R2 de 470Ω. 6. dibújela. varie el valor del potenciómetro y use el osciloscopio para observar la forma de onda. observe. Observe el fenómeno en el LED. 9 . UGB 4. Ajuste el valor del potenciómetro ligeramente y envíe otro pulso al pin 2. dibuje la forma de onda SEÑAL salida AMPLITUD:______________________ FRECUENCIA:______________________ 10 . describa los resultados en el LED 9. Cambie el valor del capacitor C1 por el de 1 µF. UGB SEÑAL salida AMPLITUD: ______________________ FRECUENCIA:______________________ 8. Varie el potenciómetro y observe el efecto con el osciloscopio. Las compuertas son bloques del hardware que producen señales del binario 1 ó 0 cuando se satisfacen los requisitos de entrada lógica. TEORÍA. Un computador digital. La siguiente ilustración muestra un ejemplo de una señal binaria. 11 . 9). tales como dígitos decimales o letras de alfabeto. ‘La información está representada en los computadores digitales en grupos de bits. que tiene dos dígitos 0 y 1. Las diversas compuertas lógicas se encuentran comúnmente en sistemas de computadores digitales. Por ejemplo.Conocer físicamente las compuertas AND de 2 entradas en el IC 74LS08 2 .. sí o no) se utiliza el sistema binario y se dice que son binarias. es un sistema digital que realiza diversas operaciones de cómputo. como su nombre lo indica. La manipulación y procesamiento de información binaria. Como se muestra en la figura. cada valor binario tiene una desviación aceptable del valor nominal.) COMPETENCIAS: Que el estudiante: 1 . Como sabemos en la práctica. Un dígito binario se denomina un bit. La palabra Digital implica que la información que se representa en el computador por medio de variables que toman un número limitado de valores Discretos o cuantizados.Conectar circuitos sencillos. cierto o falsa. proporcionan 10 valores discretos (0.. Las relaciones entrada . Debido al hecho que los componentes electrónicos atienden a dos estados (encendido / apagado) y que la lógica humana tiende a ser binaria (esto es. La información binaria se representa en un sistema digital por cantidades físicas denominadas señales. Los computadores digitales utilizan el sistema de números binarios. Las señales eléctricas tales como voltajes existen a través del sistema digital en cualquiera de dos valores reconocibles y representan una variable binaria igual a 1 ó 0. los computadores funcionan más confiablemente si sólo utilizan dos estados equiprobables. Es utilizada para escribir.5 volts para el binario "0". Estos valores son procesados internamente por componentes que pueden mantener un número limitado de estados discretos. La lógica binaria tiene que ver con variables binarias y con operaciones que toman un sentido lógico. La manipulación de información binaria se hace por circuitos lógico que se denominan Compuertas. Utilizando arreglos binarios y diversas técnicas de codificación.salida de las variables binarias para cada compuerta pueden representarse en forma tabular en una tabla de verdad. un sistema digital particular puede emplear una señal de 3 volts para representar el binario "1" y 0. Los dígitos decimales por ejemplo. La región intermedia entre las dos regiones permitidas se cruza solamente durante la transición de estado. Utilizando diversas técnicas de codificación los grupos de bits pueden hacerse que representen no solamente números binarios sino también otros símbolos discretos cualesquiera. UGB PRACTICA 2: COMPUERTA LOGICA AND (Y) (. Los terminales de entrada de un circuito digital aceptan señales binarias dentro de las tolerancias permitidas y los circuitos responden en los terminales de salida con señales binarias que caen dentro de las tolerancias permitidas. Cada compuerta tiene un símbolo gráfico diferente y su operación puede describirse por medio de una función algebraica. los dígitos binarios o grupos de bits pueden utilizarse para desarrollar conjuntos completos de instrucciones para realizar diversos tipos de cálculos. en forma algebraica o tabular. En otras palabras La salida X es igual a 1 cuando la entrada A y la entrada B son 1 Esta situación se representa en el álgebra booleana como: X = A*B ó X = AB Una compuerta AND de 3 entradas se puede implementar con interruptores. 12 . como se muestra en el siguiente diagrama. UGB La compuerta AND o Y lógica es una de las compuertas más simples dentro de la Electrónica Digital. B. Su representación es la que se muestra en las siguientes figuras. etc. IC 74LS08 La compuerta Y lógica más conocida tiene dos entradas A y B. C. La tabla de verdad se muestra al lado derecho donde: A = Abierto y C = Cerrado. aunque puede tener muchas más (A. 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 lógico. nivel alto) cuando la entrada A como la entrada B están en "1".) y sólo tiene una salida X. La primera es la representación de una compuerta AND de 2 entradas y la segunda de una compuerta AND de 3 entradas. Una AND de múltiples entradas puede ser creada conectando compuertas simples en serie. 1 CI SN7408 A 0 1 V1 = 5. Si se necesita una AND de 3 entradas y no hay una disponible.0 De igual manera.swf PROCEDIMIENTO 1.pdf http://www.iearobotics.com/portaleso/trabajos/tecnologia/ele.0 R = 470 Ω 13 B 0 . 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.3. 1 obtenga su tabla de verdad. 1 0 0 0 1 0 1 0 VISITA: 1 1 0 0 1 1 1 1 http://www. es fácil crearla con dos compuertas AND en serie o cascada como se muestra en el siguiente diagrama. aumenta. tomando un 0 cuando el LED este apagado y un 1 cuando esté encendido. 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. Construya el circuito de la Fig. donde se utilizan interruptores. es que el tiempo de propagación de la señal desde la entrada hasta la salida.yelectro/elec-digital.7.com/personal/juan/docencia/apuntes-ssdd-0. El problema de poner compuertas en cascada. 150 Ω 0 1 0 0 V = 5.portaleso. se puede implementar compuertas 0 1 1 0 LED AND de 4 o más entradas. 0 B 0 1 C 0 +5v FIG. 1 CI = SN7408 A 0 1 R = 470 Ω V1 = 5. Construya el circuito de la Fig. UGB FIG 1 +5v 470 Ω A B __ 2. 2 14 470 Ω A B C __ . 2 y obtenga su tabla de verdad. La manipulación de información binaria se hace por circuitos lógico que se denominan: _________________ 6. Como se le llama a un digito binario: ______________ 5. El pin para Vcc donde se conectan los 5 voltios positivos es: ____________________ 15 . Cuantas compuertas AND tiene en su interior un IC 74LS08? ___________________________________ 3. Un sistema digital particular puede emplear una señal de 3 volts para representar el binario: ___________ 7. UGB PREGUNTAS: 1. El pin para GND o tierra es: __________________ 13. Liste los números correspondientes a los pines de las entradas de todas las compuertas AND del IC 74LS08 ______________________________________________________________________ 11. Cuál es la característica o condición de la compuerta AND 74LS08: _________________________ ________________________________________________________________________________ 2. Cuantos voltios podrían representar el binario “0”: ____________________________ 8. Liste los números correspondientes a los pines de todas las salidas de las compuertas AND del IC 74LS08 _______________________________________________________________ 12. Los sistemas digitales utilizan sistemas binarios que tienen dos dígitos ¿cuáles son? ___________ 4. Dibuje el símbolo de una compuerta lógica AND de dos entradas con el nombre de las variables de Entrada y Salida: 10. Las compuertas digitales se encuentran comúnmente en: __________________________________________ 9. "0" = abierto. 74LS32 La salida X de esta compuerta será "1" cuando la entrada "A" o la entrada "B" este en "1". La función booleana es X = A + B + C 16 .0 Esta misma compuerta se puede implementar con interruptores como se muestra en la figura de la derecha. cuando en cualquiera de sus entradas haya un "1".0 A V = 5. la salida será "1". La representación de la compuerta "OR" de 2 entradas y tabla de verdad se muestran a continuación: Y se representa con la siguiente función booleana: X = A + B óLED1 X =CQX35A B +A A B Y = A+B B 150. en donde se puede ver que: cerrando el interruptor A "O" el interruptor B se encenderá la luz. "1" = cerrado . +) COMPETENCIAS: Que el estudiante adquiera las competencias de: 1 Identificar físicamente las compuertas OR de 2 entradas en IC 74LS32 2 Conectar circuitos sencillos LA COMPUERTA LÓGICA "OR" O COMPUERTA "O" (+) La compuerta O lógica o compuerta OR es una de las compuertas más simples dentro de la Electrónica Digital. Expresándolo en otras palabras: En una compuerta OR. "1" = luz encendida En las siguientes figuras se muestran la representación de la compuerta "OR" de tres entradas con su tabla de verdad y la implementación con interruptores. UGB PRACTICA 3: COMPUERTA LOGICA OR (O. UGB Representación de una compuerta OR de 3 entradas con su tabla de verdad. La lámpara incandescente se iluminará cuando cualquiera de los interruptores (A o B o C) se cierre. PROCEDIMIENTO: 1. A B C X= L ED1 CQX35A R1 1 .0 LED Compuerta "OR" de 3 entradas implementada con interruptores.0 k A B 150 C V1 5. la lámpara se encenderá. 1 SN7432 A B X= A 0 1 V1 = 5 V R = 470 Ω 0 B +5v 470 Ω 17 A B . Construya el siguiente circuito y llene la tabla de verdad tomando un 0 cuando el LED este apagado y un 1 cuando esté encendido. Se puede ver que cuando cualquiera de ellos esté cerrado. uni-hamburg.Ω V1 = 5 V B 0 1 0 C +5v 470 Ω _ A B C 18 . 1 SN7432 A A B C X= 0 1 R = 470.de/applets/hades/webdemos/16-flipflops/40-jkff/SN7476-single. Construya el siguiente circuito y llene su tabla de verdad.informatik. UGB La característica o condición de la compuerta OR es: ____________________________________ ____________________________________________________________________ ____________________________________________________________________ VISITA: http://tams-www.html 2. En el caso del gráfico anterior la salida X = A. 1 0 1 Un motivo para implementar un circuito que tenga en su salida. Esta compuerta como la compuerta AND y la compuerta OR es muy importante. también llamada compuerta inversora. Esto significa que si a la entrada tenemos un "1" lógico. lo mismo que tiene en su entrada. COMPUERTA NOT (NO) (INVERSOR) Dentro de la electrónica digital. UGB PRACTICA 4: COMPUERTA NOT (NO o INVERSOR) COMPETENCIAS: Que el estudiante adquiera las competencias de: 1 Identificar físicamente las compuertas NOT de 1 entrada en IC 7404 2 Conectar circuitos sencillos. 74LS04 19 . La compuerta NOT entrega en su salida el inverso (opuesto) de la entrada. la entrada original. es conseguir un retraso de la señal con un propósito especial. a la salida hará un "0" lógico y si a la entrada tenemos un "0" a la salida habrá un "1" Nota: El apóstrofe en la siguiente expresión 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 después de dos compuertas. no se podrían lograr muchas cosas si no existiera la compuerta NOT (compuerta NO). El símbolo 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. 0 +5v A 470 Ω 2. recordando que el LED encendido lo interpretaremos como un 1 y el LED apagado como un 0. UGB PROCEDIMIENTO: 1. Conecte el siguiente circuito y complete la tabla de verdad.0 20 . A A' 1 IC 7404 470Ω 0 X X' V = 5. Construir el siguiente circuito. 1 A X’ X’’ X’’’ A A' X'' X''' 0 150Ω 150Ω 150 Ω V = 5. UGB +5v A PREGUNTAS: 1. ¿Cuántos inversores hay en un circuito IC 74LS04? _________________________ 3. ¿Qué sucede si conectamos tres inversores en serie? _________________________ 6. ¿Cuáles son los pines del 74LS04 que corresponden a las salidas? ______________________ 7. ¿Qué sucede si conectamos dos inversores en serie? _______________________ 5. ¿Qué hace un inversor? __________________________ 4. ¿Cuáles son los pines que corresponden a las entradas? _____________________ 8. ¿De qué maneras se puede representar la negación? _____________________________ 21 . ¿A qué lado debe ubicarse la muesca? __________________________ 9. ¿Cuantas entradas tiene un inversor? ______________________________ 2. Una NAND se puede utilizar para implementar un inversor haciendo un corto circuito en sus entradas como se presenta a continuación. Además de los inversores. para poder implementar cualquier función lógica utilizando NANDs necesitamos conseguir una forma de poder implementar las funciones AND y OR. TEORÍA Cualquier función lógica se puede implementar utilizando NANDs solamente o NOR. Utilizando circuitos integrados 7400 (NAND) implemente las compuertas lógicas básicas. El AND es fácil de implementar porque sólo requiere invertir la salida de un NAND. UGB PRÁCTICA 5: UNIVERSALIDAD DE COMPUERTAS LOGICAS COMPETENCIAS: A B Y 1. Verifique las tablas de verdad para cada implementación. 2. 22 . A Y= A Y +5v A 470 Ω Esto nos permite poder sustituir cualquier inversor en un circuito por un NAND. Conectando un inversor (implementado con un NAND) en la salida de un NAND obtenemos la función AND. +5V A A B Y Y= B 470 Ω 23 A B . En el lado izquierdo presentamos la derivación algebraica y en el derecho el equivalente utilizando compuertas lógicas. Para lograr nuestro objetivo haremos uso de los teoremas de Morgan como se presenta a continuación. UGB A Y= B +5V 470 Ω A B El único componente que nos falta por implementar utilizando NANDs es el OR. conocer el valor de sus salidas para cada una de las posibles combinaciones de entrada. OR y NOT 2 Obtenga la ecuación Booleana de la combinación.unicauca. INTRODUCCION El análisis consiste.co/~vmondrag/DigitalesI. UGB VISITA: http://atenea. 3 Complete la tabla de verdad.htm PRACTICA 6: LOGICA COMBINACIONAL 1 COMPETENCIAS: Que el estudiante: 1 Combine las compuertas AND. en que dado un circuito.edu. este resultado se representa en la Tabla de Verdad del circuito y la función Booleana que 24 . La ecuación Booleana se determina a medida se recorre el 0 1 1 0 1 1 circuito de izquierda a derecha. convirtiéndose la expresión en A.B A. luego. 1 1 1 1 0 1 1.B. (2 n ) donde n es el número de entradas.B. hasta obtener la expresión booleana 1 0 0 0 1 1 competa.B A. Construya el siguiente circuito lógico. entonces después de la compuerta tendremos A.B + C 1 1 0 1 0 0 PROCEDIMIENTO. A B C X= EJEMPLO A. esa 1 0 1 0 1 1 expresión llega a la entrada de un inversor. quedando la expresión X = A. UGB representa el circuito. Se tendrán 8 0 1 0 0 1 1 combinaciones posibles. 25 . para un circuito de tres entradas.B) + C 0 0 0 0 1 1 El número de entradas nos sirve para determinar el 0 0 1 0 1 1 número de combinaciones posibles que tendrá la tabla de verdad. entonces: 2 3 = 8 .B X= (A. la entrada C se une a la expresión por medio de una compuerta OR.B A X = (A . Para el caso. por cada compuerta habrá una expresión booleana parcial. si las entradas A y B llegan a la compuerta AND. n = 3. Determine la ecuación booleana y compruebe los resultados. B) + C B C A B C A. por ejemplo. un 0. si el LED enciende. entonces considere un 1 y si no enciende. C PREGUNTAS 1. Como sería la expresión booleana si cambiamos la compuerta AND por una OR y la OR por una AND: _________________ 4. ¿Cuál es el resultado de la salida circuito anterior cuando todas sus entradas están en 1? _________________ 3. ¿Cómo es el resultado de la salida para un combinación de 0 1 1? ___________ 5. ¿Qué resultado da al combinar 101? _____________________ 2. ¿En el circuito del ejemplo en que combinación es 0 a la salida? ___________ B C X= 26 . UGB A A+B X= Para el Bcircuito siempre utilizará un LED y una resistencia de 470 Ω. UGB U 2 SN 7408 U 3 SN 7404 U 1 SN 7432 A A + B X = B C 27 . al igual que la entrada B. OR y NOT 2 Obtenga la ecuación Booleana de la combinación. Verifique si la respuesta de la salida corresponde al resultado de la tabla de verdad. crear una tabla de verdad apropiada para el circuito y llénela. complete la tabla de verdad adjunta. 28 . Para la variable B ocurre lo mismo. INTRODUCCION: Continuando con la implementación de circuitos digitales. Observa que la variable A llega a una compuerta AND directamente y antes de llegar a la otra compuerta. negando la variable A. 3 Complete la tabla de verdad. pasa por un inversor. Al reverso de la hoja realice el dibujo del alambrado en la breadboard. se presenta un circuito que tiene aplicación en circuitos digitales. 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. La entrada A es común a ambas compuertas AND. UGB PRACTICA 7: LOGICA COMBINACIONAL 2 COMPETENCIAS: Que el estudiante: 1 Combine las compuertas AND. X= A B PROCEDIMIENTO: Enumere los pines correspondientes y colóquelos al diagrama. Enumere los pines en el diagrama. Hágalo funcionar 29 . C ) Construya un diagrama para el circuito. OR y NOT 2 Obtenga el diagrama de la combinación. ________________________ ¿Qué resultado da en la combinación 1 1? _________ Analice. 3 Complete la tabla de verdad 4 Construya y compruebe el circuito correspondiente. Pida revisión. UGB Escriba la ecuación Booleana. Dibuje la tabla de verdad. Solicite los circuitos necesarios al instructor. ¿Qué sucede si quitamos los inversores? _____________________________________ _________________________________________________________ PRACTICA 8: LOGICA COMBINACIONAL 3 COMPETENCIAS: Que el estudiante: 1 Combine compuertas AND. Construya el circuito. Haga el dibujo de alambrado en la breadboard. Obtenga las salidas parciales. Obtenga la ecuación Booleana. PROCEDIMIENTO Con la expresión ( A+ B ) + ( B . más conocida por su nombre en inglés NOR. La ecuación característica 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 lógico sólo cuando todas sus entradas 30 . 2 Conectar circuitos sencillos. COMPUERTA LOGICA NOR ( NO O ) Símbolo de la función lógica NO-O. En la figura de la derecha pueden observarse sus símbolos en electrónica. b) Normalizado y c) No normalizado La puerta lógica NO-O. realiza la operación de suma lógica negada. UGB PRACTICA 9: COMPUERTA LOGICA NOR ( NO O ) COMPETENCIAS: Que el estudiante: 1 Conocer físicamente las compuertas NOR de 2 entradas en IC 74LS02. a) Contactos. Obtenga la ecuación Booleana y su tabla de verdad 6. Construya el circuito de la figura 1. Una compuerta NOR (No O) se puede implementar con la concatenación de una compuerta OR con una compuerta NOT.0 0 150 Ω 1 0 FIG. 1 IC 74LS02 A B A+B X= V = 5. ¿Qué número tienen los pines de entrada? _____________________________________ 2. PROCEDIMIENTO 1. 1 +5v 470 Ω A B 0v 1 IC 74LS02 0 150 Ω 1 V=5v 31 0 1 0 . 5. Ubique los números de los pines al diagrama. 4. UGB están a 0. Coloque las salidas parciales. ¿Qué número de pines tienen los pines de salida? _______________________________ 3. Conecte el circuito de la figura 2. Coloque las salidas parciales. En que se convierte una puerta NOR al unir sus dos entradas ________________________________ 7 ¿Se pueden implementar otras compuertas lógicas básicas con compuertas NOR? ____________ 8. 2. 9. 11. 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. 8. ¿Cuáles? ________________________________________ 32 . Obtenga su ecuación Booleana y su tabla de verdad 10. Como se puede construir una compuerta NOR con otras compuertas__________________________ _________________________________________________________________________________ 6. Ubique los números de los pines de la fig. 2 +5v 470 Ω C B A 0v 7. 0 1 B 0 +5v A B 470 Ω 33 0v . 1 A B X= A IC7486 0 470Ω V = 5. UGB PRÁCTICA 10: COMPUERTA LOGICA EX OR COMPETENCIAS: Que el estudiante: 1 Conocer físicamente las compuertas EX OR de 2 y 3 entradas en IC 74LS86. 2 Conectar circuitos sencillos. PROCEDIMIENTO Construya el circuito de la figura 1. PUERTA EX OR La puerta EXOR (or exclusivo) es un dispositivo de dos entradas y una salida que cumple con la condición que la salida toma el valor lógico 1 si. y solo si las entradas son diferentes. utilizando un 74LS86 Obtener su expresión Booleana y su tabla de verdad. UGB Construya el circuito de la figura 2.0 0 1 C 0 +5v A B C 0v A B C 34 . Obtenga su ecuación Booleana y su tabla de verdad 1 A IC7486 0 470 Ω 1 B V = 5. también llamado báscula (flip-flop en inglés). es un multivibrador capaz de permanecer en un estado determinado o en el contrario durante un tiempo indefinido. que recibe el nombre de “registro básico de compuertas NAND”. 2. En la figura siguiente se muestra la versión con compuertas NAND. Las dos compuertas NAND están conectadas de tal forma que la salida de la NAND 1 sea la entrada de la NAND 2 y viceversa. TEORIA Un FLIP FLOP es un biestable. las entradas de control asíncronas prevalecen sobre las síncronas. UGB PRÁCTICA 11: FLIP – FLOP RS CON COMPUERTAS NAND COMPETENCIAS: Que el estudiante: 1. 1 1 1 S S 0 1 Q 1 Q 0 1 1 1 2 Q 2 Q R R 35 . Las salidas de las compuertas. Obtener la tabla de verdad para el FF. y dentro de los activos por flancos los tipos JK. respectivamente. El paso de un estado a otro se realiza variando sus entradas. Por lo general. son las salidas del registro básico. Dentro de los biestables síncronos activados por nivel están los tipos RS y D. T y D. Dependiendo del tipo de dichas entradas los biestables se dividen en: Asíncronos: sólo tienen entradas de control. Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj. El más empleado es el biestable RS. la entrada RESTABLECER es la que borra o manda a Q al estado 0. Conozca cómo implementar un flip flop RS con compuertas NAND. Se puede construir el circuito FF más elemental con dos compuertas NAND (7400) o con dos compuertas NOR. Esta característica es ampliamente utilizada en electrónica digital para memorizar información. Si las entradas de control dependen de la de sincronismo se denominan síncronas y en caso contrario asíncronas. Bajo condiciones normales. o simplemente “registro básico”. marcadas como Q y Q. La entrada de sincronismo puede ser activada por nivel (alto o bajo) o por flanco (de subida o de bajada). estas salidas siempre serán inversas una de la otra… Hay dos registros o cierres de entradas: la entrada INICIO que es establecer a Q al estado 1. ESTABLECER = 1. RESTABLECER = 1. Los biestables almacenan el estado previo de la máquina que se usa para calcular el siguiente. Esta condición intenta iniciar y borrar el registro básico en forma simultánea y puede producir resultados ambiguos. UGB a) b) Un registro básico NAND tiene dos posibles estados cuando ESTABLACER (S) = RESTABLECER (R) = 1 RESUMEN DEL REGISTRO BASICO La operación se pude colocar adecuadamente en una tabla de verdad. Construya el circuito mostrado en la página anterior con compuertas NAND (7400). Haga la tabla de verdad correspondiente para cada uno de los estados de ESTABLECER y RESTABLECER mencionados en la teoría. 3. o cualquier otra clase de información. 1. No debe utilizarse. 2. ESTABLECER = 0. A esto se le llama establecimiento o reinicio del registro básico. Las salidas Q y Q permanecerán en el estado en el que se encontraban antes de presentarse esta condición de entrada. Este estado siempre ocasionará que la salida pase al estado Q = 1. ESTABLECER = RESTABLECER = 1. Las entradas ESTABLECER y RETABLECER normalmente están en estado ALTO y una de ellas será pulsada a BAJO cuando se requiere cambiar el estado de salida del registro básico. ESTABLECER = RESTABLECER = 0. y se resume de la siguiente manera. Esto siempre producirá al estado Q = 0. S R Q Q 3. RESTABLECER = 0. La información contenida en muchos biestables puede representar el estado de un secuenciador. ¿Cuál es el estado inicial de las entradas ESTABLECER y RESTABLECER? _______________________ 36 . Un uso corriente es el diseño de máquinas de estado finitas electrónicas. donde la salida permanecerá aun después de que BORRAR retorne a ALTO. Esta condición es el estado normal y no tiene efecto alguno sobre el estado de salida. PROCEDIMIENTO 1. el valor de un contador. 2. donde permanecerá aun después de que ESTABLECER retorne a ALTO. un carácter ASCII en la memoria de un ordenador. APLICACIÓN Un biestable puede usarse para almacenar un bit. A esto se le denomina establecimiento del registro básico. Un Atmega328 con 32Kbytes de ROM para el programa. Salió a la luz en septiembre de 2010. Arduino Mega 37 . Se creó para artistas. puede utilizarse libremente para desarrollar cualquier tipo de proyecto sin tener que adquirir ningún tipo de licencia. diseñadores. ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ PRÁCTICA 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 electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. ¿Cómo se le llama también a un flip flop? ____________________________ 5. ¿Qué es un flip flop? _______________________________________________________________ 6. Escriba una conclusión. Qué es Arduino? • Arduino es una plataforma open-hardware basada en una sencilla placa con entradas y salidas (E/S). analógicas y digitales. UGB 4. • Al ser open-hardware tanto su diseño como su distribución es libre. ¿Qué significa S? _____________________ 8. Caracteristicas • Open Hardware • Lenguaje programación (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 estándar y posiblemente la más conocida y documentada. aficionados y cualquiera interesado en crear entornos u objetos interactivos. un chip sencillo y de bajo coste que permite el desarrollo de múltiples diseños. ¿Qué significa R? _____________________ 7. Arduino Nano v3 Su principal ventaja es que puede ser pinchado directamente sobre una protoboard haciendo muy cómodo el prototipado al igual que el Arduino mini. utilizaremos la salida 12 como ejemplo. 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 – DISEÑO Debemos lograr mediante el programa de nuestro Arduino. cuenta con el microcontrolador Atmega2560. En primer lugar una imagen del esquema eléctrico del circuito: El esquema eléctrico nos quedaría de la siguiente manera 38 . 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. apto para trabajos ya algo más complejos aunque tengamos que sacrificar un poco el espacio. Esto tan sencillo. las placas de Arduino ya llevan incorporada una resistencia de 220Ω en su salida 13 y podríamos omitirla si utilizáramos esta. un diodo LED que parpadeará en intervalos de un segundo. UGB Más potente y el que más pines i/o tiene. encender y apagar un LED que conectaremos a una salida mediante una resistencia que nos regulará la intensidad que debe llegar al diodo. pero como lo que queremos es mostrar también como calcular el tipo de resistencia que debemos poner en cada momento. // Pone la salida 12 a ON delay(1000). pero luego iremos describiendo poco a poco… /* Blink Enciende y apaga un Led en intervalos de un segundo repetidamente. // Espera un segundo digitalWrite(12. // Pone la salida 12 a OFF delay(1000). } //Ahora le decimos que hacer con esa salida. */ //Configuración de nuestra salida. cuando iniciemos nuestro Arduino. // Espera un segundo } En primer lugar debemos tener claro la estructura de nuestro Sketch para que lo entienda nuestro Arduino. primero se muestra completo. void loop(){ digitalWrite(12. HIGH). Este código de ejemplo es de uso público. LOW). Primero: La configuración de nuestra placa (setup). esta se ejecutará tan solo una vez. void setup(){ pinMode(12. se tendrá que digitar directamente en el software oficial de Arduino para después transferirlo a nuestra placa. OUTPUT). void setup() { 39 . // Pin 12 como Salida. UGB PASO 3: PROGRAMACIÓN Este primer sketch que vamos a desarrollar. void loop() { Aquí pondremos las instrucciones que ejecutará nuestro programa nuestro programa. Mode) podemos observar que repetimos lo mismo que el nombre de la instrucción de manera que rellenaremos primero el pin y luego el Mode separados con una coma y entre paréntesis. La instrucción pinMode nos sirve para configurar un pin como entrada (INPUT) o como salida (OUTPUT). fecha. ya que es lo que utiliza Arduino para separar una instrucción de otra. Niveldesalida) nos sirve para poner un pin digital en HIGH (1 lógico = +5v) o LOW (0 lógico = 0v). // Esto es un comentario de una línea Existe otra forma de insertar comentarios. Luego tenemos en la sección de loop las siguientes instrucciones. */ Estos se utilizan normalmente al inicio del programa para insertar una breve descripción del programa. que se estructuran de la siguiente manera: /* Aquí podemos insertar cualquier descripción de nuestro programa de más de una línea o más sin que sea tenida en cuenta por Arduino. OUTPUT). Estas anotaciones son comentarios sobre el programa para facilitar su comprensión. y todo aquello que vaya seguido de esas barritas en la misma línea no es interpretado por Arduino. La instrucción delay(tiempo) nos sirve para crear temporizados en nuestro programa como en este caso. No debemos olvidar cerrar el bloque. } Segundo: Programa que ejecutará ciclicamente (loop). son los comentarios en bloque. digitalWrite(12. En cuanto a la función setup realizado en este proyecto tenemos lo siguiente pinMode(12. de lo contrario nos dará error de compilación. por lo que 1000 = 1sg 40 . Como veis debe estar todo incluido entre llaves. para recordar la manera que se estructura podemos recordar el siguiente truco pinMode(pin. // Pin 12 como Salida. HIGH). // Espera un segundo digitalWrite(12. versión y autor. } Hay que recordar siempre que pongamos una instrucción colocar al final. para encender y apagar un LED. // Pone la salida 12 a ON delay(1000). // Pone la salida 12 a OFF La instrucción digitalWrite(entradadigital. LOW). Comentarios //. UGB Aquí vendrán las configuraciones de nuestro pines como entradas o salidas y la configuración del puerto serie si es necesaria. el valor viene dado en mili-segundos. o no. Responder… Por qué se dice que Arduino es una plataforma open-hardware____________________________________________ De cuanto es el tamaño de memoria ROM del Arduino Uno:____________________ ¿Para qué sirve la instrucción pinMode? ____________________________________________________________________________________________ ____________________________________________________________________________________________ ¿Para qué sirve la instrucción delay? ____________________________________________________________________________________________ ____________________________________________________________________________________________ Escriba una conclusión. ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ PRÁCTICA 13: E/S DIGITALES Paso 1: Componentes En esta práctica vamos a aprender a configurar una entrada digital a la que conectaremos un pulsador y. 1 diodo LED. 1 resistencia 220Ω. 1 protoboard. una salida digital a la que conectamos un diodo LED. activaremos. es posible que recibamos algo de ruido del circuito y que Arduino no nos lo interprete como un 0 (low) por lo que 41 . ¿Qué son las resistencias de Pull-Up o Pull-Down? En nuestro Arduino. Parte 2: Diseño En esta práctica. deberemos interpretar en nuestro programa la lectura de una entrada digital. las entradas digitales se interpretan de la siguiente manera: 1 (lógico) = Hight = +5v 0 (lógico) = Low = 0v ¿Esto quiere decir? Que si tenemos una tensión de +5v aplicada a una entrada. es un ejemplo sencillo. Material necesario: 1 placa Arduino. nos permitirá controlar el encendido y apagado del diodo. 1 pulsador. si nosotros dejamos de aplicar esa tensión a la entrada digital. y en base a su lectura. este nos la interpretara como un 1 (hight) sin lugar a dudas. pero que nos permite aclarar un concepto muy importe sobre las entradas digitales. pero no es así al contrario. con lo aprendido sobre el LED en la práctica anterior. 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. las resistencias de Pull-Up o Pull-Down. 1 resistencia 10K. deberemos colocar el LED correctamente polarizado con su resistencia. de manera que cuando pulsemos el botón. a la resistencia que se conecta a masa se le llama PULL-DOWN. UGB colocamos una resistencia entre la entrada y masa (GND) que derive estos ruidos asegurándonos una señal limpia y sin posibles errores. pero en realidad sólo son dos muy largas que salen por los laterales del pulsador para facilitar las conexiones. si tuviéramos la necesidad de mantener un 1 lógico en una entrada mientras el circuito está en reposo. a esta última se le denomina PULL-UP. de manera que si lo colocamos y el LED se enciende 42 . Las conexiones nos quedarían de la siguiente manera: Algunos pulsadores electrónicos parecen llevar cuatro patillas. Una vez conocido esto. De igual manera. y el pulsador con una resistencia de PULL DOWN de 10KΩ a masa para cuando esté en reposo. se le puede aplicar una resistencia entre la entrada y +5v para asegurarnos que le llega suficiente tensión como para que sea interpretada correctamente por nuestro Arduino. Aquí se puede ver como se conectaría la resistencia en un circuito básico de 0 o 1 en la entrada 8 de Arduino. a partir de aquí el programa hará el resto para proporcionarnos la tensión de salida que activará el diodo LED. llegue una tensión 5v a la entrada 2 de Arduino y este lo interprete como un 1 lógico. } } . Este proyecto es de dominio público */ // Variables estáticas int pinBoton = 2. // Declaramos la variable pin del Led // Variables dinámicas int estadoBoton = 0. LOW). OUTPUT). UGB continuamente. // Declaramos la variable pin del Botón int pinLed = 12. enciende el LED: digitalWrite(pinLed. es muy posible que lo hayamos conectado mal. // Variable para estado del botón void setup() { // Inicializa el pin del LED como salida: pinMode(pinLed. // Declaramos la variable pin del Botón int pinLed = 12. y ademas las hemos organizado en estáticas y dinámicas: // Variables estáticas int pinBoton = 2. // Declaramos la variable pin del Led 43 . INPUT).E/S DIGITALES En este proyecto encenderemos un LED conectado al pin digital 12 cuando presionemos el pulsador asociado al pin digital 2. HIGH). En primer lugar podemos observar que antes del setup tenemos declarada unas variables globales. lo mantiene apagado: digitalWrite(pinLed. } else { // Si no. } void loop(){ // Lee el valor del pin del botón y lo almacena // en la variable estadoBoton estadoBoton = digitalRead(pinBoton). si se tiene un polímetro. colocarlo en modo continuidad y asegurar de la posición correcta. // Inicializa el pin del botón como entrada: pinMode(pinBoton. PASO 3: PROGRAMACION Como primer punto el programa completo que posteriormente explicare cada una de sus partes /* Practica #12 . // Chequea si el botón está pulsado: if (estadoBoton == HIGH) { // Si es así. en este caso el número entero 12 para la salida del LED y el número entero 2 para la entrada del pulsador. la lectura del pin 2 de nuestro Arduino. con el resultado obtenido de esa comparación. el ciclo if… else. } Para explicar el loop. Variable de tipo int: Almacena números enteros con un rango de -32768 a 32767 Como novedad. un lugar en el que almacenaremos algo para utilizar en nuestro programa. } else { // Si no. enciende el LED: digitalWrite(pinLed. si ha quedado algún detalle por aclarar. podemos ver que en lugar de asignar un valor numérico en la instrucción pinMode para decirle el pin sobre el que queremos trabajar. si es que no. este ciclo es un condicional básico en programación. y. // Chequea si el botón está pulsado: if (estadoBoton == HIGH) { // Si es así. y depende de lo que queramos introducir así tendrá un tipo de valor antes de ser declarada puede ser de plástico o de cartón todo dependerá de los que se desee guardar en ella. } Y con esto hemos concluido la explicación de la práctica. OUTPUT). pedir ayuda a su docente o instructor. lo primero que va a hacer es almacenar en nuestra variable dinámica de tipo int “estadoBoton”. a continuación. void setup() { // Inicializa el pin del LED como salida: pinMode(pinLed. tenemos que cada vez que se ejecute el ciclo loop. // Inicializa el pin del botón como entrada: pinMode(pinBoton. entonces pondrá en LOW nuestra salida del LED apagándolo. en primer lugar. si es que sí. y a la hora de interpretar el programa. Y ahora llega algo nuevo. lo que hace en nuestro programa es comprobar primero si nuestra variable estadoBoton está a 1 lógico. en este caso les hemos asignado un valor desde el principio por las necesidades del programa. en este programa hemos utilizado las de tipo int pero existen muchas más dependiendo de nuestras necesidades. ¿Y cómo le digo si es de plástico o de cartón? Definiendo el tipo de variable a utilizar. UGB // Variables dinámicas int estadoBoton = 0. HIGH). estadoBoton = digitalRead(pinBoton). Responder… 44 . Eso es una variable. INPUT). // Variable para estado del botón Para definir una variable imaginemos que tenemos una caja en la cual vamos a guardar algo. lo dividiré en dos partes. LOW). elige un camino u otro. esto es como meter una pieza de cada producto que vayamos a guardar en nuestras cajas. le hemos asignado una variable. pero es recomendable. una característica es su inicialización no siempre es obligatoria. lo mantiene apagado: digitalWrite(pinLed. entonces encenderá el LED poniendo en HIGH. este utilizara lo que hayamos elegido introducir en la variable. en cuanto a hardware tenemos la novedad de este proyecto en el uso de un potenciómetro combinado con una entrada analógica.En qué consisten las resistencias Pull-Up o Pull-Down ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ 2. ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ PRÁCTICA 14: ENTRADA ANALÓGICA Y SALIDA PWM PASO 1.¿Para qué sirve usar variables dentro de la programación del Arduino IDE? ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ 3. primero veamos cómo se conecta para que esto sea posible. Vamos a utilizar el potenciómetro como un divisor de tensión. Material necesario para este proyecto: 1 x Arduino 1 x Diodo Led 1 x Resistencia 470 Ω 1 x Potenciómetro 1KΩ 1 x Protoboard PASO 2 DISEÑO En esta práctica de Arduino vamos a realizar dos ejemplos con un mismo circuito. UGB 1. en el cual variaremos la frecuencia de parpadeo de un diodo LED con un potenciómetro conectado a una entrada analógica y luego utilizaremos el mismo circuito para realizar una modulación del ancho de un pulso en una salida digital (PWM).Escriba una conclusión.COMPONENTES En esta práctica vamos a aprender utilizar las entradas analógicas de nuestro Arduino.¿Cuál es el tamaño de la resistencia usada para mantener el 0 lógico (LOW)?_________________ 4. la diferencia entre ellos la observaremos es el apartado de programación. 45 .¿Cuál es el voltaje de salida en el pin 12 de nuestra placa arduino?__________________________ 5. o Modulación de Ancho de Pulso.. para variar la intensidad con la que luce un diodo. emite una serie de pulsos que podremos variar su duración pero con una frecuencia constante de aproximadamente 490Hz. 6. 10 y 11 como se puede ver en la siguiente imagen: ¿Qué es el PWM? A menudo necesitaremos algo más que una señal de 0 o 1 en nuestros proyectos. esta salida será la que conectemos a Arduino y que variará de 0v a 5v dependiendo de la posición de nuestro potenciómetro. que emula una señal analógica a partir de una señal digital. 5. las salidas serán la 3. en el Arduino Uno. UGB Como podemos ver. para transmitir los grados de giro de un servo. pero deberemos tener algo en cuenta. de manera que la tensión 46 . Para todo esto. 9. en lugar de una señal continua en nuestra salida. nos servirá el PWM. otro a +Vcc y nuestra patilla central será nuestra tensión de salida regulable. pero para el segundo es necesario que seleccionemos una salida con PWM. colocaremos la ya conocida configuración de LED más resistencia. Lo que hace este tipo de señal es emitir. Las siglas PWM vienen de Pulse Width Modultation. las entradas analógicas vienen identificadas desde A0 hasta A5 como podemos ver en la siguiente imagen: En cuanto a la salida. debemos colocar uno de los extremos a masa. Si estamos utilizando un Arduino Uno. para el primer ejemplo nos daría igual la salida digital a elegir. etc. y mucho más. para variar la velocidad de giro de un motor. Esta toma de datos es utilizada para variar la velocidad de parpadeo de un diodo LED conectado a la salida digital 9. // Seleccionamos pin para el Led. mayor será la tensión promedio de nuestra salida. cuanto más juntos estén esos pulsos de +5v. */ int pinSensor = A0. } void loop() { 47 . Este proyecto es de dominio público. menor será dicha tensión: El montaje nos quedaría así: El circuito en sí mismo es muy sencillo. void setup() { // Declaramos el pin del Led como salida: pinMode(pinLed. int pinLed = 9. es directamente proporcional a la duración de estos dentro del rango de nuestro periodo. UGB promedio resultante. y cuanto más distantes sean estos. pero en el apartado de programación podremos ver la versatilidad del mismo para diferentes aplicaciones PASO 3 PROGRAMACION El primer ejemplo que vamos a tratar es la adquisición de datos en la entrada analógica A0 para variar la frecuencia de parpadeo de un diodo LED conectado a una salida digital cualquiera. es decir.Entrada analógica Funcionamiento de las entradas analógicas configurando el pin analógico A0 para tomar datos de una señal. OUTPUT). // variable para el valor del sensor. // Entrada para el potenciómetro. veamos el código al completo: /* Practica # 13 . int valorSensor = 0. // Entrada para el potenciómetro. y observando un poco el programa. empiece a lanzarnos valores a partir de 2. void setup() { pinMode(pinLed. puede observarse que se ha elegido la salida número 9. // Establecemos el valor analógico para la salida PWM analogWrite(pinLed. int valorSensor = 0. valorSensor / 4). Con esto. esto es el llamado efecto fading (desvanecimiento). nuestro diodo LED variará su intensidad lumínica en función del valor que esté aportando el potenciómetro a nuestra entrada analógica. ya que esta sí que es compatible con la opción PWM como se explicó anteriormente. OUTPUT). int pinLed = 9. vamos a introducir un nuevo código para realizar un ejemplo diferente. HIGH). en este proyecto. si quisiéramos aumentar más el tiempo de los intervalos podríamos aplicar alguna operación matemática al valor de nuestro sensor. Sin variar el circuito. // Establecemos el pin como salida. 48 . UGB // Leemos el valor del sensor y lo almacenamos: valorSensor = analogRead(pinSensor). } void loop() { // Leemos el valor del sensor y lo almacenamos: valorSensor = analogRead(pinSensor). } En este programa tenemos como novedad la siguiente instrucción: analogRead(pinSensor) Esta instrucción nos permite leer cualquier sensor que conectemos al pin analógico establecido en “pinSensor”.2v. por defecto. valorSensor = valorSensor*4. // variable para el valor del sensor. por ejemplo. // Seleccionamos pin para el Led. nuestra placa Arduino nos realizará una conversión analógico-digital para toda señal (40mA máximo) de 0v a 5v con una resolución de 10 bit. Practica # 13 . Este proyecto es de dominio público. siendo 0 en 0v y 1023 en +5v. lo que nos da 210 (1024) valores de referencia para nuestro programa. por ejemplo. en posteriores ejemplos veremos cómo ese rango de tensión en el que se realizan las mediciones se puede variar para que. podemos ver que el intervalo entre encendido y apagado de nuestro diodo LED podrá variar entre 0 y 1023 milisegundos. si añadiéramos la línea de código que se puede observar debajo de la toma de datos del sensor obtendríamos un incremento del tiempo cuatro veces mayor: // Leemos el valor del sensor y lo almacenamos: valorSensor = analogRead(pinSensor).Efecto Fading Mostramos como se desvanece un LED en función del valor recogido en un entrada analógica. // Apagamos el diodo Led: digitalWrite(pinLed. LOW). // Detenemos el programa durante <valorSensor> milisegundos: delay(valorSensor). // Detenemos el programa durante <valorSensor> milisegundos: delay(valorSensor). // encendemos el diodo LED: digitalWrite(pinLed. */ int pinSensor = A0. y si los niveles de salida.¿Cuál es la frecuencia constante en un pin con PWM?____________________________________ 5. por lo que es tan sencillo como introducir un valor determinado para la tensión de salida que nosotros queramos conseguir. siendo 0 = 0v y 255 = 5v. como se explicaba. Responder 1. si quisiéramos conseguir 2.¿Para que utilizamos la función analogRead? ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ 6. deben ser de 0 a 255… la línea de código a tomar en cuenta. Esta es una manera algo tosca para realizar esta conversión. UGB // Detenemos el programa durante 30 milisegundos: delay(30). Esta será la instrucción que nos permitirá emular una señal analógica a partir de una digital en nuestros circuitos. Los niveles de entrada son de 0 a 1023.¿Por qué usar PWM? ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ 2.¿Para que utilizamos la función analogWrite? ____________________________________________________________________________________________ 49 .¿Cuáles son los pines de salidas configurados para poder ser usados como PWM?_____________ 4. valorSensor / 4). valorSensor / 4).¿Cuál es la utilidad del potenciómetro en esta práctica? ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ 3.5v el valor a asignar sería 127. El rango de salida de esta instrucción varia de 0 a 255. analogWrite(pinLed. Así que lo único que debemos hacer es transformar mediante una simple operación matemática la señal tomada en nuestro potenciómetro para adaptarla a nuestra salida PWM. } Podemos observar una nueva instrucción: analogWrite(pinLed. es decir. esto podríamos extrapolarlo a un sistema de regulación de luz de un jardín con cinco líneas de luz que se vayan encendiendo según va cayendo la noche compensando progresivamente la deficiencia de luz. UGB ____________________________________________________________________________________________ ____________________________________________________________________________________________ 7. Además le hemos implementado un potenciómetro para ajustar el nivel crítico mínimo de luz que queremos soportar.Escriba una conclusión ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ PRÁCTICA 15: SENSOR LDR PASO 1 – COMPONENTES Vamos a utilizar un LDR (Light Dependent Resistor o resistencia dependiente de la luz) para simular una hipotética compensación lumínica de 5 niveles. aprovecharemos dicha variación para hacer un programa que nos encienda o apague una serie de LED dependiendo de si hay más luz o menos luz. Material necesario: 1 x Arduino 1 x Protoboard 1 x LDR 1 x Potenciómetro 10kΩ 5 x Diodos LED 5 x Resistencias 220Ω 1 x Resistencia 1KΩ 50 . a través de una resistencia que varía su valor dependiendo de la luz recibida. a partir del cual se activará nuestro circuito y empezará a aumentar la luz del lugar progresivamente. pero quizás solo vayamos a trabajar en 500 o 600 pasos. nos va a dar 0v cuando este COMPLETAMENTE a oscuras. desperdiciando mucha resolución. a las que podríamos conectar líneas de iluminación para un jardín por ejemplo. de manera que según va anocheciendo. comenzará a funcionar nuestro circuito de luz artificial para que sea adaptable a cualquier entorno. Como tercera parte del circuito. nos dará la tensión máxima cuando tengamos el LDR en plena oscuridad. a partir del cual. Además. Podemos conectarlo de dos maneras diferentes: Si utilizamos el LDR como resistencia inferior del divisor de tensión. y por otra parte. nuestra foto-resistencia configurada como divisor resistivo. hemos colocado un potenciómetro configurado como divisor de tensión para hacer las funciones de regulación del rango de iluminación a partir del cual se activará nuestro circuito de iluminación. ese rango de 0v a 5v habrá que dividirlo en 1024 “pasos” que va a leer nuestro Arduino. a partir de una resistencia que varía su valor óhmico en función de que haya más o menos luz. nuestra iluminación artificial va aumentando. de una manera muy intuitiva. ¿Como? Primero hay que pensar un par de cosas. Dividamos el circuito en tres partes:  Salidas  LDR  Regulador El LDR para hacer el ya conocido divisor de tensión de donde sacaremos la señal para conectar a nuestra entrada analógica de Arduino. la tensión de referencia. tendremos la tensión máxima cuando esté completamente iluminado. he decido usa una función que nos proporciona Arduino. situaciones que pueden ser difíciles de conseguir dependiendo del entorno en el que trabajemos. de manera que cuanta más luz haya. ya que se comportará prácticamente como un cortocircuito. En este caso lo hemos utilizado como resistencia superior. el resultado será el inverso. UGB PASO 2 – DISEÑO Lo que queremos conseguir es que. más tensión tendremos a la entrada de nuestra entrada analógica pudiendo ajustar así. con una resistencia de 50Ω o 100Ω. el pin “Aref” 51 . Para solucionar esto. ya que estará oponiendo el máximo de su resistencia al paso de la corriente derivándose esta por Vout al completo. controlar 5 salidas de nuestro Arduino. y +5v cuando esté COMPLETAMENTE iluminada. vamos a colocar un potenciómetro para regular el umbral de luz mínima. si lo utilizamos como resistencia superior. además de evitar cambiar el programa de Arduino cada vez que lo cambiemos de entorno. 52 .88 mV. que realmente va a trabajar entre 0v y 3v. De manera que si por ejemplo. la tensión real de referencia en nuestro Arduino será de: (32000/(32000+5000)) x 3 = 2. estamos introduciendo una tensión de +3v a través de una resistencia de 5KΩ. pero se explicara poco a poco Primero veamos el código al completo: /* Practica # 13.Sensor LDR Conectamos una foto-resistencia a la entrada analógica para controlar cinco salidas en función de la luz ambiente. Debemos tener en cuenta que este pin lleva internamente una resistencia de 32KΩ para evitar dañar el chip. se va a producir un nuevo divisor de tensión.9 mV. lo hace por defecto pensando que la señal que va a recibir puede variar entre 0v y 5v lo que nos da aproximadamente un valor por cada 4. es decir una resolución mucho mayor. obteniendo así 1024 distribuidos entre 0v y 3v. con lo que habrá que calcular la resistencia adecuada para la tensión exacta que queremos introducir mediante una sencilla fórmula: Donde:  Vin = Tensión que introducimos a Vref  Rinterna = Resistencia interna de Arduino de 32KΩ  Rexterna = Resistencia mediante la cual alimentamos Vref  Vrefencia = La tensión sobre que tomará referencia nuestro programa. pero nosotros podemos decirle que no.59v El esquema del circuito al completo: PASO 3 – PROGRAMACIÓN Este programa es algo más largo que los anteriores. UGB ¿Qué es el pin AREF? Cuando Arduino toma una señal analógica y la convierte a digital en 1024. Este proyecto es de dominio público. lo que nos da un valor por cada 2. de manera que si vamos a conectar el pin mediante una resistencia fija. LOW). digitalWrite(pinLed3. } else if((valorLDR >= 623) & (valorLDR < 823)) { digitalWrite(pinLed1. int pinLed5 = 8. LOW). LOW). LOW). LOW). digitalWrite(pinLed5. OUTPUT). digitalWrite(pinLed3. LOW). pinMode(pinLed4. int pinLed3 = 10. //Y que pin para la LDR int pinLDR = 0. OUTPUT). LOW). OUTPUT). digitalWrite(pinLed2. pinMode(pinLed3. digitalWrite(pinLed4. digitalWrite(pinLed5. digitalWrite(pinLed2. HIGH). OUTPUT). digitalWrite(pinLed4. LOW). LOW). OUTPUT). pinMode(pinLed2. int pinLed2 = 11. void setup() { //Establecemos como salida los pines para LED pinMode(pinLed1. pinMode(pinLed5. UGB */ //Aquí almacenamos los datos recogidos del LDR: int valorLDR = 0. HIGH). } else if((valorLDR >= 823) & (valorLDR < 1023)) { digitalWrite(pinLed1. int pinLed4 = 9. //Decimos que pines vamos a utilizar para LED int pinLed1 = 12. digitalWrite(pinLed4. } void loop() { //Guardamos el valor leido en una variable valorLDR = analogRead(pinLDR). digitalWrite(pinLed3. digitalWrite(pinLed2. LOW). 53 . //Y comenzamos las comparaciones: if(valorLDR >= 1023) { digitalWrite(pinLed1. LOW). HIGH). //Le decimos que vamos a usar una referencia externa analogReference(EXTERNAL). Escriba una conclusión ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ ____________________________________________________________________________________________ 54 . HIGH). HIGH). como explicamos en el paso 2. HIGH). HIGH). digitalWrite(pinLed5. HIGH). LOW). Con esta instrucción le estamos diciendo a nuestro Arduino. LOW). que no use su tensión de referencia por defecto (+5v) sino la que nosotros introduzcamos por el pin AREF de nuestra placa. digitalWrite(pinLed3. HIGH). HIGH). LOW). digitalWrite(pinLed5. } else if((valorLDR >= 423) & (valorLDR < 623)) { digitalWrite(pinLed1. HIGH). digitalWrite(pinLed4. digitalWrite(pinLed4.¿Cuáles son las maneras de conectar un LDR? ____________________________________________________________________________________________ ____________________________________________________________________________________________ 3. HIGH). HIGH). digitalWrite(pinLed2. digitalWrite(pinLed2. LOW). digitalWrite(pinLed3. } else { digitalWrite(pinLed1. digitalWrite(pinLed4. digitalWrite(pinLed2. } else if((valorLDR >= 223) & (valorLDR < 423)) { digitalWrite(pinLed1. UGB digitalWrite(pinLed5. digitalWrite(pinLed3. 1. digitalWrite(pinLed5.¿Qué es un LDR? ____________________________________________________________________________________________ ____________________________________________________________________________________________ 2. } } La instrucción que no hemos visto nunca es la siguiente: analogReference(EXTERNAL). HIGH).¿Qué es el pin AREF? ____________________________________________________________________________________________ ____________________________________________________________________________________________ 4. HIGH). Responder. utilizando los software Livewire y PCBWizard. primero debe hacer funcionar su circuito y posteriormente entregar el reporte digital al instructor. así como los materiales a utilizar con sus respectivos precios en el mercado. El proyecto debe incluir el nombre del proyecto. el PCB con sus respectivas vistas (tres). UGB ELABORACIÓN DE PROYECTO DIGITAL Completadas las prácticas anteriores. El reporte será presentado de forma digital. para lo cual deben buscar en la web un circuito para ser mostrado al instructor. en páginas tamaño carta. los estudiantes formarán equipos de trabajo. 55 . tinta. para que dé el aval correspondiente y así comenzar la búsqueda de los componentes con su respectiva cotización. además debe incluir fotos del proceso de fabricación y sus comentarios así como inconvenientes y como fueron superados. La fecha de entrega de los trabajos será una semana anterior a los parciales correspondientes al tercer cómputo. con el fin de llevar a cabo un proyecto de un circuito digital. y para reducir el consumo de papel. los integrantes. diagrama (original y su implementación en el Livewire). tiempo y dinero. su funcionamiento. que contenga al menos dos circuitos integrados.


Comments

Copyright © 2024 UPDOCS Inc.