miércoles, 11 de diciembre de 2019

laboratorio 16

Matriz de LED´s con Arduino

Registros de desplazamiento:


Es un circuito digital que acepta datos binarios de una fuente de entrada y luego los desplaza, un bit a la vez, a través de una cadena de flip-flops.

Este sistema secuencial es muy utilizado en los sistemas digitales. Un ejemplo de esto se ve en las calculadoras comunes, donde al escribir una cifra de varios números, se nota que el primer número pulsado le cede espacio a los demás corriéndose a la izquierda, donde además se nota que hay características de memoria porque se mantienen visualizados los números pulsados.

algunos tipos comunes de de dispositivos de almacenamiento son: flip plops, registros, memorias semiconductoras, discos y cintas magnéticas y discos ópticos.
El 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. Los Flip-flops son ampliamente usados para el almacenamiento y transferencia de datos digitales y se usan normalmente en unidades llamadas «registros», para el almacenamiento de datos numéricos binarios.
flip flop
Son dispositivos con memoria mas comúnmente utilizados. Sus características principales son:

  • 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.

Los flip flops se pueden clasificar en dos:

Asíncronos: Sólo tienen entradas de control. El mas empleado es el flip flop RS.

Síncronos: Ademas de las entradas de control necesita un entrada sincronismo o de reloj.
los registros son dispositivos digitales donde se obtiene almacenamiento temporal. Dado que la memoria y el desplazamiento de información son sus características básicas, los registros son circuitos secuenciales constituidos por flip-flops, donde cada uno de ellos maneja un bit de la palabra binaria. Muchos registros usan flip-flops tipo D aunque también es común el uso de flip-flops JK. Son muy populares los de 8 bits, ya que en los computadores con frecuencia manipulan bytes de información.

Un método de identificar los registros de desplazamiento es por la forma en que se introducen y leen los datos en la unidad de almacenamiento.

Existen cuatro categorías de registro de desplazamiento.


Entrada serie/Salida serie

Entrada serie/Salida paralelo

Entrada paralelo/Salida serie

Entrada paralelo/Salida paralelo
Observaciones:
No se pudo desarrollar el laboratorio en el aula ya que no se contaba con la matriz de led´s correspondiente.
-  Es importante escribir el código correctamente, para evitar errores de compilación o subida a la plataforma Arduino.
Conclusiones:
-  Se logró aprender la correcta conexión entre los pines de la matriz de leds con la plataforma Arduino, teniendo muy en cuenta el data sheet de la matríz, para saber si es ánodo común o cátodo común.
- Se pueden crear formas para su representación en matrices led ( letras), mediante la implementación de códigos matriz el cual  trae las "indicaciones" necesarias para su representación, otro método que se puede aplicar seria el mandar señales LOW y HIGH a las comunas y filas de la matriz para formar la forma deseada, el punto negativo de este método es el gran espacio y trabajo necesario para su aplicación.

Integrantes:
- Llerena Quispe Jhon Wilber
- Palomino Chirapa Francois
- Ccora Jair

laboratorio 15

Contadores digitales con Arduino

IDE Arduino:

La programación de Arduino es la programación de un microcontrolador. Esto era algo más de los ingenieros electrónicos, pero Arduino lo ha extendido a todo el público. Arduino ha socializado la tecnología.
Programar Arduino consiste en traducir a líneas de código las tareas automatizadas que queremos hacer leyendo de los sensores y en función de las condiciones del entorno programar la interacción con el mundo exterior mediante unos actuadores.
Arduino proporciona un entorno de programación sencillo y potente para programar, pero además incluye las herramientas necesarias para compilar el programa y “quemar” el programa ya compilado en la memoria flash del microcontrolador. Además el  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 suficiente para programar.

Estructura de un Sketch


