lunes, 20 de mayo de 2019

LAB 7 : SENSORES Y ACTUADORES DIGITALES CON ARDUINO


LABORATORIO N° 07

SENSORES Y ACTUADORES DIGITALES
CON ARDUINO



I. CAPACIDAD TERMINAL

  • Identificar las aplicaciones de la Electrónica Digital.
  • Describir el funcionamiento de las unidades y dispositivos de almacenamiento de información.
  • Implementar circuitos de lógica combinacional y secuencial.


II. COMPETENCIA ESPECIFICA DE LA SESION


  • Programación de sensores digitales con Arduino.
  • Programación de actuadores digitales con Arduino.
  • Implementación de proyecto con sensores y actuadores digitales.


III. CONTENIDOS A TRATAR


  •  Sensores digitales
  •  Actuadores digitales.
  •  Programación de proyecto con Arduino.


IV. RESULTADOS

 Diseñan sistemas eléctricos y los implementan gestionando eficazmente los recursos
materiales y humanos a su cargo.

MARCO TEORICO


PROGRAMACION BASICA DEL ARDUINO

La programación de un ARDUINO es la programación de un microcontrolador. Programar un arduino consiste en traducir a líneas de código las tareas autorizadas que queremos hacer leyendo de los sensores y en función de las condiciones del entorno programar interacción con el mundo exterior mediante actuadores.
Arduino nos proporciona un entorno de programación sencillo para poder realizar nuestra programación, por otra parte, presenta herramientas necesarias para poder compilar el programa que se desea y por otra parte también nos permite quemar el programa ya compilado en la memoria flash del microcontrolador. Además de IDE nos ofrece un sistema de gestión de librerías y placas muy práctico. Como IDE es un software sencillo que carece de funciones avanzadas típicas de otros IDEs, pero con lo que este nos ofrece nos basta para poder programar.


ESTRUCTURA DE UN SKETCH


El programa de una arduino se denomina sketch o también es llamado como proyecto y este presenta una extensión .ino. esta extensión es muy importante para que asi pueda funcionar el sketch. 


La estructura básica de un sketch de arduino es bastante simple y se compne de al menos dos partes. Estas dos partes son obligatorias y encierran bloques que contienen instrucciones, estos son: setup(), loop().
Adicionalmente se puede incluir una introducción con los comentarios que describen el programa y la declaración de las variables.



Setup() es la parte que se encarga de recoger la configuración y loop() es la parte que contiene la programación que se ejecutara de una manera cíclica (de ahí el termino loop-bucle-). Estas dos funciones son necesarias para que el programa funcione de una manera correcta.





LENGUAJE DE PROGRAMACION DEL ARDUINO





Aunque se hable de que hay un lenguaje propio de programación de Arduino, no es cierto, la programación se hace en C++ pero Arduino ofrece una api o core que facilitan la programación de los pines de entrada y salida y de los puertos de comunicación, así como otras librerías para operaciones específicas. El propio IDE ya incluye estas librerías de forma automática y no es necesario declararlas expresamente. Otra diferencia frente a C++ standard es la estructuctura del programa que ya hemos visto anteriormente..




LIBRERÍA DEL ARDUINO

Las librerías son trozos de códigos que usamos en nuestro skecth. Esto nos facilita mucho la programación y hace que nuestro programa sea mas sencillo de realizar y comprender.
Las librerías normalmente incluyen los siguientes archivos comprimidos en un archivo ZIP o dentro de un directorio. Estas siempre contienen:
·                     Un archivo .cpp (código de C++)
·                     Un archivo .h o encabezado de C, que contiene las propiedades y métodos o funciones de la librería.
·                     Un archivo Keywords.txt, que contiene las palabras clave que se resaltan en el IDE (opcional).
·                     Muy posiblemente la librería incluye un archivo readme con información adicional de lo que hace y con instrucciones de cómo usarla.

·                     Directorio denominado examples con varios sketchs de ejemplo que nos ayudará a entender cómo usar la librería (opcional).
TAREAS GUIADAS DENTRO DEL LABORATORIO:

Antes de empezar con la guia, empezaremos agregando una libreria de arduino el cual simulara en proteus todos los tipos de arduinos , en nuetro caso usaremos el arduino UNO, cabe resaltar que a partir de la version 8 de proteus , el programa viene conlas librerias de arduino , pero solo nos muestra la arquitectura interna, si queremos visualizarla de forma mas interactiva como se ve en la siguiente figuras , se debera descargar una libreria mas 


una vez que se halla compilado nuestro programa deberemos buscar la extension ".hex" la cual deberemos copiar



una vez copiado damos doble click sobre el arduino y en la parte de "programs file" deberemos pegar el archivo ".hex"


SIMULACION DEL PRIMER CIRCUITO


