Lesson 1 of 0
In Progress

Programando Grove Beginner Kit para Arduino

45-60 min

Intermediate

Ages 14+

¿Que aprenderás?

Aprende a programar cada uno de los módulos del Grove Beginner Kit for Arduino, como la pantalla oled, el botón, el acelerómetro y muchos más sensores, conociendo más acerca de programacion ya que usaremos variables, arrays, funciones, if y mas.

Crear la Consola

Paso 1

Descarga la plantilla, y recorta cada parte de tu consola.

Paso 2

Ensambla con ayuda de tu pegamento en barra, y coloca tu Grove Beginner Kit dentro del centro de tu consola

Un consejo: Nosotros colocamos nuestra batería en uno de los controles, dejando un espacio para conectarlo a nuestra placa. Puedes dejarlo afuera solo recuerda hacer un espacio para tu cable, como el puerto de carga de tu consola.

Paso 3

Abre una ventana en tu consola de papel, al frente de tu placa Grove, al igual que 4 circulo para cada uno de los extremos de esta, después pega los controles a cada lado de tu consola.

Paso 4

Corta tu hoja de acetato, del tamaño de la pantalla de tu consola (donde puedes observar tu Grove Beginner Kit) recuerda sujetar cada extremo de tu hoja a tu placa.

Paso 5

¡Esta lista! ahora toma tu computadora y empieza a programar.

Descargar Archivos

Paso 6

Descarga el driver CP2102 USB Driver para tu sistema operativo, para que la computadora detecte el Arduino.

Paso 7

Entra al siguiente link: MakerCamp-with-MoonMakers—Science-Gam Este es un repositorio en Github, son los archivos digitales del proyecto, el código y las librerías, descargalo.

Paso 8

Abre el zip que descargaste, presiona dos clicks en el archivo “Grove_Starter_Kit.ino”, se abrirá el código de Science Game, ahora agrega las librerías que se encuentran en el zip, Abre el Arduino IDE, ve a “Sketch” – “include Library” y presiona en “Add .ZIP Library” y seleccionamos las 5 carpetas, estas son las librerías del proyecto.

Analizar el Código: Definir Bibliotecas y Variables

Paso 9

La primera sección de la línea 1-7 encuentras la palabra clave, “#include”, esto es para definir cada librería que estás usando en el código.

Abajo encuentras la sección de los símbolos de los sensores, que se mostrarán en la pantalla, de la línea 9-26, estos son constantes ya que no cambiará el diseño.

Paso 10

A continuación (en la línea 28 – 64) se declaran las variables de los actuadores y sensores de luz, sonido, temperatura, humedad, presión atmosférica, acelerómetro, nuestros botones, pantalla y led.

Paso 11

Hay dos versiones de la placa, puedes identificar tu versión, en la parte de arriba del módulo led, si está la palabra D4 es la versión 2, y si es D5 es la versión 1.

