CLASE# 3 (ROBÓTICA): 3RA UNIDAD
Individual #1: Detector de movimiento
Materiales
- Resistencia
- Cables
- Arduino
- Protoboard
- Led
- Sensor PIR
Conexión
Programación
void setup()
{
pinMode(2, OUTPUT);
pinMode(4, INPUT);
}
void loop()
{
int value= digitalRead(4);
if (value == HIGH)
{
digitalWrite(2, HIGH);
}
else
{
digitalWrite(2, LOW);
}
}
Resultado
A mí me quedó la conexión como se presenta en el dibujo de abajo, gracias a las indicaciones y sugerencias dadas por los profesores de informática, la profesora Rosa Coello. Mi resultado fue satisfactorio, pues logré conectar todos los cables y componentes electrónicos correctamente con ayuda de una imagen de la conexión subida en moodle por nuestros profesores. Además pude entender y cargar correctamente la programación del mismo en mi placa de Arduino UNO, con la ayuda de la profesora Rosa Coello.


Responder las siguientes preguntas:
Responda:
¿Cuáles son los pasos para subir un programa a la placa Arduino?
¿Cuáles son los pasos para subir un programa a la placa Arduino?
- Verificar o compilar
- Herramienta, elegir el tipo de arduino y detectar puerto
- Puerto: COM
- Subir o cargar
¿Ha tenido algún inconveniente?, ¿por qué?, ¿cómo se solucionó?
¿Cuál es la función del programa?
Sí, porque al inicio no se cargaba el programa, pero lo volví a compilar y subir, y se cargó sin problema, solucionándose este problema.
¿Cuál es la función del programa?
El programa detecta el movimiento por medio del PIR, envía una señal al pin 4 de entrada de arduino, si esta señal es 1 entonces arduino activa la salida 2 la cual enciende un led, caso contrario se apaga el led.
Se pueden utilizar variables para almacenar el pin conectado al PIR y al LED. Cambie el código según corresponda. No olvide que primero se debe declarar las variables globales para poder utilizarlas a lo largo del programa.
int ledpin= 2; // variable global
int PIRpin= 4; // variable global
{
pinMode( ledpin, OUTPUT);
pinMode(PIRpin, INPUT);
}
void loop()
{
int value= digitalRead(PIRpin);
if (value == HIGH)
{
digitalWrite( ledpin, HIGH);
}
else
{
digitalWrite( ledpin, LOW);
}
}
¿Qué usos le puede dar al sensor pir dentro de su maqueta domótica?
Para la detección de intrusos en el jardín de la casa y active alarmas, luces; también para encender la luz de los dormitorios cuando detecte la presencia de personas.
Amplíe su conocimiento:
¿Qué es un sensor PIR?
Los sensores infrarrojos pasivos (PIR) son dispositivos para la detección de movimiento.Se basan en la medición de la radiación infrarroja. Todos los cuerpos (vivos o no) emiten una cierta cantidad de energía infrarroja, mayor cuanto mayor es su temperatura. Los dispositivos PIR disponen de un sensor piezo eléctrico capaz de captar esta radiación y convertirla en una señal eléctrica.
Una variable es un lugar donde almacenar un dato, tiene un nombre, un valor y un tipo.
¿Qué son variables globales?
Una variable global es aquella que puede ser vista y utilizada por cualquier función y estamento de un programa. Esta variable se declara al comienzo del programa, antes de setup().
Al declarar una variable global, está un espacio en memoria permanente y el mal uso de variables globales supone un uso ineficiente de la memoria.
¿Qué son variables locales?
Una variable local es aquella que se define dentro de una función o como parte de un bucle. Sólo es visible y sólo puede utilizarse dentro de la función en la que se declaró. Por lo tanto, es posible tener dos o más variables del mismo nombre en diferentes partes del mismo programa que pueden contener valores diferentes, pero no es una práctica aconsejable porque complica la lectura de código.
¿Cuáles son las características de los identificadores de las variables?, tipos de datos.
Las variables se las identifica de acuerdo al tipo de dato que almacena. Para definir una variable debemos escribir primero el tipo, luego un nombre descriptivo y por último podemos asignar un valor inicial, esto último no es obligatorio en la declaración.
tipo nombre = valor; Los tipos de datos pueden ser:
Números
- Enteros
- byte: números sin signo que ocupan hasta 8 bits [0,255]
- (unsigned) int: números enteros de 16 bits, 2 bytes. [-32768, 32767] (unsigned 65535) Uno y en Arduino Due 32 bits, 4 bytes[-2,147,483,648, 2,147,483,647] (unsigned 2,147,483,647).
- word: son varialbes unsigned int
- (unsigned) long: 32 bits, 4 bytes[-2,147,483,648, 2,147,483,647] (unsigned 2,147,483,647).
- Coma flotante (decimales)
- float: variable numérica con coma flotante de 32 bits (4 bytes) [-3.4028235E+38 , 3.4028235E+38]
- double: es igual que los float
Textos
- char: carácter de 1 byte
- string: secuencia de char terminado por null char[5];
Complejos
- array: colección ordenada de variables del mismo tipo. Puede ser de una sola dimensión ([n]) o multidimensional ([n][m]…)
- struct: colección de varias variables de diferentes tipos.
Otros tipos de datos
- boolean: solo toma valores true o false. Ocupan un byte entero.
- void: solo se utiliza en los valores de retorno de las funciones para indicar que esa función no devuelve valor.
- enum: variables para almacenar estados predefinidos. Un ejemplo claro sería los estados de un sensor.
- typedef: este elemento genera un nuevo tipo de variable con el nombre que queramos darle. Se puede utilizar con cualquier tipo de dato que queramos. Veamos un ejemplo:
- union: permite apuntar a dos variables al mismo espacio de memoria.
CONCLUSIÓN:
En conclusión pude aprender mucho mejor a programar un arduino, gracias a esta práctica que tuvimos en robótica. Además aprendí cómo se conecta un nuevo componente electrónico llamado Sensor PIR y la función que este emplea, la cual es detectar movimiento. El componente nuevo que aprendimos en esta clase me pareció muy interesante por su función, la cual era muy particular y nueva para mí; yo antes había visto el sensor de humedad, el cual tiene como función detectar cuan húmeda esta alguna superficie, pero nunca había conocido un componente que detectase el movimiento de alguna cosa u objeto. Esta clase me pareció muy atrayente, ya que para mí este tema de usar materiales electrónicos y hacer que algo se prenda o se active por la electricidad, me parece algo emocionante e interesante en todos sus aspectos.
LOGROS Y DIFICULTADES:
Una de las dificultades que tuve fue entender bien cómo conectar al protoboard el componente nuevo que añadimos. Porque yo sabía que si lo ubicaba mal, toda la conexión iba a salir mal y no funcionaría al cargarle la programación al Arduino UNO, hasta se podía dañar algún otro componente al conectar al Arduino a la computadora y darle corriente a toda la conexión. Uno los logros fueron que al final pude entender bien, y gracias a eso pude realizar muy bien toda la programación y conexión del mismo. Además logré entender qué es un Sensor PIR y cuál es su funcionamiento. Pude superar todas mis dificultades gracias a la ayuda y sugerencias dadas por la miss Rosa Coello. Pues ella vio lo que tenía mal, me explicó porque estaba haciéndolo mal y me dijo como hacerlo de forma correcta; ya que al inicio me confundí un poco al conectar el Sensor PIR, pues conecté al revés algunos de los cables que conectaban a este componente con el protoboard.
¿QUÉ ME PREGUNTO?:
Unas de las cosas que me pregunto, es que, cuando me toque realizar la conexión nuevamente en clase me acordaré de todas las sugerencias dadas por la miss Rosa y el funcionamiento correcto del componente nuevo que aprendimos llamado Sensor PIR. Para que el proyecto de la casa domótica, que es una calificación, salga de la mejor forma.
BIBLIOGRAFÍA:
- Llamas, L. (2015). Detector de movimiento con Arduino y Sensor PIR. Recuperado de https://www.luisllamas.es/detector-de-movimiento-con-arduino-y-sensor-pir/
- TECNOSeguro (s.f). Qué es un detector de movimiento pasivo o PIR y cómo funcionan los sensores de movimiento. Recuperado el 10 de agosto de 2019 desde https://www.tecnoseguro.com/faqs/alarma/que-es-un-detector-de-movimiento-pasivo-o-pir
- Capítulo 6: Definición y uso de funciones (s.f). Variables locales y globales. Recuperado el 10 de agosto de 2019 desde http://decsai.ugr.es/~jfv/ed1/c/cdrom/cap6/cap62.htm
- Hernández, L. (s.f). Tipos de datos en Arduino. Recuperado el 10 de agosto de 2019 desde https://programarfacil.com/blog/arduino-blog/tipos-de-datos-en-arduino/



Comentarios
Publicar un comentario