martes, 4 de junio de 2019

LABORATORIO 7 MÚSICA CON ARDUINO



LABORATORIO N°7

MÚSICA 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 ESPECÍFICA DE LA SESIÓN:

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

 III.         CONTENIDOS A TRATAR:

·         Circuitos Temporizadores
·         Circuitos Generadores de Clock.
·         Aplicaciones con contadores.

  

          IV.     RESULTADOS:

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

TAREAS GUIADAS DENTRO DEL LABORATORIO:

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

EXPERIENCIA N°1:

PROGRAMACIÓN DE NOTAS MUSICALES



EVIDENCIAS DE LA EXPERIENCIA N°1



CONEXIONADO:







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

EXPERIENCIA N°2:

PROGRAMACIÓN DE LA MELODÍA JUNTO A NOTAS MUSICALES DE MEDIO TONO Y ENTERO



EVIDENCIAS DE LA EXPERIENCIA N2



3.      Reproducir canciones enteras desde Arduino con indicador de número de canción.

EXPERIENCIA N°3:

PROGRAMACIÓN DE CANCIÓN SECUENCIAL



EVIDENCIA DE LA EXPERIENCIA N°3



V.   MARCO  TEÓRICO:

MBLOCK


MBlock es un entorno gráfico de programación basado en el editor Scratch 2.0 para que escuelas y centros de formación pueda introducir la robótica de forma sencilla y enseñar a programar robots basados en Arduino.
La interfaz es muy amigable e intuitiva. Usa bloques previamente definidos para dar órdenes al robot y si sabes programar también podrás sacarle todo el partido con el entorno de Arduino.




NOS PERMITE:

-          Permite programar tus robots de forma inalámbrica mediante tecnología bluetooth o 2.4G
-          Te permite traducir los bloques de Scratch a código fuente de Arduino
-          Puedes probar en tiempo real el programa que realices en Scratch sin necesidad de grabarlo en la placa
-          Y una vez probados puedes grabarlo de forma permanente en tu robot.
       
Puedes usarlo con tus placas de Arduino o también con los robots educativos de Makeblock:

-          Para los que se inician: Robot Educativo mBot
-          Para los que quieren un kit básico de Makeblock: Starter Kit
-          Para los que necesitan un robot más avanzado con muchos sensores mBot Ranger 
-          Y para los más experimentados en robótica: Ultimate Kit 

MANUAL DE COMO USAR EL MBLOCK

1-      CONECTAR TU ROBOT




Tienes 3 maneras diferentes de conectar tu robot con mBlock:

-          Cable USB 
-          Bluetooth
-          2.4G (la misma tecnología que usan los teclados inalámbricos)

2-      ACTUALIZAR EL FIRMWARE


Para que el robot o tu placa de Arduino se pueda comunicar con mBlock y ejecutar las acciones de Scratch en tiempo real, es necesario que cargues previamente un Firmware en la placa.
Para ello sólo necesitas hacer click en la opción correspondiente y esperar a que finalice la carga 
(ver imagen anterior).

Nota: Es muy importante que selecciones la placa correspondiente de tu robot (o la placa de Arduino con la que trabajes)



-          Me Orion (placa del Starter Kit, Plotter, mDrawBot e Inventor Kit)
-          Me UNO Shield (Shield de Makeblock para acoplar a tu Arduino UNO)
-          mBot
-          Auriga (placa del nuevo kit mBot Ranger)
-          Mega Pi (Placa del nuevo Ultimate Kit que puedes usar con tu Raspberry Pi)
           
3- REALIZA TU PROGRAMA
Arrastrando los bloques correspondientes puedes empezar a programar tus robots de una forma muy sencilla y en tiempo real con tan sólo pulsar la banderita verde y ver el resultado en tu robot.

Otros ejemplos:




Controlar un display de 7 segmentos 





Leer un sensor de temperatura 



Controlar el módulo de LEDS RGB





VIDEO:
-           EXPLICANDO LAS EXPERIENCIAS REALIZADAS EN EL LABORATORIO:




OBSERVACIONES:

-    Antes de realizar el conexionado del circuito pasamos a revisar si nuestros componentes estaban operativos.
-   Para la programación se tenía que tener claro el lenguaje que íbamos a utilizar en el programa ya que al seleccionar al programa como música se observaba varias alternativas que corresponden a notas musicales, pero en el lenguaje del arduino.
-      Pasamos a conectar el primer circuito en donde se encontró conectores en mal estado, por lo cual tuvieron que ser reemplazados.
-       Una vez terminado la conexión se paso a realizar la primera experiencia copiando el programa al arduino de las notas musicales.
-       Para la segunda experiencia en la que teníamos que crear nuestra propia canción se tenía que entender muy bien las notas musicales en el idioma del arduino, ya que en su comprobación se notó que muchas notas no encajaban ya sea por un pequeño error mala selección de nota musical, o que los tiempos de la nota no encajen correctamente y no satisfaga.
-   En la última experiencia teníamos que usar un potenciómetro, por lo cual se tenia que identificar los pines del potenciómetro ya que este iba a ir conectado aun GND y el otro a 5V.
-   Para poder usar este potenciómetro tuvimos que cambiar las configuraciones de nuestro programa.