Si cuentas con la versión uno, ve a tu código a la línea número 28, y cambia a la versión 1 (#define BoardVersion 1)

Analizar el Código: Funciones

Paso 12

Sigue analizando el código, más abajo se encuentra la canción de victoria.

Defines las notas en la línea 68 – 71, después, en las siguientes líneas, definen los tiempos creando la melodía. Estos son arrays o listas de datos que son muy útiles.

Paso 13

Desde la línea 109 – 135, esta una función que se llama “Checker()”,  que ayuda a revisar el led. La siguiente sección es muy importante para nuestro Arduino “setup()”

Lo que se encuentra en esta función se ejecutara solo un vez, cuando enciendas la placa, iniciando la comunicación de los sensores y los pines que usarás en el proyecto.

Paso 14

A continuación tienes la función “loop()” 

Lo que definamos de la línea 168-225 está dentro de la sección, y se ejecutará siempre que la placa esté funcionando. 

Hay varios “if”, esta es una condición por ejemplo cuando apretes el botón por un periodo de tiempo largo vas a entrar en el menú, luego usarás el potenciómetro para ver las distintas opciones, después seleccionar presionando el botón, activando el sensor elegido.

Sensor Icons

Paso 15

A continuación vemos la función “select_mode()”, que mostrará en la pantalla oled los iconos de los sensores. 

Las siguiente funciones son el sensor de luz (línea 282 – 308), el de presión atmosférica (línea 310 – 327) y temperatura y humedad (línea 329 – 355). Cuando tu seleccionas alguno de estos sensores, leerá el valor del sensor, luego lo colocará en la pantalla, y en la función “Alert()” lo analizara para detectar cuando supere el límite para avisarte que ganaste con el led y el buzzer. 

Paso 16

En cambio para el sensor de sonido, se repite el mismo proceso agregando un filtro al principio. La siguiente función “Acele_show()” Recibe los valores del acelerómetro, después de unas condiciones, se convierte en un giroscopio, colocando esta información en pantalla junto con una esfera que se va a mover en el ángulo, en el que muevas tu consola.

Y la última función “Alert()” que recibe los datos de los sensores, para avisarte que ganaste con el led y reproducir la melodía de victoria con la función “buzz()”.

Descargar Codigo

Paso 17

¡Ya terminaste tu código! Ahora descargalo en tu placa, selecciona “tools” – “placa” y presiona ” Arduino uno”, conecta a tu computadora a la Grove Beginner Kit para Arduino. Después selecciona “tools” – “port” y seleccionas tu placa.

En la parte superior izquierda hay dos botones, presiona la flecha, esperas unos minutos comprobará tu código y lo descarga.

Paso 18

Felicidades ya esta funcionando Science Game, puedes experimentar con todos sus censores, manten presiona el botón y te abrirá el menú, con el potenciómetro muévete en entre los sensores, y ocupa tu botón para seleccionar el sensor que quieras, por último experimenta con este.

¿Qué sigue?

Puedes experimentar cambiando el límite de los sensores para aumentar la dificultad del juego.

Puedes llevar esto más allá, creando un tipo de juego distinto por ejemplo combinando dos o más sensores haciéndolo más complejo, incluir un tiempo límite para resolver el circuito completo de los sensores, o agregar múltiples jugadores y puntajes.

Recursos

Módulos de Science Game

  • Sensor de luz, intenta cubrirlo con tu mano o utiliza una lámpara para aumentar los valores de luz y activar la alerta.

¿Dónde podemos encontrar el sensor de luz?

Este lo encontramos en focos fotosensibles, que se encienden cuando se desvanece la luz natural al anochecer.

  • Sensor de sonido, intenta hacer un sonido fuerte aplaudiendo o hablando

¿Dónde podemos encontrar el sensor de sonido?

Los relojes inteligentes cuentan con sensores de sonido para saber si el lugar donde estás es demasiado ruidoso

  • Sensor de temperatura y humedad, 

¿Para qué utilizan el sensor de temperatura y humedad?

En agricultura ocupan el sensor de temperatura y humedad para obtener datos que permitan la monitorización de parámetros influyentes en el desarrollo de las plantas.

  • Presión atmosférica,

¿Para qué utilizan el sensor de presión atmosférica?

En meteorología, la presión atmosférica es algo muy importante a tener en cuenta en la predicción y el estudio del comportamiento del clima. Las nubes, los ciclones, borrascas, vientos, etc. vienen condicionados en gran parte por los cambios en la presión atmosférica.

  • Acelerómetro,

¿Dónde encontramos un acelerómetro y un giroscopio?

Este sensor se encuentran en drones, mide los ángulos de ubicación de este, mientras vuela. Normalmente, el giroscopio viene incorporado en la misma unidad que el acelerómetro de 3 ejes, de esta manera, el acelerómetro calcula la posición y el giroscopio el ángulo en el que se encuentra.

Vocabulario

Actuadores: es un dispositivo inherentemente mecánico cuya función es proporcionar fuerza para mover o “actuar” en otro dispositivo mecánico.

Sensores: es un dispositivo que está capacitado para detectar acciones o estímulos externos y responder en consecuencia. Estos aparatos pueden transformar las magnitudes físicas o químicas en magnitudes eléctricas.

librerías: El entorno de Arduino se puede ampliar mediante el uso de bibliotecas, al igual que la mayoría de las plataformas de programación. Las bibliotecas proporcionan una funcionalidad adicional para su uso de sus programas, por ejemplo, trabajar con hardware o manipular datos.

array: es una colección finita de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común.

función: es una sección de un programa que calcula un valor de manera independiente al resto del programa

void: La palabra clave “void” se usa sólo en declaraciones de funciones. Indica que se espera que la función no devuelva información a la función desde la que se llamó.

void setup: La función “setup()” se llama cuando comienza un boceto. Úselo para inicializar variables, modos de pin, comenzar a usar bibliotecas, etc. La función “setup()” sólo se ejecutará una vez, después de cada encendido o reinicio de la placa Arduino.

void loop: Después de crear una función setup(), que inicializa y establece los valores iniciales, la función loop() hace precisamente lo que sugiere su nombre y se repite consecutivamente, lo que permite que su programa cambie y responda. Úselo para controlar activamente la placa Arduino.

pinMode: Configura el pin especificado para que se comporte como entrada o como salida.

digitalWrite: Escriba un valor HIGH o LOW en un pin digital.Su voltaje se establecerá en el valor correspondiente: 5V (o 3.3V en placas de 3.3V) para HIGH, 0V (tierra) para LOW.

delay: Pausa el programa durante el tiempo (en milisegundos) especificado como parámetro. (Hay 1000 milisegundos en un segundo).

if: Ejecuta la siguiente declaración o conjunto de declaraciones si la condición es ‘verdadera’.

Diego Francisco June 28, 2021
Soy Maker de tiempo completo e inquieto en saber como funcionan las cosas leal amigo del conocimiento I am a full-time Maker and restless in knowing how things work, loyal friend of knowledge.
Print Project
FEEDBACK