Proyecto final Arduino
En este espacio se compartirá el proceso del proyecto final.
1. Imágenes Plantilla Inspiración
Etapa 2
La segunda Etapa: Implementación, contempla dos
momentos: Prototipar y Evaluar
Por favor complete los siguientes aspectos:
Prototipar
Recordemos que en la estrategia de resolución de
problemas Design Thinking, este momento de Prototipar implica convertir la idea
o solución propuesta en un
prototipo digital o físico, para efectos de este curso un
modelo electrónico y programado.
Los prototipos pueden incluir otros materiales como
papel, cartón, plastilina o bloques de lego, que le den una mejor apariencia.
Pueden ser materiales económicos, y mejorar la calidad conforme se vea que
mejora su funcionamiento.
Con base a lo anterior dibuje un boceto sencillo en el
que explique: Las partes de su Proyecto Final y su posible funcionamiento.
|
Boceto: escanear o incluir fotografía
|
|
Requerimientos del prototipo interactivo
Condiciones electrónicas
·
Controlado con Circuit
PlayGraound y Breadbord
·
2 sensores
diferentes como mínimo.
·
2 actuadores
diferentes como mínimo
Condiciones de
programación
·
Uso de librerías
·
Funciones o
procedimientos personalizados mínimo uno (además del loop y set up)
·
Uso de variables
·
Uso de
estructuras condicionales.
|
Descripción de la solución del boceto:
|
|
¿Cuál es la solución?
Crear un programa donde el
estudiante pueda aprender los colores primarios, por medio de unas tarjetas dinámicas
.
¿Cómo se espera que funcione?
Cuando el estudiante toque
la tarjeta de acuerdo al color que la docente le solicite se encenderán los
neopixeles de acuerdo al color solicitado y saldrá un tono.
¿Qué tarea realiza cada uno
de sus actuadores y sensores?
Actuadores: los neopixeles
se encienden cuando hace contacto con la tarjeta reciben el mensaje de encender
todos de un mismo color.
Sensor: tacto se ejecuta
para que los neopixeles se enciendan y de una tonada.
Evaluar
Este
momento del Desing Thinking es en el que se realizan pruebas con los prototipos
realizados. Para esta estrategia de resolución de problemas, se trata de llevar
el prototipo al cliente con la finalidad de obtener insumos que permitan
evaluar si llena o no sus expectativas, o para que arroje información que
podría ser valiosa para
Desarrollar
versiones que incluyan futuras mejoras. Es un momento esencial porque ayuda a
identificar errores y posibles carencias.
Es
posible que implique regresar a la implementación y mejorar el prototipo
pensando, o inclusive replantear la solución en el momento de Idear.
Para efectos de este
curso, solo estaremos registrando 3 problemas que se hayan podido resolver
DURANTE el desarrolla del prototipo. Evidentemente, no podremos hacer pruebas
con clientes, pero igualmente dejaremos un registro de las situaciones problema
que se tuvieron y sus soluciones, con la finalidad de beneficiar a los
compañeros que puedan realimentar el proyecto.
1. Tomando en cuenta lo que implica evaluar, complete la
siguiente tabla:
Descripción del problema en el prototipo
|
Solución desarrollada
|
1.
Que ojala se pudieran importar audios y sonidos,
no solamente por medio de tonadas o melodías.
|
Usar otro tipo de tarjeta, ya que investigue
mucho sobre el tema u es difícil con este tipo de tarjeta por las pocas
cantidades de salida
|
2.
La escritura (sintaxis)
|
Con solo faltar puntos y comas, llaves, uso de
las mayúsculas, no genera erros por lo que se debe de tener mucho cuidado.
|
2. Escriba algunas conclusiones obtenidas
de aprendizaje logradas a través del desarrollo del prototipo interactivo.
a. Se
obtuvieron muchos aprendizajes significativos durante el desarrollo de esta
capacitación, a pesar que en la mayoría de los retos y proyectos me base en la
prueba y error.
b. la programación, la declaración de
variables, en realidad se tiene que estudiar más a fondo para lograr cada uno
de los objetivos propuestos.
3. Escriba algunas fuentes de apoyo
utilizadas para desarrollar el proyecto final.
1. https://learn.adafruit.com/adafruit-circuit-playground-express/circuitpython-audio-out
2. https://cdn-learn.adafruit.com/downloads/pdf/introducing-circuit-playground.pdf
NOTA: Recuerde publicar esta plantilla en
el Álbum de Aprendizaje, siguiendo los lineamientos del documento
Descripción de Álbum de Aprendizaje ubicado en la sección de Documentos de
Apoyo. Luego enviar el URL del Proyecto Final del Álbum de Aprendizaje y en
el casillero de la Unidad 4 habilitado para ello.
#include <Adafruit_Circuit_Playground.h>
int color=0; //se define variable colores
void setup() {
CircuitPlayground.begin(); //se inicializa la tarjeta
Serial.begin(9600); //Se inicializa el monitor serial
int color=0;
pinMode (A9,INPUT);
pinMode (6,INPUT);
pinMode (12,INPUT); //se inicializa el Capacitor #9, 6, 10,12 como entrada de datos
pinMode (10,INPUT);
}
void loop()
{
color=(color+1)%10;
int colores= (digitalRead(A9));
if(colores==1)
// se define el operador si colores es igual a 1 los neopixeles se encienden
{
CircuitPlayground.setPixelColor(0, 255, 0, 0);
CircuitPlayground.setPixelColor(1, 255, 0, 0);
CircuitPlayground.setPixelColor(2, 255, 0, 0);
CircuitPlayground.setPixelColor(3, 255, 0, 0);
CircuitPlayground.setPixelColor(4, 255, 0, 0);
CircuitPlayground.setPixelColor(5, 255, 0, 0);
CircuitPlayground.setPixelColor(6, 255, 0, 0); //enciende los neopixeles de color rojo
CircuitPlayground.setPixelColor(7, 255, 0, 0);
CircuitPlayground.setPixelColor(8, 255, 0, 0);
CircuitPlayground.setPixelColor(9, 255, 0, 0);
CircuitPlayground.playTone(1760, 375); //reproduce una alarma o sonido
delay(10);
}
else
{
CircuitPlayground.clearPixels();
delay (10);
}
{
color=(color+1)%10;
int colores1=(digitalRead(6));
if(colores==1)
{
CircuitPlayground.setPixelColor(0, 255, 255, 0);
CircuitPlayground.setPixelColor(1, 255, 255, 0);
CircuitPlayground.setPixelColor(2, 255, 255, 0);
CircuitPlayground.setPixelColor(3, 255, 255, 0); //enciende los neopixeles de color amarillo
CircuitPlayground.setPixelColor(4, 255, 255, 0);
CircuitPlayground.setPixelColor(5, 255, 255, 0);
CircuitPlayground.setPixelColor(6, 255, 255, 0);
CircuitPlayground.setPixelColor(7, 255, 255, 0);
CircuitPlayground.setPixelColor(8, 255, 255, 0);
CircuitPlayground.setPixelColor(9, 255, 255, 0);
CircuitPlayground.playTone(1760, 375); //reproduce una alarma o sonido
delay(10);
}
else
{
CircuitPlayground.clearPixels();
delay (10);
}
}
{
color=(color+1)%10;
int colores2=(digitalRead(10));
if(colores2==1)
{
CircuitPlayground.setPixelColor(0, 0, 255, 0);
CircuitPlayground.setPixelColor(1, 0, 255, 0); //enciende los neopixeles de color verde
CircuitPlayground.setPixelColor(2, 0, 255, 0);
CircuitPlayground.setPixelColor(3, 0, 255, 0);
CircuitPlayground.setPixelColor(4, 0, 255, 0);
CircuitPlayground.setPixelColor(5, 0, 255, 0);
CircuitPlayground.setPixelColor(6, 0, 255, 0);
CircuitPlayground.setPixelColor(7, 0, 255, 0);
CircuitPlayground.setPixelColor(8, 0, 255, 0);
CircuitPlayground.setPixelColor(9, 0, 255, 0);
CircuitPlayground.playTone(6027, 375); //reproduce una alarma o sonido
delay(10);
}
else
{
CircuitPlayground.clearPixels();
delay (10);
}
}
{
color=(color+1)%10;
int colores3=(digitalRead(12));
if(colores3==1)
{
CircuitPlayground.setPixelColor(0, 0, 0, 255);
CircuitPlayground.setPixelColor(1, 0, 0, 255);
CircuitPlayground.setPixelColor(2, 0, 0, 255);
CircuitPlayground.setPixelColor(3, 0, 0, 255);
CircuitPlayground.setPixelColor(4, 0, 0, 255);
CircuitPlayground.setPixelColor(5, 0, 0, 255); //enciende los neopixeles de color azul
CircuitPlayground.setPixelColor(6, 0, 0, 255);
CircuitPlayground.setPixelColor(7, 0, 0, 255);
CircuitPlayground.setPixelColor(8, 0, 0, 255);
CircuitPlayground.setPixelColor(9, 0, 0, 255);
CircuitPlayground.playTone(229, 375); //reproduce una alarma o sonido
delay(10);
}
else
{
CircuitPlayground.clearPixels();
delay (500);
}
}
}





No hay comentarios:
Publicar un comentario