Como se aprecia , el arduino ha sido programado de tal manera que empezara a contar automaticamente y solo se detendra si accionamos uno de los switch








VIDEO EXPLICATIVO DEL LABORATORIO



PRUEBAS DE LABORATORIO


como se puede apreciar en la imagen se realizo el conexionado de nuestro arduino para el incremento de los numeros usando los switches de nuestro modulo ets-7000



conclusiones y observaciones


observaciones


  • observamos que algunos de nuestros conectores estaban dañados

  • Se logro arreglar el inconveniente con el modulo ETS-7000 ya que uno de los pulsadores no funcionaba asi que los reemplazamos pro interruptores

  • observamos que tenemos que tener sumo cuidado a la hora de programar ya que una sola ";" puede  variar todo el codigo que se ha armado

  • reconocimos las entradas digitales y analogicas de nuestro arduino







conclusiones


  • concluimos que el entorno de programación del arduino es simple y directo , incluso para una persona que recien empieza en el rubro de la programacion le resultara una plataforma amigable del que pueda aprender mucho  y lo prepare para futuro lenguajes de programación mas complejos

  • concluimos que se puede programar nuestro display para que cuente desde un determinado numero y baje o suba segun hasta el punto que nosotros queramos

  • Se hizo uso de operadores condicionales tales como el IF

  • Se utilizo operadores condicionales de forma anidada para para albergar muchas mas condiciones posibles y crear un circuito mucho mas complejo

  • el software de proteus nos ha sido de gran utilidad ya que posee un simulador de arduino que hace el mismo trabajo en caso no tuvieramos uno fisico a la mano





¿Qué hemos aprendido de esta experiencia?


lo mas resaltante de esta experiencia es conocer uno de los softwares mas sencillos de utilizar y que nos serviran de experiencia para usar lenguajes de programacion mucho mas complejos  donde usaremos lineas de programacion anidados que haran un trabajo mucho mas profesional



FOTO GRUPAL






BIBLIOGRAFIA Y WEBGRAFIA RECOMENDADA

 Floyd, Thomas (2006) Fundamentos de sistemas digitales. Madrid.: Pearson Educación
(621.381/F59/2006) Disponible Base de Datos Pearson
 Mandado, Enrique (1996) Sistemas electrónicos digitales. México D.F.: Alfaomega.
(621.381D/M22/1996)
 Morris Mano, M. (1986) Lógica digital y diseño de computadoras. México D.F.: Prentice
Hall (621.381D/M86L)
 Tocci, Ronald (2007) Sistemas digitales: Principios y aplicaciones. México D.F.:
Pearson Educación. (621.381D/T65/2007) Disponible Base de Datos Pearson





lunes, 6 de mayo de 2019

laboratorio 5 CIRCUITOS CONTADORES CON FLIP FLOPS


laboratorio 5: CIRCUITOS CONTADORES CON  FLIP FLOPS



      I.     CAPACIDAD TERMINAL
        Identificar las aplicaciones de la Electrónica Digital.
        Describir el funcionamiento de las unidades y dispositivos de almacenamiento de información.
        Implementar circuitos de lógica combinacional y secuencial.

    II.     COMPETENCIA ESPECIFICA DE LA SESION
        Implementación de circuitos monoestables.
        Implementación de circuitos contadores con Flip Flops JK.
        Utilizar un SIMULADOR para comprobar el comportamiento de los mismos.

  1. CONTENIDOS A TRATAR
        Circuitos Monoestables
        Circuitos Contadores Ascendentes y Descendentes.
                  Aplicaciones con circuitos contadores


CIRCUITOS MONOESTABLES

 aquel capaz de entregar un nivel alto a la salida cuando recibe un pulso en su entrada


CIRCUITOS BIESTABLES

Es aquel que puede representar dos estados : cero y uno

 los biestables se dividen en:

Asíncronos: solamente tienen entradas de control. El más empleado es el biestable RS.

Síncronos: además de las entradas de control posee una entrada de sincronismo o de reloj.


CIRCUITOS ASTABLES 

  • Es aquel que cambia constantemente los 2 estados : cero y uno
  •  Dentro de las aplicaciones se cuentan la generación de ondas periódicas (generador de reloj) y de trenes de pulsos.

LATCHES

Un latch es un circuito electrónico biestable asíncrono usado para almacenar información en sistemas lógicos digitales. Estos pueden almacenar un bit de información, asimismo se pueden agrupar de tal manera logren almacenar mas de un bit, los latches no tienen entrada de reloj y cuyo cambio en los estados de salida es función del estado presente en las entradas y de la retroalimentación. Los latches a diferencia de los flip-flops no necesitan una señal de reloj para su funcionamiento.


TIPOS

