miércoles, 8 de noviembre de 2017

Práctica Dirigida 1

 Sensores y Actuadores con la Circuit Playground 



En esta práctica dirigida 1 se realizan ejercicios de programación en el Programa de Arduino y la tarjeta CircuitPlayground, donde se programan los Sensores Análogos como el de luz, sonido y temperatura, también se programan los botones y el interruptor.
En esta página Observarás los vídeos y la programación de la Práctica dirigida 1, también el vídeo y la Programación de la solución al Reto 1.

    Programación de un neopíxel junto con un tono.

   Imagen de la Programación.



Explicación de la Programación

(Imagen de arriba):

#include <Adafruit_Circuit_Playground.h>// inclusión de la librería de la tarjeta.

void setup() // Inicialización y Ejecución de las Instrucciones.
{

 Serial.begin(9600); Inicia la comunicación con el monitor serial.

}
void loop() // Se empieza un procedimiento que ejecuta las tareas asignadas.
{

CircuitPlayground.setPixelColor(0,255,0,255); enciende un neopíxel de color.

CircuitPlayground.playTone(100,1000); enciende un tono en la tarjeta.


delay(1000); espera a que transcurra el tiempo que hayas establecido y ejecuta la siguiente instrucción.

Video




Programación de los botones de contacto, del interruptor, del sensor de luz, de sonido y del sensor de temperatura.



                                                                                                    Imagen de la Programación.


Explicación de la Programación

#include <Adafruit_Circuit_Playground.h>// inclusión de la librería de la tarjeta

void setup() // se inicializa el monitor setup
{

 Serial.begin(9600);
}

void loop() // Se crea un procedimiento para 5 sensores
{
 sensor_botones_contacto(); // Sensores Digitales reportan verdadero o falso, reporta si el botón está presionado o no.

sensor_interruptor(); // Sensor reporta si la tarjeta está del lado derecho o izquierdo

//Sensores Analógicos que reportan valores entre 0 y 1023. Entre menos luz o sonido los rangos estarán más cerca de 0

sensor_luz();
sensor_sonido();
//sensor_temperatura();
}






  Imagen de la Programación.



Explicación de la Programación


/////procedimiento para interruptor

void sensor_interuptor()//Corresponde al nombre del procedimiento
{
int valor_interruptor = CircuitPlayground.slideSwitch();//Es una Variable para capturar el valor del sensor y un algoritmo para saber en que posición está el interruptor
if  (valor_interruptor ==0) //condicional para valorar el valor de la variable y según reporta si está en el lado derecho o izquierdo

{
Serial.print("posición del interruptor: derecho");
Serial.println();
delay(500);
}
else
{
Serial.print("posición del interruptor: izquierdo");
Serial.println();
delay(500);
}




                                                                                                                             Imagen de la Programación.




Explicación de la Programación



//////procedimiento para botones

void sensor_botones_contacto()// Corresponde al nombre del procedimiento del que se desea crear
{
int valor_botonderecho=CircuitPlayground.rightButton();//instrucción con el algoritmo del sensor
 int valor_botonizquierdo=CircuitPlayground.leftButton();//derecho e izquierdo
Serial.print("Valor del boton derecho: ");// se imprime el valor que reporta cada variable
delay(500);//
Serial.println(valor_botonderecho);
delay(500);
Serial.print("Valor del boton izquierdo: ");
delay(500);
Serial.println(valor_botonizquierdo);
delay(500);

 }



Imagen de la Programación.




Explicación de la Programación



/////procedimiento para sensor luz

void sensor_luz()//Es el nombre del procedimiento
{

int valor_luz = CircuitPlayground.lightSensor();//Se declara una variable local que se llama valor_luz
Serial.print("Valor detectado de luz ");//Se asigna lo que el sensor de luz detecte
Serial.println(valor_luz);//se imprime en el monitor serial lo que se detecte, que se almacena en la variable valor_luz
delay(500);
}
_________________________________________________________________________________

////Procedimiento para sensor de sonido
void sensor_sonido()// Es el nombre de procedimiento.
{
 int Valor_Sonido = CircuitPlayground.soundSensor();// detecta cuan intenso es un sonido
Serial.print("Valor detectado de sonido: ");
Serial.println(Valor_Sonido );
delay(500);
}

_________________________________________________________________________________


//////Procedimiento para sensor de temperatura

void sensor_temperatura()// Es el nombre del procedimiento
{
int Valor_temperatura = CircuitPlayground.temperature();//creación de variable que detecta en el ambiente
Serial.print("Valor detectado de temperatura: ");
Serial.println(Valor_temperatura );
delay(500);
}

_________________________________________________________________________________


Video




Solución a los Retos


Programación Reto1

El reto 1 consiste en encender un neopíxel cuando la CircuitPlayground se incline hacia la derecha.


                                                                                                                             Imagen de la Programación.

Explicación de la Programación

#include <Adafruit_CircuitPlayground.h> Realiza la inclusión de la librería de la tarjeta
#include <Adafruit_Circuit_Playground.h>


void setup (){  Inicialización y Ejecución de las Instrucciones

 CircuitPlayground.begin(); //  Inicia la tarjeta

 Serial.begin(9600); // Establece la velocidad de los datos
 }
void loop()
 {   
 int inclinacion_derecha = CircuitPlayground.motionY(); // Va a devolver el valor de un punto en movimiento para este caso Y 

Serial.print("valor de Y; "); // Imprime los datos al puerto serie en en este caso lo que tenemos entre ""

delay(500); // tiempo de espera (medio segundo)

Serial.println (inclinacion_derecha); //se van a imprimir los datos dados en el puerto serie inclinado hacia la derecha.

delay (500);

 if(inclinacion_derecha>2)
{
CircuitPlayground.setPixelColor(6, 200); //tenemos el neopixel #6 que se enciende mostrando el color led azul.

 CircuitPlayground.playTone(500,150); // El altavoz de la  CircuitPlayground emite un pitido de 500 Hz y durante milisegundos.
   
 }

else

{

}
CircuitPlayground.setPixelColor(6, 0);

}

Video


Acelerómetro



No hay comentarios:

Publicar un comentario