Ir al contenido principal

LABORATORIO N° 15 MÚSICA CON ARDUINO

LABORATORIO N° 15  MÚSICA CON ARDUINO

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.


COMPETENCIA ESPECÍFICA DE LA SESION

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

MARCO TEORICO

MBLOCK:

mBlock es un software fácil de aprender y usar.
Su diseño visual es parecido a un puzzle, donde el usuario juntando bloques (también llamadas piezas) para construir un programa.

Y, como en un puzzle, unas encajan entre ellas y otras no, por lo cual es fácil identificar cuando se está haciendo algo bien o mal.

La variedad de bloques disponibles en mBlock permiten programar una amplia posibilidad de comportamientos.

Este tipo de programación se llama programación visual (por bloques) y es muy distinta a la programación por código, la cual es la típica programación escrita.

IMAGEN


mBlock está basado, o es una variante de un famoso software libre llamado Scratch 2.0. El cuál está orientado a la educación y es muy conocido en todo el mundo.


Scratch está pensado originalmente para programar videojuegos. Mientras que mBlock está pensado para programar robots. 

Aunque en mBlock se pueden programar las dos cosas: videojuegos y robots.

La interface que presenta mBlock es la siguiente:



Del lado izquierdo, está “el escenario” (1) del videojuego; en el centro (2) están las categorías de bloques de programación (las piezas con las que se construye el programa del videojuego o del robot); y del lado derecho está el espacio en donde se “arma/construye” el programa, dónde se colocan las piezas/bloques.

Programación de videojuegos

Para programar un videojuego, uno debe seleccionar los bloques del centro (2) y construir el programa en la ventana derecha (3). Para testear y visualizar el videojuego está la ventana del lado izquierdo o “escenario” (1).

De las distintas categorías de bloques disponibles, la única que no se puede utilizar para programar videojuegos es la que dice “Robots” (ya que estos bloques están diseñados específicamente para funcionar con robots)
Programación de robots

De igual forma que para programar videojuegos, para programar robots se deben elegir los bloques del centro (2) y construir el programa en la ventana derecha (3).

En este caso, se deben utilizar los bloques de la categoría Robots y también se pueden utilizar las categorías de bloques Eventos, Operadores y Control.

Para testear el programa del robot, no existe una ventana como el “escenario” (1) para los videojuegos. Lo que se tiene que hacer es cargar el programa al robot y testear directamente en él.

LOS BLOQUES

En la ventana del centro (2) se encuentran los bloques de programación, agrupados por sus distintas funcionalidades, donde cada funcionalidad está asociada a un color diferente.
Vemos que “movimientos” está asociado al azul, “apariencia” al color lila, sonido al magenta, lápiz al verde mar, bloques y listas al naranja, eventos al marrón, control al naranja melocotón, sensores al azul marino, operadores al verde y robots al azul oscuro.
Estas funcionalidades se pueden dividir en dos grandes grupos.

1. Bloques para videojuegos

Para programar un videojuego se utilizan las siguientes categorías de bloques:
Movimiento, Apariencia, Sonido, Lápiz, Sensores, Eventos, Control, Operadores, Datos y Bloques.

2. Bloques para robot,
Para programar un robot se utilizan las siguientes categorías de bloques:
Robots, Eventos, Control, Operadores, Datos y Bloques.

Tabla de categorías de bloques de programación


DESCRIPCIÓN DE CATEGORÍAS DE BLOQUES

A continuación, se describen las diferentes categorías de bloques disponibles en mBlock.
La mayoría sólo sirven para programar videojuegos, la categoría de Robots sólo sirve para programar robots, y hay 3 categorías que comparten los videojuegos y robots (Control,Eventos, Datos y Bloques).

Cuando se describen los bloques para los videojuegos se menciona al Oso Panda, el Oso Panda es el “avatar” que predefine para el videojuego mBlock, o sea el “personaje” que el usuario controla cuando juega (como 0DULR de Mario Bros).

El Oso Panda o “avatar” sólo está disponible cuando se programa un videojuego, cuando se programa un robot, no es posible pre-visualizar el comportamiento del robot en el Oso Panda.

