martes, 11 de junio de 2019

LABORATORIO NRO.7


ELECTRÓNICA DIGITAL
LABORATORIO 7:
MÚSICA CON ARDUINO

1. COMPETENCIA ESPECIFICA DE LA SESIÓN:

  • Programación de Tonos musicales.
  • Creación de nuevos bloques.

2. TAREAS DEL LABORATORIO

  • Crear teclado virtual desde PC con encendido de leds. Crear canciones enteras desde teclado virtual.

CONEXIONADO A LEDS:


CONEXIONADO A SPEAKER:


TECLADO Y ARDUINO

NOTAS MUSICALES:



  • Leer potenciómetro y reproducir tonos en función a valor leído.



TAREA DE BLOG:


a.    Teoría de mBlock:

  • El lenguaje de programación gráfica Scratch 3.0 inspiradoScratch es una herramienta de software de programación diseñada por MIT y es uno de los lenguajes de programación más populares para niños. Hace que la programación sea tan fácil como construir bloques.
  • Puede ver los codigos de Python detras de los bloques con un solo click y escribir codigos en el editor dePython. Con varias lineas de codigos, los niños pueden controlar facilmente los sprites y robots de mBlock para realizar tareas impresioanntes. Imagen relacionada

b.    Video tutorial editado y subtitulado explicando las experiencias hechas en el laboratorio:








OBSERVACIONES

  1. En el arduino teníamos que asegurarnos que tenga la característica de poder configurarlo para sonido y si nos permitía dicho arduino realizar esa función.
  2. Realizamos las primeras programaciones en el arduino con la funcion de poder realizar sonidos en la bocina de nuestro protoboard.
  3. Hicimos la prueba con función en el teclado, de tal manera que si presionábamos una letra en el arduino lo procesaría a un determinado sonido.
  4. Configuramos  las salidas del arduino para llevarlo a los leds indicadores y cada vez que presionábamos una letra y sonara la nota musical también emita una luz el led.
  5. Usamos la entrada analógica para variar de acuerdo a la resistencia y salga las nota musicalmente en función de un porcentaje.
              CONCLUSIONES
  1. Concluimos en la primera experiencia que el arduino se puede configurara para dicho sonido y las señales que salen van hacia la bocina del protoboard para que emita la nota musical correspondiente.
  2. El lenguaje de bloque en si es una traducción de los códigos, solo para que sea mas fáciles y entendible para todos los usuarios por ello se llevó la conversión en bloques.
  3. En el tema de conexionado del arduino y los leds pudimos aprender y diferenciar entre entradas y salidas que tiene el arduino.
  4. Logramos entender el funcionamiento de la entrada analógica para el caso de variar la resistencia y con ello poder programar las notas musicales en función a las notas musicales de salida
  5. Llegamos a la conclusión que podemos realizar diversas aplicaciones a lo que determine una función, todo a que podemos realizar la programación y ver las entradas y salidas necesarias a emplear, con este tipo de programación podemos hacer procesos automáticos con ayuda de sensores de entrada y actuadores en salidas


¿Qué he aprendido de esta experiencia? (en modo texto)

  • De esta experiencia hemos aprendido que el arduino es una memoria física en donde podemos realizar diferentes programaciones para diversas funciones como en este caso la música, podemos programar par determinado teclado un nota musical.
  • Hemos aprendido a realizar los conexionados correspondientes en la parte física de la bocina y los leds indicadores .
  • Hemos aprendido a utilizar la entrada analógica para una función, conseguimos realizar esta operación variando con un potenciometro en la entrada analógica del arduino,
  • También aprendimos que con esa entrada analógica podemos aplicarlo en diversos trabajos, podríamos colocar en la entrada analógica unos sensores con función analógica como por ejemplo sensores de temperatura, de presión u otros sensores analógicos del mercado actualmente.


  1. ZEUS ENRIQUE MARTINEZ RIVAS
  2. ARNOL MAMANI GUTIERREZ



I.            RESÚMEN

a.    Programación de Tonos musicales.

creación del tono musical "LA CUCARACHA"


b.    Creación de nuevos bloques.








martes, 28 de mayo de 2019

LABORATORIO NRO. 6



ELECTRÓNICA DIGITAL
LABORATORIO 6:
SENSORES Y ACTUADORES DIGITALES
CON ARDUINO


