Práctica Dirigida 1

Desarrollo de Práctica Dirigida 1

En esta práctica se hace uso de los diferentes sensores y actuadores de la  Circuit Playground. 

Sensores digitales:

Son aquellos que se basan en valores lógicos, ya sea como falso o verdadero. Los botones reportan si está precionado o no y en el caso del interruptor si está del lado derecho o izquierdo.

Sensores Análogos:

Reportan valores entre 0 y 1023. Reportan valores que capturan del ambiente. Luz, Temperatura,
Sonido, entre otros.




Realizando la Práctica: 


Para realizar la práctica es necesario incluir las librerías de Adafruit Circuit Playground.
 

Programando  Los Botones de Contacto:


En esta parte de la práctica, se debe realizar la declaración de las variables para el botón derecho e izquierdo del Circuit Playground.
Posteriormente, programar para que imprima los valores de cada botón según corresponda en el .

Dentro de la programación se agrega el código para que  la aplicación capture el valor de cada botón y muestre si está presionado o no; lo cual será con los valores  0 correspondiente a apagado y 1 que corresponde a encendido.
Para ejecutar la aplicación se requiere llamar los procedimientos  lo cual se hace desde  void loop.

Programando El Interruptor:


Primero creamos el Procedimiento en el módulo loop .

Realizamos la declaración de la variable entera en el  procedimiento que creamos, seguido del algorismo para programar el interruptor en la Circuit Playground. int valor_interruptor 

Posteriormente, programar una condicional y para que imprima lo que reporta en el monitor serial si está del lado derecho o izquierdo. = CircuitPlayground.slideSwitch();

Se agrega un valor de comparación de la condicional. para que  indique de que lado está el interruptor utilizando el Serial.println. Y se programa para saber el lado.

Para ejecutar la aplicación se requiere llamar los procedimientos  lo cual se hace desde  loop.



Programando  El Sensor de Luz:


Primero creamos el Procedimiento en el módulo loop.



Realizamos la declaración de la variable entera en el  procedimiento que creamos, seguido del algorismo para programar el sensor  en la Circuit Playground.

int valor_luz= CircuitPlayground.lightSensor()



Posteriormente, se programa para que imprima en el monitor serial la intensidad de la luz.

Serial.print("Valor detectado de luz")



Se programa para que  indique el valor de la intensidad de la luz utilizando el Serial.println.

 

Para ejecutar la aplicación se requiere llamar los procedimientos  lo cual se hace desde  loop.
 


Programando  El Sensor de Sonido:

Primero creamos el Procedimiento en el módulo loop .

Realizamos la declaración de la variable entera en el  procedimiento que creamos, seguido del algorismo para programar el sensor  en la Circuit Playground.
int valor_sonido= CircuitPlayground.soundSensor()

Posteriormente, se programa para que imprima en el monitor serial la intensidad del sonido.
 Serial.print("Valor detectado de sonido")

Se programa para que  indique el valor del sonido utilizando el Serial.println. 

Para ejecutar la aplicación se requiere llamar los procedimientos  lo cual se hace desde  loop.

Programando  El Sensor de Temperatura:

Primero creamos el Procedimiento en el módulo loop .

Realizamos la declaración de la variable entera en el  procedimiento que creamos, seguido del algorismo para programar el sensor  en la Circuit Playground.
int valor_temperatura= CircuitPlayground.temperature()

Posteriormente, se programa para que imprima en el monitor serial la temperatura.
Serial.print("Valor detectado de temperatura")

Se programa para que  indique la temperatura utilizando el Serial.println. 

Para ejecutar la aplicación se requiere llamar los procedimientos  lo cual se hace desde  loop.


Código Utilizado:

 #include <Adafruit_CircuitPlayground.h>
#include <Adafruit_Circuit_Playground.h>

void setup()
{
Serial.begin(9600);

}

void loop() //Llamar Procedimientos
{
  //sensor_botones_contacto();//Procedimiento para Botones
 // sensor_interruptor();
 //sensor_luz();
 //sensor_sonido();
 sensor_temperatura();
}
void sensor_botones_contacto()
{
  int valor_botonderecho=CircuitPlayground.rightButton();
  int valor_botonizquierdo=CircuitPlayground.leftButton();
  Serial.print("valor del boton derecho: ");
  delay (500);
  Serial.println(valor_botonderecho);
  delay (500);
  Serial.print("valor del boton izquierdo: ");
  delay (500);
  Serial.println(valor_botonizquierdo);
  delay (500);
  }
//Procedimiento para Interruptor
void sensor_interruptor()
{
  int valor_interruptor = CircuitPlayground.slideSwitch();
  if (valor_interruptor==0)
  {
 Serial.print("Posición del interruptor: derecho");
 Serial.println();
 delay (500);
 }
 else
 {
 Serial.print("Posición del interruptor: izquierdo");
 Serial.println();
 delay (500);
  }
}
//Procedimiento para el Sensor de Luz
void sensor_luz()
{
 int valor_luz= CircuitPlayground.lightSensor();
 Serial.print("Valor detectado de luz");
 Serial.println(valor_luz);
 delay (500);
}
//Procedimiento para el Sensor de Sonido
void sensor_sonido()
{
 int valor_sonido= CircuitPlayground.soundSensor();
 Serial.print("Valor detectado de sonido");
 Serial.println(valor_sonido);
 delay (500);
}
//Procedimiento para el Sensor de Temperatura
void sensor_temperatura()
{
 int valor_temperatura= CircuitPlayground.temperature();
 Serial.print("Valor detectado de temperatura");
 Serial.println(valor_temperatura);
 delay (500);
}

Problemas Encontrados:

Entre las principales situaciones que se presentaron en la práctica están :

Problemas de Síntasis: 
En la programación el software de Arduino es muy estricto en la escritura de ciertos comandos,  el uso de minúscula o mayúscula puede generar algún error, al igual que el uso de los signos.
Problema de tiempo:

Error en la Circuit Playground: 
Un problema común que se presentó fue que al querer observar el  monitor serial decia que el puerto donde estaba conectada la Circuit Playground no se econtraba.


El tiempo de Establecido:
Otra situación fue el tiempo puesto que no lo establecido para el trabajo en lo personal no me alcanzó y tuve que emplear tiempo extra.


Reto Realizado:

 

Código Utilizado:

#include <Adafruit_CircuitPlayground.h>
#include <Adafruit_Circuit_Playground.h>

void setup() {
CircuitPlayground.begin ();
Serial.begin(9600);
}

void loop()
{
int inclinacion_izquierda =CircuitPlayground.motionY();

Serial.print ("valor de Y: ");
Serial.println (inclinacion_izquierda);
delay (500);
if (inclinacion_izquierda>2)
{
  CircuitPlayground.setPixelColor(0,255,0,255);                                 
  CircuitPlayground.playTone(100, 1000 );                                       
 }
else
CircuitPlayground.setPixelColor (0, 0);
}

 

 Vídeo de Práctica Circuit Playground