Nota: El Oso Panda es nuestro ejemplo, pero también se puede sustituir por un Gato o cualquier “avatar” que un usuario diseñe.

Bloques de Movimiento:

Con los bloques azules podemos hacer que el Oso Panda se desplace hacia delante o hacia atrás la distancia que queramos, que rote sobre el mismo, que cambie de dirección, moverlo a las coordenadas deseadas, etc.


Bloques de apariencia:

Con los bloques lilas se puede hacer que el fondo del “escenario” (1) cambie de color o que el Oso Panda cambie de color, añadir un nuevo personaje, cambiar partes del cuerpo de los personajes, hacer que hablen y muestren un mensaje, cambiar tamaños, etc.


Bloques sonido:

Con los bloques magentas se realiza todo tipo de sonidos y se puede controlar el volumen de ellos.


Bloques de Lápiz:

Con los bloques verde mar el “escenario” (1) se convierte en una pantalla interactiva tipo Paint y se puede pintar el escenario como se quiera.


Datos y Bloques:
Con los bloques naranja se crean bloques de variables, de listas de datos y bloques dentro del programa. Esto se utiliza para realizar programas más complejos y completos.


¿Qué es una variable?

Una variable es un espacio de memoria en nuestro programa que utilizamos cuando queremos almacenar un valor y trabajar con éste durante la ejecución del programa.

Explicado con un ejemplo ilustrativo, si queremos hacer un videojuego donde se tenga 3 vidas, podemos crear una nueva variable llamada Vida y hacer que cada vez que pase algo decrezca el valor en 1.

¿Qué usos podemos darle a una variable?

- Almacenar el número de preguntas acertadas en un juego de preguntas.

- Almacenar el total de puntos que tenemos en un juego de cartas.

- Almacenar el número de repeticiones que llevamos en una iteración.

¿Qué es una lista?

Una lista es lo mismo que una variable, pero en vez de almacenar sólo un valor, podemos almacenar tantos valores como queramos.

¿Qué usos podemos darle a una variable?

- Almacenar las respuestas en un juego de preguntas.

- Almacenar el total de puntos que hemos conseguido en cada uno de los niveles de un juego.

- Almacenar una lista de palabras válidas.

Bloques eventos

Los bloques marrón sirven para activar el inicio de cualquier programa que hayamos hecho utilizando LQSXW externos (como el ratón o las teclas del ordenador) o inputs internos como envío de mensajes del propio programa a otro.

Harían la función del botón play en un reproductor de música, cuando lo activamos, empieza todo a funcionar.


Bloque Control

Con los bloques de melocotón se realiza la lógica de programación, como los bucles, que una acción se repita varias veces, que espere un tiempo para hacer la siguiente acción o indicar que el programa realice una acción si se cumplen ciertas condiciones y si no se cumplen se realice otra.

Con la lógica de programación definimos las reglas del mundo del videojuego o las del funcionamiento del robot, como por ejemplo si queremos que se pare o gire cuando nuestro robot o el avatar detecte un obstáculo en su camino.



Bloque Sensores:

Con los bloques azul marino permite detectar si el Oso Panda realiza las siguientes acciones: toca otro Objeto, tocar un color determinado, distancia entre un objeto y el oso.

También permite detectar cuando un color determinado toca otro color, la entrada de variables por medio del teclado, si se está presionando alguna tecla del ratón.

Verificando todas estas posibles acciones, se puede hacer que el Oso salte, pare, retroceda, que el juego acabe, que sume puntos, que cambie la pantalla.



EXPERIENCIAS HECHAS EN EL LABORATORIO

MÚSICA Y SONIDOS CON mBlock

Primero lo primero, debemos abrir el software mBlock y ubicarnos en la parte de configuración con arduino mBot, un caso más expícito lo señalaremos más adelante en la explicación detallada en el procedimiento de laboratorio.

Es importante reconocer cómo lee las notas el arduino para poder transferir ello en el mBlock:



Para que la música salga con mayor detalle como queremos oírla, cabe recordar que  pueden aplicarse notas sostenidas, además de indicar tiempos.


MÚSICA CON ARDUINO