1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
  • Programación de sensores digitales con Arduino.
  • Programación de actuadores digitales con Arduino.
  • Implementación de proyecto con sensores y actuadores digitales.

2. MARCO TEÓRICO:

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.

void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}

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.



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.

  • Programación básica con IDE Arduino

IDE de Programación: Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación, o sea, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica. Los IDEs pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes.

El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word.


A la hora de crear arte hecho codigo fuente, muchas veces necesitamos un buen editor para escribir nuestro codigo, un compilador a mano o interprete según corresponda a nuestro lenguaje de programación, una conección a su base de datos facil y rapida si es que utilizamos. En fin muchas veces necesitamos escoger para nuestro lenguaje un Entorno de Desarrollo Integrado (IDE).


Un entorno de desarrollo integrado o en inglés Integrated Development Environment (IDE) es un programa compuesto por un conjunto de herramientas para un programador.

Los IDEs proveen un marco de trabajo amigable para la mayoría de los lenguajes de programación. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

Es posible que un mismo IDE pueda funcionar con varios lenguajes de programación. Este es el caso de Eclipse, que mediante pluggins se le puede añadir soporte de lenguajes adicionales.


Característica

Los IDE ofrecen un marco de trabajo amigable para la mayoría de los lenguajes de programación tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.

Es posible que un mismo IDE pueda funcionar con varios lenguajes de programación. Este es el caso de Eclipse, al que mediante plugins se le puede añadir soporte de lenguajes adicionales.

Un IDE debe tener las siguientes características:

- Multiplataforma
- Soporte para diversos lenguajes de programación
- Integración con Sistemas de Control de Versiones
- Reconocimiento de Sintaxis
- Extensiones y Componentes para el IDE
- Integración con Framework populares
- Depurador
- Importar y Exportar proyectos
- Múltiples idiomas
- Manual de Usuarios y Ayuda

Componentes


- Editor de texto.

- Compilador.
- Intérprete.
- Herramientas de automatización.
- Depurador.
- Posibilidad de ofrecer un sistema de control de versiones.
- Factibilidad para ayudar en la construcción de interfaces gráficas de usuarios.
  • SparkFun RedBoard


La tarjeta de arduino es una herramienta increíble para los entusiastas de la electrónica experimentados y en ciernes. Todo el proyecto Arduino, tanto el hardware como el software, es de código abierto. Los esquemas , los archivos de diseño de hardware y el código fuente están disponibles gratuitamente para su visualización y modificación.


La tarjeta RedBoard es similar a un Arduino Uno, pero está ligeramente modificado para que el tablero se adapte mejor a nuestros propósitos.




  • Sistema de Entrenamiento para Electrónica Analógica/Digital ETS-7000A
El Sistema de Entrenamiento Digital-Analógico ETS-7000A está diseñado para principiantes, para mejorar la comprensión de la teoría digital y analógica. El diseño del Sistema de Capacitación Digital-Analog es fácil de operar y fácil de entender.

-Disponible para varios conectores.
-Ejecuta experimentos con interfaz para PC por medio de conectores compatibles universales.

Es un protoboard sin soldadura, interconectado con 2712 puntos de contacto de amarre niquelados, se adaptan a todos los componentes con tamaños DIP y alambre sólido AWG # 22 a 30 (0,3 ~ 0,8 mm). 

Se puede cambiar y se sustituye para diferentes propósitos y puede ser conectada con el panel de demostración. 

Por lo tanto, es muy conveniente tanto para los profesores y los estudiantes.

3. TAREAS DEL LABORATORIO

  • Escritura de salidas digitales con Leds y Display de 7 segmentos. Transcriba el siguiente código y vea el resultado:








  • El código anterior sólo puede incrementar, modifique código para que pueda incrementar y decrementar.

Codigo de incrementar

Codigo de decremetar

  • RETO: Añada 3 salidas digitales (LEDS) y modifique código para que el programa se comporte como un SEMAFORO con CONTADOR REGRESIVO:



Codigo de contador regresivo, semaforo


4. EVIDENCIAS DE TAREAS EN EL LABORATORIO


En este vídeo podemos explicar la resolución del laboratorio, en la cual mostramos el proceso de como verificamos los pasos de la tarea, seguidamente  dando a conocer tambien físicamente en un circuito el funcionamiento del ejercicio que se pide.