LATCH SR

El latch lógico más simple es el SR, donde R y S representan los estados 'reset' y 'set' respectivamente. Este es construido mediante la interconexión retroalimentada de puertas lógicas NOR (negativo OR), o bien de puertas logicas NAND. El bit almacenado está presente en la salida marcada como Q, y Q´ su complementación (valor negativo a Q). 



 CIRCUITO SIMULADO EN PROTEUS 8.1


Activamos reset "1" y dejamos en "0" set, nos da como resultado "0" tal como esta en la tabla



Activamos set "1" y dejamos en "0" reset, nos da como resultado "1" tal como esta en la tabla



LATCH D


Es también conocido como latch transparente, debido a que el nivel presente en D se almacenara en el latch en el momento en que la entrada habilitar (ENABLE) sea activada, es decir por un estado alto 1.

En la primera fila podemos observar la condición EN=0 y D=X, donde la X indicara una condición “no importa”, en este caso cuando la entrada EN=0, el estado presente el latch será el mismo que su estado anterior sin importar el dato presente en la entrada D.
Al analizar la tabla de verdad se puede observar que cuando la entrada EN=1, el valor presente en la entrada D (1 o 0), será el valor que se mantendrá almacenado en el latch.

FLIP FLOPS

Es FLIP FLOP es el nombre común que se le da a los dispositivos de dos estados (biestables), que sirven como memoria básica para las operaciones de lógica secuencial. Son usados para el almacenamiento y transferencia de datos digitales y se usan normalmente para el almacenamiento numérico binario.



CARACTERÍSTICAS 


  • §  Asumen solamente uno de dos posibles estados de salida.
  • §  Tienen un par de salidas que son complemento una de la otra.
  • §  Tienen una o mas entradas que pueden causar que el estado del Flip-Flop cambie.


CLASIFICACION:

Asíncronos: Sólo tienen entradas de control. El más empleado es el flip flop RS.
Síncronos: Además de las entradas de control necesita un entrada sincronismo o de reloj.


FLIP FLOPS MAS USADOS:

·         Flip-Flop R-S (Set-Reset)

·         Flip-Flop T


·         Flip-Flop J-K (Jump-Keep)



CIRCUITO REALIZADO EN EL TALLER


 Como se puede apreciar , hemos diseñado  un contador por pulsos que puede llegar hasta el numero 9 , luego de eso los valores que nos arroja el display son A,B,C,D,E,F  que representan los demas valores que puede contar nuestro flip flop




VIDEO EXPLICATIVO FLIP FLOPS







CONCLUSIONES Y OBSERVACIONES


OBSERVACIONES:
  • circuito forma un flip-flop básico del cual se pueden construir uno más complicado.
  • Cada flip-flop tiene dos salidas, Q y Q´ y dos entradas S (set) y R (reset). Este tipo de flip-flop se llama Flip-Flop RS acoplado directamente o bloqueador SR (SR latch). Las letras R y S son las iniciales de los nombres en de las entradas(reset, set).
  • El flip-flop J-K se considera como el FF universal, tiene dos entradas para datos etiquetadas como J y K así como otra para el pulso de reloj(CK).
  • flip flop es uno de los más usados en los circuitos digitales, y de hecho es parte fundamental de muchos circuitos avanzados como contadores y registros de corrimiento, que ya vienen integrados en un chip.
  • Nuestro display de 7 segmentos nos permite visualizar numeros del 1 al 9, luego de eso los valores siguientes se representan por letras que son A,B,C,D,E,F



CONCLUSIONES:
  • Concluimos que los LATCH son la base de los FLIP FLOP, que haciendo modificaciones en éstos lograremos distintos tipos de FLIP FLOP.
  • Las configuraciones de MAESTRO-ESCLAVO son usadas en situaciones en la que se ve un riesgo de secuencia en la transferencia de datos, actualmente, la mayoría de CI no presentan esta dificultad, por lo cual ya no se usa mucho.
  • Todo flip flop posee una entrada de reloj la cual da pulsos de entradas de forma continua 
  • Aprendimos que un circuito flip-flop puede mantener un estado binario indefinidamente hasta que se cambie por una señal de entrada para cambiar estados. La principal diferencia entre varios tipos de flip-flops es él número de entradas que poseen y la manera en la cual las entradas afecten estado binario.
  • Concluimos que  el flip flop tipo D , es un elemento de memoria que puede almacenar infromacion en forma de un "1" o "0" logicos.
¿Qué he aprendido de esta experiencia?

los circuitos contadores flip flops  son circuitos mucho mas avanzados que los usados hasta el momento , estos ya guardan una pequeña memoria y gracias  a su compleja y mas completa arquitectura se puede economizar en cableado como en componentes . 



FOTO GRUPAL