lunes, 3 de diciembre de 2018

LABORATORIO 8

MUSICA CON ARDUINO 


1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
  • Programación de Tonos musicales.
  • Creación de nuevos bloques.
    2. MARCO TEÓRICO:

    a)   ¿Que es mBLOCK?

    mBlock es un entorno gráfico de programación basado en Scratch 2.0 y desarrollado por la empresa MakeBlock, para programar el robot de mBot, entre otros.
    Software de mBlock

    mBlock se compone de 5 partes principalmente:
    • -Grupo de instrucciones clasificadas por colores en las siguientes categorías:
    • -Instrucciones de programación: Las instrucciones de cada grupo corresponden a instrucciones de programación.
    • -Editor: Es la parte principal donde estructuramos y programamos nuestro programa.
    • -Escenario o ventana principal: Es el resultado de nuestro programa.
    • -Objetos y sprites: Distinguimos principalmente los objetos de tipo Arduino y Sprites.

    b)Para que sirve 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.

    -Ventajas de mBLOCK

    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 relices 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 

    C)Manual de uso

    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.

    Puedes encontrar algunos ejemplos de Scracth para Arduino en nuestro foro

    Otros ejemplos

    Controlar un motor DC

    Controlar un display de 7 segmentos

    Leer el un sensor de temperatura

    Controlar el módulo de LEDS RGB

    4- Graba el programa en tu placa

    Para grabar de forma permanente tu programa en la placa sólo tienes que sustituir el bloque de banderita verde por el bloque correspondiente a tu placa , en el ejemplo siguiente, usamos el bloque mBot Program


    Con el botón derecho sobre el bloque mBot Program haremos click en la opción "Upload to Arduino" accederemos a otra ventana con el código fuente equivalente traducido a Arduino de tu programa en Scratch.
    Y esperar a que termine de subir a nuestra placa

    Importante : Ahora hemos sustituido el firmware de la placa por tu programa. Si quieres seguir usando Scratch con mBlock nuevamente, deberás volver a actualizar el firmware como hemos visto anteriormente

    3. EVIDENCIA DE TAREAS EN LABORATORIO:

    3.1 EVIDENCIA DE MATERIALES UTILIZADOS 

    3.2 EVIDENCIA DE CIRCUITOS REALIZADOS 



    3.3 VÍDEO





    4. OBSERVACIONES:

    • Pudimos observar que podemos reproducir sonidos diferentes por cada nota.
    • Se observo que el mblock nos ayuda a reproducir una cansion que previamente ya habíamos configurado nota por nota en el programa.  
    • Observamos que al utilizar un potenciometro y darle ordenes en el mblock podiamos reproducir distintas notas.
    • Pudimos observar que introducimos datos y bloques para poder fijar el valor pot y para poder leer el pin digital por donde reproducirá el parlante.
    • Observamos que podríamos reproducir varias notas con una secuencia de ordenes .
    • Observamos que creamos nuestro propio teclado con diferentes notas programadas en mblock. 

    5. CONCLUSIONES
    • Realizamos una secuencia de sonidos para reproducir una cansion.
    • Creamos un teclado que nos ayudo a reconocer las notas de cada sonido y  a la ves le agregamos un indicador para que se pueda diferenciar que pin estamos presionando mediante leds.
    • Realizamos una secuencia de sonidos utilizando un potencio metro.
    • A medida que movíamos el potencio metro las notas cambiaban.
    • Aprendimos a realizar sonidos y canciones mediante mblock .
    • Utilizamos el mblock para realizar funciones de reproducir canciones completas, modificar las notas utilizando un potencio metro y creamos un teclado digital que reproducía las notas.
    FOTO GRUPAL 



    -Wilson Puma Yucra
    -Alonzo Mendoza Aguilar
    -Erick Rafael Belizario Zoto

    jueves, 22 de noviembre de 2018

    LABORATORIO 7

     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:
    a)   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 un entorno muy sencillo de usar y en él escribiremos el programa que queramos que el Arduino ejecute. Una vez escrito, lo cargaremos a través del USB y Arduino comenzará a trabajar de forma autónoma. 
    a   
    Imagen 0 en Tutorial Arduino: IDE Arduino

          b)   Lenguaje de programación de Arduino: Lenguaje de programación C++ El lenguaje de programación de Arduino está basado en C++ y aunque la referencia para el lenguaje de programación de Arduino está en http://arduino.cc/en/Reference/HomePage, también es posible usar comandos estándar de C++ en la programación de Arduino.


          
          C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es un lenguaje híbrido.
          
          Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un estándar, denominado ISO C++,
          C# es un lenguaje propietario de Microsoft que mezcla las características básicas de C++ (no las avanzadas) simplificándolas al estilo Java y ofreciendo un framework. C# forma parte de la plataforma .NET


        C)   Elementos Básicos en la Programación en C++ : 
      
          {} entre llaves
          Las llaves sirven para definir el principio y el final de un bloque de instrucciones. Se utilizan para los bloques de programación setup(), loop(), if.., etc.

          ; punto y coma
          El punto y coma “;” se utiliza para separar instrucciones en el lenguaje de programación de Arduino. También se utiliza para separar elementos en una instrucción de tipo “bucle for”.                                Nota: Si olvidáis poner fin a una línea con un punto y coma se producirá en un error de compilación.

          /*… */ bloque de comentarios
          Los bloques de comentarios, o comentarios multi-línea son áreas de texto ignorados por el programa que se utilizan para las descripciones del código o comentarios que ayudan a comprender el programa. Comienzan con / * y terminan con * / y pueden abarcar varias líneas.

          // línea de comentarios
          Una línea de comentario empieza con / / y terminan con la siguiente línea de código. Al igual que los comentarios de bloque, los de línea son ignoradas por el programa y no ocupan espacio en la memoria. Una línea de comentario se utiliza a menudo después de una instrucción, para proporcionar más información acerca de lo que hace esta o para recordarla más adelante.



    3. EVIDENCIA DE TAREAS EN LABORATORIO:

    3.1 EVIDENCIA DE MATERIALES UTILIZADOS 







    3.2 EVIDENCIA DE CIRCUITOS REALIZADOS 



    3.3 VÍDEO





    4. OBSERVACIONES:

    • Se observo como ingresar funciones en lenguaje C++ al IDE Arduino.
    • Se pudo observar como funcionaba el lenguaje de programación para Arduino.
    • Se pudo observar que al introducir funciones y comandos determinados en lenguaje C++ para realizar la programación pudimos formular y dar funciones al Arduino.
    • Se pudo observar que cada sensor tiene diferentes tipos de entradas ya que cada uno cumple funciones específicas.
    • También se observó que los sensores utilizados en clase solo funcionan con 5 voltios. Se observó que pueden ser de lógica inversa y no solo directa.
    • Se observó que hay sensores que pueden actuar con polaridad inversa, como el sensor magnético.
    • Se observó que el módulo de relé actúa como un interruptor, ya que se probó en un el protoboard con dos leds y se vio que su funcionamiento se da como interruptor.



    5. CONCLUSIONES
    • Pudimos aprender como función el lenguaje de programación de la IDE Arduino.
    • Aprendimos a dar funciones a nuestro Arduino mediante el lenguaje aprendido.
    • Se logró programar a través del software arduino identificando los principales comandos de entrada y salida.
    • Se pudo implementar circuitos de lógica combinacional y secuencial de acuerdo a los procesos sugeridos en la experiencia.
    • Se describió y analizo el funcionamiento de las unidades y dispositivos de almacenamiento de información.
    • Se identificaron aplicaciones de electrónica digital en dispositivos comunes como en semáforos.
    • Se pudo programar sensores y actuadores digitales con el software arduino para desarrollar la experiencia.
    • A través de la siguiente experiencia se simplifico el proceso de trabajar con microcontroladores por su programación simple y directa.

    FOTO GRUPAL 


    -Wilson Puma Yucra
    -Alonzo Mendoza Aguilar
    -Erick Rafael Belizario Zoto

    jueves, 8 de noviembre de 2018

    LABORATORIO 6


     PROGRAMACIÓN ARDUINO 



    1. COMPETENCIA ESPECIFICA DE LA SESIÓN:
    • Programar la tarjeta ARDUINO UNO utilizando un lenguaje gráfico y comparar con lenguaje de texto.
    • Realizar programación básica utilizando software mencionado
    • Conocer el entorno de mBlock y todas sus posibilidades.
    2. MARCO TEÓRICO:


    a  a)   Historia de Arduino y modelos:

    El proyecto «Arduino» se inició en el año 2005 como un proyecto enfocado a estudiantes en el Instituto IVREA (IDII), en Ivrea (Italia).2​ En aquellos años, los estudiantes usaban el microcontrolador BASIC Stamp, cuyo costo era de $100USD, un costo considerablemente alto para un estudiante promedio. Antes del año 2005, específicamente durante el año 2003, Hernando Barragán había creado la plataforma de desarrollo Wiring como resultado de su proyecto de tesis en la maestría en el IDII, bajo la supervisión de Massimo Banzi y Casey Reas, quienes eran conocidos por haber trabajado en el lenguaje Processing y daban clases en el IDII2​. El objetivo del proyecto era crear herramientas simples y de bajo costo para la creación de proyectos digitales por parte de personas sin altos conocimientos técnicos o sin un perfil de ingeniería. El proyecto Wiring era una placa de desarrollo de hardware la cual consistía de una placa de circuito impreso (PCB) con un microcontrolador ATmega168, un Ambiente de Desarrollo Integrado (IDE) basado en funciones de procesamiento y una biblioteca de funciones para programar fácilmente el microcontrolador.​ Regresando al año 2005, Massimo Banzi junto con David Mellis, quien era otro estudiante del IDII, y David Cuartielles, agregaron soporte a Wiring para el microcontrolador ATmega8 el cual era más económico al de un principio (Atmega168). Pero en lugar de continuar el desarrollo en Wiring, se separaron del proyecto y lo renombraron Arduino.
    Modelos de arduinos:
    Modelos basados en Atmega 8
    En este grupo tenemos el Arduino Serial (Severino), Arduino Usb, Arduino Extreme y Arduino NG.

    Este es el primer modelo de arduino, para fabricación casera es una placa de una sola cara y con componentes normales, su única pega es que solo se puede programar por puerto serie (DB9).



    El Arduino Usb fue junto a estos los primeros modelos de Arduino en incorporar puerto Usb para su programación




    Características de ATmega 8
    Microcontrolador: ATmega8
    Voltaje de operación: 5V
    Voltaje de alimentación: 7-12V
    Memoria Flash: 8 Kbytes 1 Kbytes para bootloader
    Memoria SRAM: 1 KBytes
    Memoria EEPROM: 512 Bytes

    Velocidad de reloj: 16 MHz

    Modelos basados en Atmega 168
    En este grupo tenemos el Arduino Diecimila, Arduino Duemilanove y Arduino Nano y Arduino Bluetooth.
    El Arduino Diecimila y Duemilanove son la evolución de Arduino Ng al comenzar a usar el microcontrolador ATmega168.

    El arduino Nano se caracteriza por su tamaño reducido, Arduino bluetooth es un modelo especial que incluye un bluetooth en lugar de usb tanto para su programación como para su comunicación.




    Características de ATmega 168:
     Microcontrolador: ATmega168
    Voltaje de operación: 5V
    Voltaje de alimentación: 7-12V
    Memoria Flash: 16 Kbytes 2Kbytes para bootloader
    Memoria SRAM: 1 KBytes
    Memoria EEPROM: 512 Bytes
    Velocidad de reloj: 16 MHz

    Modelos basados en Atmega 328
    En este grupo tenemos el Arduino Uno, LilyPad, Fio, BT, Ethernet, Pro, Mini , Pro Mini y Nano.
    El modelo de Arduino uno es posiblemente el modelo más extendido en el ambito de la educación, el Arduino Lilypad tiene la particularidad de estar diseñado para ser cocido en prendas de vestir, su única desventaja es que no dispone de programador usb integrado.

    El Arduino ethernet es un modelo diseñado con puerto rj45 para conexión a un router y actuar sobre el desde internet, Arduino bluetooth es un modelo especial, igual que su antecesor con Atmega168 pero con más memoria, incluye un bluetooth en lugar de usb tanto para su programación como para su comunicación.


    Características de ATmega 328
    Microcontrolador: ATmega328
    Voltaje de operación: 5V
    Voltaje de alimentación: 7-12V
    Memoria Flash: 32 Kbytes 2 Kbytes para bootloader
    Memoria SRAM: 2 KBytes
    Memoria EEPROM: 1 KBytes
    Velocidad de reloj: 16 MHz

    Modelos basados en Atheros

    En este grupo tenemos el Arduino Yún, la característica más destacable de esta placa es el disponer de conexión wifi y ethernet gracias al Atheros y las mismas funcionalidades de un Arduino Leonardo.
    Características de Arduino Yún
    ·         Microcontrolador: Atheros AR9331 MIPS @400MHz
    ·         Voltaje de operación: 3.3V
    ·         Voltaje de alimentación: 5V
    ·         Memoria Flash: 16 MBytes
    ·         Memoria RAM: 64 MBytes DDR2
    ·         Memoria SRAM: 2.5 KBytes
    ·         Memoria EEPROM: 1 KBytes
    ·         Velocidad de reloj: 16 MHz
    ·         Ethernet: IEEE 802.3 10/100Mbit/s
    ·         WiFi: IEEE 802.11b/g/n
    ·         Ranura micro Sd: Si
    ·         Usb Host: Si
    ·         Usb: Usb para programación
    ·         Botón: Reset

    ·         Curie
    El Arduino 101 es el último que ha salido al mercado, pretende convertirse en el sustituto de arduino uno, con este microcontrolador Intel espera posicionarse en el mundillo de los micro-controladores.
    Características de Arduino 101
    ·         Microcontrolador: Intel Curie 32-bit
    ·         Voltaje de operación: 3.3V tolera 5V
    ·         Voltaje de alimentación: 7-12V
    ·         Memoria Flash: 196 Kbytes
    ·         Memoria SRAM: 24 KBytes
    ·         Velocidad de reloj: 32 MHz
    ·         Digital I/O : 14
    ·         Canales PWM: 4
    ·         Entradas analógicas : 6
    ·         Corriente máxima por I/O Pin: 4 mA
    ·         Usb: Usb para programación
    ·         Botón: Reset
    ·         Bluetooth LE: Si
    ·         Acelerómetro/Giróscopo de 6 ejes: Si


    3. EVIDENCIA DE TAREAS EN LABORATORIO:

    3.1 EVIDENCIA DE MATERIALES UTILIZADOS 





    3.2 EVIDENCIA DE CIRCUITOS REALIZADOS 





    3.3 VÍDEO



    4. OBSERVACIONES:
    • El lenguaje de programación que emplea Arduino es muy similar a C++.
    • Arduino nos permite crear proyectos de electrónica de una manera sencilla  y eficaz
    • Arduino dispone de un IDE para prácticamente todas las plataformas (Windows, Mac, Linux, etc…)
    • Arduino cuenta con una lista interminable de aplicaciones.
    • Puede utilizarse para desarrollar programas autónomos puede ser conectado a otros software como Adobe Flash, Processing, Max/MSP.
    • Arduino también nos ofrece escudos, accesorios e impresoras 3d.  
    • Podemos observar que mediante el programa mblock podemos hacer funcionar el arduino genuino uno como esclavo.
    5. CONCLUSIONES
    • Arduino es una plataforma de código abierto que permite el poder simplificar el proceso de trabajo con micro controladores.
    • Arduino es una herramienta para la toma de los equipos que pueden detectar y controlar mas del mundo físico como sensores, luces y servomotores.
    • La configuración e instalación son pasos muy fáciles para poder desarrollar sobre el arduino.
    • Al utilizar el programa de arduino podemos crear programaciones para encender leds , mover servos, mostrar letras en una pantalla LDC, etc.
    • Concluimos que al utilizar el programa mblock podemos realizar la programación de arduino de manera mas practica y fácil.
    • Concluimos que mediante el programa mblock pudimos mandar ordenes al arduino y así poder controlarlo como un esclavo.
      FOTO GRUPAL 


      -Wilson Puma Yucra
      -Alonzo Mendoza Aguilar
      -Erick Rafael Belizario Zoto