CONCLUSIONES:

-     Concluimos que el software mBlock sirve para poder programar el arduino.
   Concluimos que se logró crear una canción solo programando el arduino.
-    Concluimos que el arduino debe de ser vinculado con el programa para que asi puede obedecer las órdenes que le mandemos
-    Concluimos que la música es programable, a tal punto que se puede crear melodías perfectas de cualquier tono.
-   Concluimos que el mBlock es un entorno grafico de programación en el que se puede introducir la robótica de forma sencilla y enseñar a programar robots basados en Arduino.


INTEGRANTES:

-          CALLOAPAZA TORRES, Cristhian David
-          CALIZAYA FUERTES, Javier
-          AGUILAR USCA, Alex Wladimir



domingo, 2 de junio de 2019

LABORATORIO 7 SENSORES Y ACTUADORES DIGITALES CON ARDUINO




ELECTRONICA DIGITAL
LABORATORIO 07
SENSORES Y ACTUADORES DIGITALES CON ARDUINO






Alumno(s)

Nota
 Javier Calizaya Fuertes

 Cristhian Calloapaza Torres

 Alexar Aguilar 

Grupo

Ciclo  4C4
Electrotecnia Industrial Electrónica Digital
Fecha de entrega


VIDEO DEL LABORATORIO







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.

V.   MATERIALES Y EQUIPO

         Tarjeta Arduino
         Entrenador para Circuitos Lógicos
         PC con Software de simulación.
         Guía de Laboratorio. El trabajo se desarrolla de manera GRUPAL.


VI.   REPASO DEL LABORATORIO ANTERIOR
         Programación de Arduino con lenguaje gráfico

VII.   FUNDAMENTO TEÓRICO
         Revise los siguientes enlaces:
         Arduino...



VIII.      SEGURIDAD EN LA EJECUCIÓN DEL LABORATORIO



TAREAS GUIADAS DENTRO DEL LABORATORIO:


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

int unidades=0;
int decenas=0;

void setup()
{
DDRD = 0b00001111; //pines 0 al 3 SALIDAS y 4 al 7 ENTRADAS
DDRB = 0b00001111; // pines 8 al 11 SALIDAS y 12 al 13 ENTRADAS PORTD = unidades; //Transferimos valor de variable a puerto B PORTB = decenas; //Transferimos valor de variable a puerto D
}
 void loop()
{


if (digitalRead(7) == LOW)
{
unidades++;
if (unidades>9)
{
unidades=0;
decenas++;
}
PORTD=unidades;
PORTB=decenas;
delay(200);
}
2.  El código anterior lo puede incrementar, modifique digo para que pueda incrementar y decrementar.

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

4.  CONTENIDO DEL INFORME EN EL BLOG:

a.  Programación básica con IDE Arduino
b.  Video tutorial editado y subtitulado explicando las experiencias hechas en el laboratorio:
c.   Observaciones y conclusiones. ¿Q he aprendido de esta experiencia? (en modo texto)
d.  Integrantes (incluye foto de todos)

IX.     RESÚMEN
         Programación utilizando IDE Arduino
         Manejo de sentencias digitales
         Programación de un semáforo.

X.     PROXIMO LABORATORIO:
         Programación analógica con Arduino.

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

CONCLUSIONES Y OBSERVACIONES

Las programaciones para contar el tiempo como en este caso nos ayudan a controlar tiempo de procesos como el conteo de un semáforo

El arduino puede usarse de distintos modos de programación para este tipo de casos

Para la programación es necesario colocar los valores en decenas y unidades de un máximo de 0 a 9

Se debe colocar el mismo pin de lectura para que sea nuestra salida del arduino

Debemos tener cuidado con los símbolos de mayor o menor ya que puede confundir nuestra programación

Para la programación debemos tener cuidado con los comandos IF ya que pueden cambiar nuestras condiciones

Debemos tener cuidado con los corchetes y paréntesis ya que el programa puede no compilar los datos correctamente

Debemos colocar un delay de 200 mínimo ya que si ponemos 0 el contador empezara a contar demasiado rápido

Delay significa retraso en el programa indica el retraso de tiempo que se tendrá antes de ejecutar la programación instalada en el arduino

Se usaron LEDs y palancas para la simulación de nuestro contador , usamos uno para ascendente y otro para descendente