Un programa de Arduino se denomina sketch o proyecto y tiene la extensión .ino. Importante: para que funcione el sketch, el nombre del fichero debe estar en un directorio con el mismo nombre que el sketch.
No es necesario que un sketch esté en un único fichero, pero si es imprescindible que todos los ficheros estén dentro del mismo directorio que el fichero principal.
Resultado de imagen para Programación básica con IDE Arduino
La estructura básica de un sketch de Arduino es bastante simple y se compone de al menos dos partes. Estas dos partes son obligatorios y encierran bloques que contienen declaraciones, estamentos o instrucciones.
Adicionalmente, se puede incluir una introducción con los comentarios que describen el programa y la declaración de las variables y llamadas a librerías.
Resultado de imagen para librerias de arduino
setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se ejecuta cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa trabaje.

El lenguaje de Arduino:

El lenguaje de programación de Arduino es C++. No es un C++ puro sino que es una adaptación que proveniente de avr-libc que provee de una librería de C de alta calidad para usar con GCC (compilador de C y C++) en los microcontroladores AVR de Atmel y muchas utilidades específicas para las MCU AVR de Atmel como avrdude.
Resultado de imagen para lenguaje de arduino

Observaciones:
En el laboratorio no fue posible hacer el código para contar de 3 en 3. 
- El contador no llega hasta el 0, pues si baja de ese numero sigue disminuyendo la cuenta 20 unidades luego del 0.
Conclusiones:
- Arduino es un módulo que nos permite realizar múltiples proyectos a un "bajo costo", pero solo para aquellos que de desarrollan pocas veces, pues si los usamos para proyectos a gran escala seria demasiado caro.
- los contadores programados con Arduino pueden tener un gran variedad de aplicaciones al implementarlos en sistemas automatizados o para controlas ciclos de reloj.

Integrantes:
Llerena Quispe Jhon Wilber
- Palomino Chirapa Francois
- Ccora Jair

laboratorio 14

PROGRAMACIÓN GRÁFICA DE ARDUINO

Historia del arduino:

Arduino fue inventado en el año 2005 por el entonces estudiante del instituto IVRAE Massimo Banzi. Inicialmente fue un proyecto creado no solo para economizar la creación de proyectos escolares dentro del instituto, si no que además, Banzi tenía la intención de ayudar a su escuela a evitar la quiebra.
El primer prototipo de Arduino fue fabricado en el instituto IVRAE.Al principio solo era una placa simple de circuitos electrónicos, con un micro-controlador que pudiera conectarse con diferentes sensores.En ese entonces aún no contaba con el soporte de algún lenguaje de programación para manipularla.

Resultado de imagen para primer prototipo de arduino

Años más tarde, se integró al equipo de Arduino Hernando Barragán, un estudiante de la Universidad de Colombia que se encontraba haciendo su tesis, y tras enterarse de este proyecto, contribuyó al desarrollo de un entorno para la programación del procesador de esta placa: Wiring, en colaboración con David Mellis, otro integrante del mismo instituto que Banzi, quien más adelante, mejoraría la interfaz de software. Otro estudiante que se unió más tarde es David Cuartielles, quien ayudó a mejorar la interfaz de hardware de esta placa.
Más tarde, Tom Igoe, un estudiante de Estados Unidos que se encontraba haciendo su tesis, escuchó que se estaba trabajando en una plataforma de open-source basada en una placa de micro controladores pre ensamblada. Después se interesó en el proyecto y fue a visitar las instalaciones del Instituto IVRAE para averiguar en que estaban trabajando. Tras regresar a su país natal,recibió un e-mail donde el mismo Massimo Banzi invitó a Igoe a participar con su equipo para ayudar a mejorar Arduino. Aceptó la invitación y ayudó a mejorar la placa haciéndola más potente, agregando puertos USB para poder conectarla a un ordenador. Además, el le sugirió a Banzi la distribución de este proyecto a nivel mundial. cuando pensaron que tenían el prototipo final comenzaron a distribuirlo de manera gratuita en diversas facultades. Gianluca Martino fue quien la distribuyo dentro del instituto y promocionándola a algunos conocidos y amigos suyos. Al ver su gran aceptación por parte de los alumnos y maestros y tomando en cuenta el consejo de Igoe, pensaron en su distribución nivel mundial, para lo cual contactaron a un amigo y socio de Banzi, Natan Sadle, quien se ofreció a producir en masa las placas tras interesarse en el proyecto.
Un breve tiempo más tarde, al ver los grandes resultados que tuvo Arduino y las grandes aceptaciones que tuvo por parte del público, comenzó a distribuirse en Italia, después en España, hasta colocarse en el número uno de herramientas de aprendizaje para el desarrollo de sistemas autómatas, siendo además muy económica (300-500 pesos) en comparación con otras placas de micro controladores (800 pesos en adelante).

