Arduino + Android con AppInventor ... Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO

  • View
    18

  • Download
    0

Embed Size (px)

Text of Arduino + Android con AppInventor ... Arduino + Android con AppInventor 4 Materiales - 1 Arduino UNO

  • Arduino + Android con AppInventor Abraham Sánchez Hernández

    M a n u a l e s y t u t o r i a l e s

    gob.mx/cultura

    Cultura digital

  • Arduino + Android con AppInventor Abraham Sánchez Hernández

    M a n u a l e s y t u t o r i a l e s

    P A R T E 1

  • Arduino + Android con AppInventor 3

    Sobre este curso

    Esta información es parte de un curso teórico-práctico basado en el uso de Android y Arduino. Considera que para aprovecharla al máximo, es necesario contar con el material solicitado. Si no cuentas con estos elementos, te invitamos a revisarlos y, cuando cuentes con ellos, recurras al Plan de asesorías a proyectos artísticos y de investigación en Arte y Tecnología del Centro Multimedia para solicitar orientación en torno al proyecto a desarrollar (http://cmm.cenart.gob.mx/cursos/asesorias.html).

    Toma en cuenta que la realización de los ejercicios en casa, además de requerir los materiales, queda bajo la responsabilidad de quien decida realizarlos.

    Arduino + Android con AppInventor

    Abraham Sánchez Hernández

  • Arduino + Android con AppInventor 4

    Materiales - 1 Arduino UNO Rev3 (se recomienda usar un Arduino de marca, pero si se cuenta con uno genérico, se pueden instalar los drivers CH340 para su correcto funcionamiento) - 1 Protoboard - 1 Módulo de bluetooth (revisa la parte de módulos incluida más adelante para más información) - 2 LEDs - 2 resistencias de 330 ohms - 2 resistencias de 1k ohm - 1 matriz de NeoPixeles - 2 push-button - 1 potenciómetro - 10 cables Dupont Macho-Macho (recomendable) - 10 cables >Dupont Hembra-Macho (recomendable) - 2 metros de alambre calibre 22 - Un dispositivo con Android y una cuenta de Google

    Aviso sobre el contenido El contenido de este curso fue diseñado para un curso presencial, por lo que hemos adecuado el contenido para su estudio en línea.

    Se han agregado notas para tratar de explicar algunos tópicos donde los alumnos del curso presencial manifestaron más dudas.

    Los temas se han desarrollado secuencialmente, construyendo las actividades sobre las anteriores, por ello, te recomendamos no obviar diapositivas ni saltar temas.

    Puedes recurrir al Plan de asesorías a proyectos artísticos y de investi- gación en arte y tecnología del Centro Multimedia para solicitar orientación en torno al proyecto que desarrolles.

  • Arduino + Android con AppInventor 5

    ¿Qué es App Inventor? App Inventor es una herramienta intuitiva creada para la programación de aplicaciones funcionales para móviles y tabletas con Android en un entorno completamente visual.

    La programación está basada en agrupación de bloques, un proceso parecido a armar un rompecabezas.

  • Crea tu cuenta en AppInventor

  • ACTIVIDAD 1: INTRODUCCIÓN

    Briefing - Creación de una cuenta de AppInventor - Paseo por la interfaz de AppInventor - Breve introducción a la creación de objetos en la interfaz de diseño - Breve introducción a la programación en la interfaz de desarro- llador - Breve introducción a la programación en Arduino

    PASO 1

    PASO 2

    Arduino + Android con AppInventor 7

  • Arduino + Android con AppInventor 8

    PASO 3

    PASO 4

    PASO 5

  • Arduino + Android con AppInventor 9

    PASO 6

    PASO 7

  • Arduino + Android con AppInventor 10

    PASO 8

  • Arduino + Android con AppInventor 11

    Interfaz de AppInventor

  • Arduino + Android con AppInventor 12

    INTERFAZ DE DISEÑO

    Frontend La interfaz de diseño sirve para generar el Frontend de tu aplicación. Por tanto, esta sección contiene distintas herramientas para generar la apariencia que quieras ver en pantalla.

    Principales Componentes Botón: Este componente efectúa acciones cuando es tocado por el usuario.

    Etiqueta: Es un componente para mostrar texto en pantalla y manipular ese texto de acuerdo a la lógica del programa.

    Imagen: Este componente sirve para mostrar imágenes y manipularlas de acuerdo a la lógica del programa.

    SelectorDeLista: Es un componente parecido al Botón, pero despliega un conjunto de datos en forma de lista.

    Deslizador: Es un componente en forma de barra, se manipula con el dedo o con programación para mostrar una posición dentro de un rango de datos numéricos.

    CampoDeTexto: Este componente sirve para que el usuario introduzca texto y éste pueda ser manipulado dentro del programa

    DisposiciónHorizontal: Es un componente invisible usado para poder organizar y posicionar otros componentes dentro de la pantalla. El horizontal ayuda a disponer los componentes horizon- talmente (como en las filas de una tabla de Excel) y el vertical sirve para disponer componentes verticalmente (como en las columnas de una tabla de Excel).

  • Arduino + Android con AppInventor 13

    ClienteBluetooth: Gestiona las comunicaciones de bluetooth con los periféricos conectados al dispositivo; ya sea para enviar o recibir datos.

    ReconocimientoDeVoz: Este componente utiliza las capacidades del dispositivo para reconocer palabras y convertirlas en texto

  • Arduino + Android con AppInventor 14

  • Arduino + Android con AppInventor 15

    INTERFAZ DE DESARROLLADOR

    Backend La interfaz de desarrollador está estructurada para generar el Backend de tu aplicación. En esta sección es donde puedes programar la lógica del diseño hecho en la interfaz de diseño.

    Principales Componentes Control: En este grupo de bloques se encuentran los condicionantes lógicos como if, for, while.

    Texto: Grupo de bloques para manipular y generar texto o variables de tipo string o char.

    Listas: Es el grupo que correspondería a la manipulación de arrays y grupos de datos

    Procedimientos: Sirve para encapsular grupos de bloques repetidos en varios puntos del programa para evitar volver a agruparlos.

    Matemáticas: Grupo de bloques para la manipulación de números o variables de tipo int, long, float.

    Variables: Sirve para declarar variables. El tipo dependerá de si se carga un bloque de texto o matemático.

  • Arduino + Android con AppInventor 16

    BREVE INTRODUCCIÓN A LA INTERFAZ DE ARDUINO

    ¿Qué necesitas saber? Bibliotecas / “Librerías” Son porciones de código externo que se añaden al entorno de desarrollo para ampliar las posibilidades de programación.

    Void setup () Esta sección sólo se ejecuta una vez; en ella se colocan los objetos de llamada a inicio, se establecen las condiciones de los pines y hasta se ejecuta alguna instrucción de prueba.

    Void loop () Es la base activa del programa. Se repite todo el tiempo mientras esté encendido el dispositivo.

  • Arduino + Android con AppInventor 17

    Principales Instrucciones

    #include: Sirve para incluir bibliotecas en un programa de Arduino.

    pinMode: Establece la condición de los pines; OUTPUT como salida para enviar información e INPUT como entrada para recibir información.

    .begin: Este método inicializa la mayoría de las bibliotecas.

    .setTimeout: Es un método específico de SoftwareSerial, establece el tiempo de espera para recibir información. Un segundo por defecto.

    digitalWrite: Envía información digital (1 y 0) a través de los pines de salida.

    analogWrite: Envía información PWM (modulación por ancho de pulso) por las salidas analógicas (~) del Arduino.

  • Arduino + Android con AppInventor 18

    ACTIVIDAD 2: HELLO WORLD

    Briefing - Conexión Arduino - Bluetooth - Creación de una aplicación para encender LEDs - Bloques necesarios para nuestra aplicación - Programa de Arduino - EXTRA - ¡Actívalo con la voz!

    - Creación de una aplicación para encender un foco - Bloques necesarios - Diagrama necesario - ¡Cuidado!

    ANTES DE EMPEZAR

    ¿Qué debes saber? - Qué tipo de dispositivo bluetooth tienes - El nombre de tu dispositivo bluetooth o cómo obtenerlo si no lo sabes

  • Arduino + Android con AppInventor 19

    Tipos de módulos de Bluetooth

    HC-05 HC-06 HM-10

    HC-05 Es un módulo muy versátil porque puede actuar como central (maestro) o como periférico (esclavo) dependiendo de cómo lo configures. Está configurado de fábrica como esclavo, es decir Role = 0.

    La forma más fácil de distinguir éste del HC-06 es que tiene 6 pines y un botón al pin EN. En la mayoría de ellos, el botón de EN no es necesario, aunque ha habido casos donde no responde a los comandos AT si antes de abrir el monitor serie no aprietas el botón.

    Casi siempre se recomienda adquirir éste en vez del HC-06 debido a que sólo es ligeramente más costoso y ofrece mayores ventajas.

  • Arduino + Android con AppInventor 20

    HC-06 El HC-06 se distingue porque tiene 4 pines y no tiene botón de EN. Esto es importante porque el HC-06 únicamente actúa como periférico, es decir, esclavo.

    Normalmente su velocidad de fábrica se maneja en los 9600 baudios, por tanto, debes cambiar su velocidad a 38400 con ayuda del Arduino para poder utilizarlo con las aplicaciones desarrolladas en AppInventor.

    HM-10 La principal característica de este módulo es la posibilidad de manejar BLE con él, esto significa que maneja bluetoo