5. OBSERVACIONES

  • Usamos los displays para visualizar los números que se van contando en ascendente y descendente según la programación realizada.
  • En la programación del Arduino podemos realizar cambios en el tiempo y así poder cambiar la velocidad a la que prende el led de salida. 
  • Podemos establecer valores en donde puede comenzar a contar por ejemplo que empiece en 30 y solo llegue a 70.
  • En si el Arduino es una serie de componentes electrónicos donde podemos configurarlo para que sume reste divida, hacer diferentes operaciones.
  • Las entradas son señales que entran al Arduino, pueden ser de señal digital como también analógica, esto va a depender si el Arduino soporta dichas entradas
  • Los pulsadores con unos elementos muy importantes, en cuanto a esta aplicación.


6. CONCLUSIONES 

  • Podemos llegar a la conclusión que se comprobó el funcionamiento y la importancia que tiene el Arduino en el mundo de la electrónica. 
  • En síntesis, se analizaron las diferentes tipas de programación y se diferenció una de la otra.
  • En conclusión, podemos decir que gracias a esta experiencia de laboratorio ahora sabemos todas las características que posee este Arduino para así poder realizar en un futuro un trabajo con este.
  • Concluimos que su entorno nos permite que muchas personas sin experiencia opten por Arduino como herramienta de aprendizaje.
  • Finalizando este laboratorio, nos dimos cuenta que está basado en dos sistemas abiertos, por lo que nos da la total libertad de entender el hardware y software.
  • Podemos concluir que las estradas del Arduino puede ser cualquier sensor y sus salidas puede ser una carga cuya operación va a estar en función a la entrada que se le asigne


7. INTEGRANTES
  • Mamani Gutierrez Arnol Kervin
  • Martinez Riva Zeus Enrique 
  • Concha Vargas Edwin Yuber 





















LABORATORIO NRO. 5


ELECTRÓNICA DIGITAL
LABORATORIO 5:
CIRCUITOS CONTADORES CON FLIP FLOPS

1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
  • Implementación de circuitos monoestables.
  • Implementación de circuitos contadores con Flip Flops JK.
  • Utilizar un SIMULADOR para comprobar el comportamiento de los mismos.

2. MARCO TEÓRICO:



El "Flip-flop" es el nombre común que se le da a los dispositivos de dos estados, 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 Set/Reset

El flip-flop de tipo set/reset, se activa (set) a un estado de alto en el lado Q, por medio de una señal de "set", y se mantiene en ese valor, hasta que se desactiva a una señal baja, por medio de una entrada en el lado de reset. Esto se puede implementar como el latch de puerta NAND o el latch de puerta NOR, y tambien como versión con pulso de clock (sincronizado). 

Una desventaja del flip-flop S/R, es que las entradas S=R=0 da un resultado ambiguo y debe evitarse. El flip-flop J-K consigue superar este problema.


  • Flip-Flop Set/Reset con Clock






Cuando la línea de señal S va a alta, la otra línea a la puerta NAND que viene del circuito de dirección de pulsos debe estar también alta, para generar una salida alta en Q. Asimismo, un pulso de clock debe estar presente, cuando se recibe el pulso de RESET R alto, para llevar la salida de reset a alta (Q=0). 



De esta manera, todas las transiciones están sincronizadas con el pulso de clock.

  • Flip-Flop J-K

El "flip-flop" J-K, es el más versátil de los flip-flops básicos. Tiene el carácter de seguimiento de entrada del flip-flop D sincronizado, pero tiene dos entradas, denominadas tradicionalmente J y K. Si J y K son diferentes, la salida Q toma el valor de J durante la subida del siguiente pulso de sincronismo.



Si J y K son ambos low (bajo), entonces no se produce cambio alguno. Si J y K son ambos high (alto), entonces en la siguiente subida de clock la salida cambiará de estado. Puede realizar las funciones del flip-flop set/reset y tiene la ventaja de que no hay estados ambiguos. Puede actuar tambien como un flip-flop T para conseguir la acción de permutación en la salida, si se conectan entre sí las entradas J y K. Esta aplicación de permutar el estado, encuentra un uso extensivo en los contadores binarios.


  • El Flip-Flop D

