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.
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.
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 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