Datos curiosos acerca de Arduino:

Su nombre viene del nombre del bar Bar di Re Arduino donde Massimo Banzi pasaba algunas horas, el cual a su vez viene del nombre de un antiguo rey europeo allá por el año 1002.

A la fecha se han vendido más de 250 mil placas en todo el mundo sin contar las versiones clones y compatibles.


El primer prototipo fue desarrollado en el instituto IVRAE pero aún no se llamaba Arduino.

Para la producción en serie de la primera versi[on se tomaron en cuenta algunas consideraciones: Economía (no > a 30 Euros), debía ser Plug and Play, utilizaron el color azul para marcar una diferencia con las placas convencionales, trabajar en todas las plataformas (Mac, Windows y Linux).

En la feria Maker Fair del 2011 se presentó la primera placa Arduino 32 Bit para trbajar tareas más pesadas.  Entre ellas se presentó la  impresora en 3D de MakerBot capaz de de imprimir en resina cualquier modelo en 3D.

Resultado de imagen para tipos de arduinos


¿Que es mBlock?:

mBlock es el programa de programación por bloques de Makeblock para videojuegos y robots basado en Scratch 2.0.
mBlock 3 permite la programación de los robots fabricados por Makeblock hasta mediados de 2018: mBot, mBot Ranger además de otros productos compatibles de otras marcas basados en Arduino.
Este software permite comprobar en tiempo real como la programación por bloques se traduce a lenguaje C, así como añadir tus propias líneas de código al programa.
Resultado de imagen para mBlock

Observaciones:

Para facilitar la programación del circuito se uso una plataforma llamada mBlock, la cual te permite programas de una manera más cómoda y sencilla.
- Al momento de implementar las conexiones el módulo del laboratorio presentaba problemas para conectarse con la computadora.

Conclusiones:

- Arduino es una placa de fácil programación y nos permite realizar múltiples proyectos de baja y mediana complejidad sin problemas.
- Para que el código compile, dependiendo del proyecto, es necesario instalar bibliotecas para que pueda reconocer las instrucciones.

https://www.youtube.com/watch?v=E02DA5AiL4U

Integrantes:
- Llerena Quispe Jhon Wilber
- Palomino Chirapa Francois
- Ccora Jair

lab 13

Matriz de led´s

Una matriz de LEDs consiste en un arreglo de LEDs que pueden ser encendidos y apagados individualmente desde un microntrolador. Pueden pensar en ella como una  pantalla de pocos pixeles en los cuales pueden presentar gráficos y textos, tanto estáticos como en movimiento.
DSC01986

Conexión


El siguiente gráfico presenta una matriz de 5×7 LEDs, donde las columnas corresponden a los cátodos (deben ir conectados a tierra) y las filas corresponden a los ánodo
s (deben ir conectados a voltaje).
diagrama de pines catados en columna
Matriz de 5×7 con columnas de cátodos
Para encender un LED específico debe ubicarse la interesección entre la columna y la línea correspondiente. Por ejemplo, para encender el LED que se muestra en la figura siguiente, la columna 3 (C3) debe ser conectada a tierra (a través de una resistencia de 220 ohm) mientras que la fila 5 (R5) es conectada a voltaje (5v).
dotmatrix


lunes, 18 de noviembre de 2019

laboratorio 12

Contador en Anillo
y Matriz de Leds(4017)


Contador en Anillo:
Contador en anillo. Constituye un registro de desplazamiento en el cual la entrada del 1er flip-flop está condicionada por la salida del ultimo, constituyendo así una cadena cerrada.
La información introducida inicialmente circula permanentemente por los biestables sin perderse. Si al comienzo un biestable es puesto en "1" y el resto en "0" (lo cual se logra con las entradas asincrónicas SET y RESET de cada flip-flop).
En contador en anillo funciona pasándose de flip-flop a flip-flop un único bit. Esto quiere decir que, en cualquier instante del proceso de conteo, sólo un flip-flop tiene su salida Q=1. Esto provoca que el contador en anillo sea el contador más fácil de decodificar. De hecho, sabiendo que el flip-flop está a uno, conocemos en qué estado se encuentra el contador.


Matriz de Leds:
Parece que los LEDs se fabrican en todos los tamaños y formatos imaginables, y este componente que os presentamos hoy, hace gala de esa creatividad. Las matrices de LEDs (o LED arrays) son, como su nombre indica, una matriz de diodos LED normales y corrientes que se comercializa en multitud de formatos y colores. Desde las de un solo color, a las que tienen varios colores posibles, e incluso las hay de una matriz RGB (Os dejo imaginar la de pines que tiene).
Por lo demás, son diodos LED totalmente normales, organizados en forma de matriz, que tendremos que multiplexar para poder iluminar uno u otro punto, tal y como hicimos en la sesión del teclado matricial. Este componente se presenta con dos filas de 8 pines cada una, que se conectan a las filas y las columnas.

Si los diodos se unen por el positivo, se dice que son matrices de ánodo común (El nombre pedante del positivo) y se une por el negativo decimos que son de  cátodo común.


Integrado 4017:
Se trata de un contador/divisor o decodificador con 10 salidas. Estructuralmente está formado por un contador Johnson de 5 etapas que puede dividir o contar por cualquier valor entre 2 y 9, con recursos para continuar o detenerse al final del ciclo.



SIMULACION EN PROTEUS DE LA SEMANA 12:


VIDEO DEL CIURCUITO DE LA SEMANA 12:


SIMULACION EN PROTEUS DE LA SEMANA 13:


VIDEO DEL CIRCUITO DE LA SEMANA 13:


CONCLUSIONES: 
- Se concluye que se logró simular correctamente todos los circuitos que se ha realizado durante todo el laboratorio con las matrices de leds y probar el funcionamiento de cada uno de ellos, así como el poner el orden de los pines de la matriz 7x5 y ver el integrado 4017
- Concluimos que la Matriz de leds de 7x5, cuenta con 14 pines con cátodo a renglón, Leds rojos de 3 mm, alta eficiencia, es importante reconocer los pines de la matriz de leds, es decir, primeramente, buscar su datasheet para saber si es ánodo común o cátodo común, para poder identificar el orden de los pines de la matriz de leds de 7x5 y cuáles son los pines que van a tierra y a positivo
- Se concluyó que el circuito integrado 4017 cuenta recursos para continuar o detenerse al final de un ciclo deseado gracias a su entrada Master Reset

OBSERVACIONES:
- Se aprecio que es importante reconocer los pines del integrado 4017, los cuales deben ser conectados correctamente para un adecuado funcionamiento.
- Se pudo ver que en la matriz de leds 7x5, sólo se utiliza 12 pines de los 14 pines establecidos por el datasheet y los otros dos pines se denominan auxiliares, una para la columna 3 y otra para la fila número 4.

INTEGRANTES:
-Jesus Paricahua Roque
-Francois Palomino Chirapa
-Cristian Capia Condori

LABORATORIO 11

LABORATORIO 11


Contador en Anillo
y Matriz de Leds(4017)


Contador en Anillo:
Contador en anillo. Constituye un registro de desplazamiento en el cual la entrada del 1er flip-flop está condicionada por la salida del ultimo, constituyendo así una cadena cerrada.
La información introducida inicialmente circula permanentemente por los biestables sin perderse. Si al comienzo un biestable es puesto en "1" y el resto en "0" (lo cual se logra con las entradas asincrónicas SET y RESET de cada flip-flop).
En contador en anillo funciona pasándose de flip-flop a flip-flop un único bit. Esto quiere decir que, en cualquier instante del proceso de conteo, sólo un flip-flop tiene su salida Q=1. Esto provoca que el contador en anillo sea el contador más fácil de decodificar. De hecho, sabiendo que el flip-flop está a uno, conocemos en qué estado se encuentra el contador.


Matriz de Leds:
Parece que los LEDs se fabrican en todos los tamaños y formatos imaginables, y este componente que os presentamos hoy, hace gala de esa creatividad. Las matrices de LEDs (o LED arrays) son, como su nombre indica, una matriz de diodos LED normales y corrientes que se comercializa en multitud de formatos y colores. Desde las de un solo color, a las que tienen varios colores posibles, e incluso las hay de una matriz RGB (Os dejo imaginar la de pines que tiene).
Por lo demás, son diodos LED totalmente normales, organizados en forma de matriz, que tendremos que multiplexar para poder iluminar uno u otro punto, tal y como hicimos en la sesión del teclado matricial. Este componente se presenta con dos filas de 8 pines cada una, que se conectan a las filas y las columnas.

Si los diodos se unen por el positivo, se dice que son matrices de ánodo común (El nombre pedante del positivo) y se une por el negativo decimos que son de  cátodo común.


Integrado 4017:
Se trata de un contador/divisor o decodificador con 10 salidas. Estructuralmente está formado por un contador Johnson de 5 etapas que puede dividir o contar por cualquier valor entre 2 y 9, con recursos para continuar o detenerse al final del ciclo.



Proteus:


Video de la Simulación:


Conclusiones:
-Se llego a la conclusión de que no todas la matrices tienen el mismo diagrama interno, para ello se debe comprobar sus terminales.
-Se logro concluir que para que la matriz tenga una direccion opuesta, se debe negar algunas entradas. 

Observaciones:
-Observamos que nuestra matriz de leds, algunos focos no encendían. Eran mínimos.
Intengrantes:
-Jesus Paricahua Roque
-Francois Palomino Chirapa
-Cristian Capia Condori

LABORATORIO 10

LABORATORIO 10


Contador Johnson y Divisor
de Frecuencias

Contador Johnson:
El contador Johnson o contador conmutado en cola es una variación del contador en anillo que duplica el número de estados codificados, sin sacrificar su velocidad. Lo que si complica algo es la decodificación del estado.


Tabla de como trabaja el contador según los pulsos.

Divisor de Frecuencia:
El JK flip-flop es un divisor-por-dos, porque el cambia de estado cada vez que un pulso activo alcanza su entrada; esto es, el primer pulso SETS (pone) al JK en lógica 1 (nivel H), y el segundo pulso lo RESETS (devuelve) a lógica 0 (nivel L).

Así, se requieren dos pulsos de entrada para proporcionar un pulso de salida. Las variables A y B de la figura 20 fueron escogidas para ilustrar esta división. Podemos considerar que A es la entrada para JK, y que B es su salida. Observemos que, por cada segmento igual de tiempo, sólo hay en B una cantidad de pulsos igual a la mitad de los pulsos presentes en A. Consecuentemente, la frecuencia de B es la mitad de la de A.

Si dos JK's son conectados en cascada (con la salida del primero manejando la entrada del segundo), el resultado será un circuito divisor-por-cuatro, porque la división por 2 del primer JK es dividida nuevamente por 2 en el segundo JK. 

Contadores digitales Cuando se conectan en cascada flip-flops JK, el resultado es una división por 2n (2 a la segunda potencia n), donde "n" es el número de etapas en cascada. así, tres JK's en cascada dividirán por 8, porque 2(3) = 8. Ver en la figura 21 el diagrama de tiempos para un divisor por 8. 2n significa que se debe multiplicar entre sí la base 2 un número "n" de veces, para obtener la cantidad que representa.

Es bastante fácil hacer divisiones cuyo divisor sea un número entero potencia de 2. Es poco más complicado si se desea dividir por diez, por ejemplo, porque tres JK's dividen por 8 y un cuarto JK's dividiría por 16. Es necesario, entonces, usar cuatro JK's y monitorizar la cantidad acumulada.

Cuando la cantidad alcance diez, es necesario proveer un pulso de salida y reset todos los JK's para que arranquen de nuevo en cero. Para hacer esta división por 10 se consiguen circuitos integrados, conocidos como DIVISOR POR DECADAS, pero se puede implementar como aparece en el diagrama lógico de la figura 22.

Divisores de frecuencia digital Un circuito divisor-por-diez podrá, en efecto, contar de o a 9. En la siguiente imagen, aparecen representados los números binarios con su equivalente decimal al frente (observemos que, la acción descrita por esta tabla, implica que cada etapa del circuito lógico cambie de estado solamente cuando la etapa precedente pasa a lógica 1 a lógica 0, es decir, únicamente cuando "caiga el pulso").


Las letras A, B, C y D se refieren a los JK's del diagrama en bloques (block diagram). Los JK's están numerados de derecha a izquierda de tal forma que sus estados, cuando se tabulen, aparezcan en el orden convencional establecido para los números binarios.

Contadores digitales Cuando todos los flip-flops están en el estado lógico 0, ellos tienen el número CERO. Cuando A está en lógica 1, C en lógica 0, y D está en lógica 1, los flip-flops tienen número 5. El razonamiento anterior se puede aplicar para cualquier número, entre 0 y 15.

Para dividir por 10, es necesario detectar el número 9, y aprovechar la caída de su pulso para reponer todas las etapas del circuito. Para este número, A es lógica 1, B es lógica 0, C es lógica 0 y D es lógica 1, datos que escritos en forma de expresión Booleana nos da lo siguiente:

E = A no-B no-C D, que se lee "E es igual a A and no-B and no-C and D"(el and significa la conjunción y en español, pero se ha dejado su equivalente inglés para visualizar mejor la clase de compuerta electrónica necesaria para implementar esta expresión del álgebra do boole: la AND.

Como se muestra en la parte superior de la siguiente figura, se usa una compuerta NAND de cuatro entradas para implementar esta función. Observemos que los JK flip-flops proporcionan directamente las salidas para No-B y NO-C. La salida B es lógica 1 cuando B no es lógica 1. Toda vez que el número 9 es detectado, la salida de la compuerta AND se pasa a lógica 1. Este nivel lógico sirve como señal de salida para el circuito divisor-por-diez, y como señal de reset para todos los JK.

Observemos que se ha incluido un circuito monoestable one-shot (OS) entre la salida y la línea de entrada reset para los flip-flops. El monoestable genera un puslo de logitud definida cada vez que el DATA PULSE cae (cada que el pulso propio del divisor cambia de nivel alto a nivel bajo), de ancho suficiente para dar tiempo a que todos los flip-flops se repongan (recordemos que está de por medio el tiempo de propagación, que, aunque es de unos 20 nanosegundos es TTL, es digno de tener en cuenta). Este mismo principio de REALIMENTACION (feedback) es usado para generarla salida y el reset de cualquier otro divisor.


Video de la Simulación:




Conclusiones:
-En conclusión, en un divisor de frecuencia impar, el periodo varía de manera impar, es decir, cierto tiempo este prendido y un durante un tiempo diferente permaneces apagado.
-Concluimos que se llama divisor de frecuencia a un dispositivo electrónico que divide la frecuencia de entrada en una relación casi siempre entera o racional, la forma de la señal de salida puede ser simétrica o asimétrica. La señal de entrada frecuentemente tiene forma de una onda cuadrada pero también puede ser sinusoidal o de otras formas.
Observaciones:
-Es preferible que antes de hacer la implementación del circuito, hacer su respectiva simulación para así conocer el funcionamiento y evitar errores en cuanto a conexiones.
-Es importante primero revisar el funcionamiento de cada flip-flop, ya que de encontrarse alterado o con falla, perjudicará al funcionamiento correcto del circuito.

Integrantes:
-Jesus Paricahua Roque
-Francois Palomino Chirapa
-Cristian Capia Condori