El "flip-flop" tipo D, sigue a la entrada, haciendo transiciones que coinciden con las de la entrada. El término "D", significa dato; este "flip-flop" almacena el valor que está en la línea de datos. Se puede considerar como una celda básica de memoria. Un "flip-flop" D, se puede hacer con un "flip-flop" "set/reset", uniendo la salida set (estado alto) con la salida reset (estado bajo), a través de un inversor. El resultado se puede sincronizar.


  • El Flip-Flop T

El flip-flop T o "toggle" (conmutación) cambia la salida con cada borde de pulso de clock, dando una salida que tiene la mitad de la frecuencia de laseñal de entrada en T. 



Es de utilidad en la construcción de contadores binarios, divisores de frecuencia, y dispositivos de sumas binarias en general. Se puede hacer a partir de flip-flops J-K, llevando ambas entradas J y K a alta (high).


Construcción de un flip-flop T desde un flip-flop J-K

  • Latch con Puertas NAND




La secuencia de tiempo de la derecha, muestra las condiciones bajo las cuales las entradas de set y reset, cambian el estado del latch y cuando no lo cambian.





El concepto de circuito "latch", es importante en la creación de dispositivos de memoria. La función de tal circuito es "capturar" el valor creado por las señales de entrada al dispositivo y mantener ese valor hasta que lo cambie alguna otra señal.

  • Latch con Puertas NOR




La secuencia de tiempo de la derecha, muestra las condiciones bajo las cuales las entradas de set y reset, cambian el estado del latch y cuando no lo cambian.





El concepto de circuito "latch", es importante en la creación de dispositivos de memoria. La función de tal circuito es "capturar" el valor creado por las señales de entrada al dispositivo y mantener ese valor hasta que lo cambie alguna otra señal.

3. TAREAS DEL LABORATORIO

  • Determine la Ecuación Lógica del circuito mostrado.

S=q . R!+S


  • Compruebe en simulación el comportamiento de los circuitos mostrados.




  • Armar circuito en el ENTRENADOR y verificar resultados.



  • Conecte 4 flip flops de la forma mostrada para formar un CONTADOR, compruebe su funcionamiento implementando de forma física. Agregue un Decodificador de BCD a 7 segmentos. Utilice los bloques mostrados:



  • Reemplace los Flips Flops con un contador integrado Ascendente / Descendente, compruebe funcionamiento en ambos sentidos. Utilizar los bloques mostrados:
Ascendente





Descendente






  • RETO: Modifique circuito para convertir en contador BCD




4. EVIDENCIAS DE TAREAS EN EL LABORATORIO

En este vídeo podemos explicar la resolución del laboratorio, en la cual mostramos el proceso de como verificamos los pasos de la tarea, seguidamente  dando a conocer tambien físicamente en un circuito el funcionamiento del ejercicio que se pide.




5. OBSERVACIONES
  • Pudimos observar que el flip flop es uno de los dispositivos mas usados en los circuitos digital, y de hecho es parte fundamental de muchos circuitos avanzados como contadores y registros de corrimiento, que ya vienen integrados en un chip.
  • Observamos que 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)
  • Pudimos observar que debemos tener cuidado con la alimentación del circuito integrado 7476 no es como la gran mayoría de la familia TTL el pin 13 va a tierra(GND) y pin 5 a +5V.
  • Observamos que 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).
  • Observamos también que el circuito integrado 7476 tiene 2 flip flops J-K incorporadas independientemente.
6. CONCLUSIONES 

  • Concluimos a través de esta práctica que los flip flops son celdas binarias que son capaces de almacenar 1 bit de información, los cuales están conformados por las entradas del mismo, las cuales se marcan como J y K y sus salidas marcadas como Q y Q´, además están integrados por una entrada de reloj, así como por el clear y preset.
  • Concluimos que el flip-flop es un dispositivo de almacenamiento binario compuesto de dos o más compuertas, con retroalimentación.
  • Podemos concluir 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 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.
  • Concluimos que los LATCH son la base de los FLIP FLOP, que haciendo modificaciones en éstos lograremos distintos tipos de FLIP FLOPS.

7. INTEGRANTES

  • Mamani Gutierrez Arnol Kervin
  • Martinez Riva Zeus Enrique 
  • Pauccara Condori Diego Fernando