Para poder reproducir los sonidos configurados en mBlock, es necesario que el puerto USB esté conectado y previamente sincronizado al sistema del computador a utilizar. Paso siguiente es actualizar el contenido de mBlock a transferir al arduino.

El pin de salida debe ser de tipo PWM ya que debemos poder variar su frecuencia. En Arduino Uno, Mini y Nano  podrán ser 3, 5, 6, 9, 10 y 11.








 VÍDEO DEMOSTRATIVO:



OBSERVACIONES

Ø  Hay diferentes formas de programar un Arduino uno de ellos el programa  mBlock el cual empleamos para la realización del laboratorio.

Ø  Para poder crear música con el potenciómetro se debe de tener en cuenta las salidas y entradas del Arduino para que así pueda detectar a nuestra variable.

Ø  En el programa mBlock se pueden crear variables el cual nos sirve para hacer diferentes aplicaciones en el Arduino.

Ø  Al momento de hacer la experiencia se debe de verificar que el modulo del protoboard este conectado.

CONCLUSIONES

Ø  Concluimos que se logró implementar  el circuito para crear música usando Arduino y una computadora.

Ø  Concluimos que podemos programar un Arduino a partir de bloque usando el Software mBlock.

Ø  Concluimos que logramos describir el funcionamiento de las unidades y dispositivos de almacenamiento de información que se puede hacer con el Arduino.

Ø  Concluimos que creamos un programa para que el Arduino reproduzca un sonido presionando una tecla del teclado del computador.

Ø  Concluimos que creamos un programa en donde las salidas del Arduino enciendan un LED cuando según la nota musical que se reproduce.

Ø  Concluimos que se logró identificar las aplicaciones de la Electrónica Digital en el Arduino.

Ø  Concluimos que se logro implementar el circuito para crear música programando las entradas y salidas del Arduino, y por medio de un potenció metro crear música.

INTEGRANTES:


ANDY CHOQUE

JOSE ANDREE CARRIZALES 






Comentarios

Entradas populares de este blog

LABORATORIO 8 : PROYECTO CONTADOR DE CERO A 99 CON DOS DISPLAY Y BUZZER

LABORATORIO N° 8  PROYECTO CONTADOR DE CERO A 99 CON DOS DISPLAY Y BUZZER OBJETIVOS: 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. MARCO TEÓRICO : EL DECODIFICADOR INTEGRADO 7447: El decodificador integrado 7447 es un circuito lógico que convierte el código binario de entrada en formato BCD a niveles lógicos que permiten activar un display de 7 segmentos en donde la posición de cada barra forma el número decodificado. Este módulo nos enseñará a realizar un decodificador BCD a 7 Segmentos con salida para un Display de ánodo común. TEMPORIZADOR IC 555 : El temporizador IC 555 es un circuito integrado (chip) que se utiliza en la generación de temporizadores, pulsos y oscilaciones.  El 555 puede ser utilizado ...

LABORATORIO 9 : CONTADOR JOHNSON Y DIVISOR DE FRECUENCIAS

LABORATORIO 9 :  CONTADOR JOHNSON Y DIVISOR DE FRECUENCIAS 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. COMPETENCIA ESPECÍFICA DE LA SESIÓN: Implementación de circuitos temporizadores. Implementación de circuitos generadores de clock. Implementación de circuito contador utilizando temporizadores y generadores de clock. MARCO TEÓRICO: CONTADORES 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. En consecuencia de lo expuesto, con n flip-flops, un contador Johnson es capaz de codificar 2n estados, y aunque la decodificación se complica, la velocidad de conteo es igua...

LABORATORIO N° 14 CONTADORES DIGITALES CON ARDUINO

LABORATORIO N° 14  CONTADORES 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  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. III. MARCO TEORICO: PROGRAMACIÓN BÁSICA CON IDE ARDUINO: Dado que el Arduino es como un pequeño ordenador que ejecuta una serie de códigos que previamente le hemos introducido, necesitaremos un programa para poder meter estos códigos a la propia placa. Este programa se llama IDE, que significa "Integrated Development Environment" ("Entorno de Desarrollo Integrado"). Este IDE estará instalado en nuestro PC, es u...