DESARROLLO PRACTICA 2
La actividad consiste en:
Teniendo en cuenta las siguientes tarjetas de desarrollo como Arduino, Raspberry Pi o ST
seleccionan una de ellas y desarrollan la solución al siguiente problema:
Utilizando un sensor de Movimiento PIR con lente Fresnel detectar el movimiento de un
objeto que se encuentre en un espacio determinado (Pueden configurar dicho rango
utilizando el Datasheet del dispositivo), determinar con 3 leds a que distancia se encuentra
del circuito, para ello van a utilizar un sensor de ultrasonido que determina a que distancia
se encuentra el objeto, para el LED verde es porque el objeto se encuentra más lejos, para el
LED amarillo el objeto se encuentra a una distancia media
Componentes:
Sensor PIR Fresnel:
[ CITATION dua21 \l 9226 ]
Este sensor detecta el movimiento de personas hasta 6 metros (En este caso trabajamos a
distancia máxima de 600Cm) de distancia mediante el uso de una lente de Fresnel y el
elemento sensible al infrarrojo para detectar cambios en los patrones infrarrojos emitidos
por los objetos en su cercanía.
Sensor Ultrasonido HC-SR04:
[ CITATION nay21 \l 9226 ]
Es un sensor de distancia de bajo costo que utiliza ultrasonido para determinar la distancia
de un objeto en un rango de 2 a 450 cm.
Posee dos transductores: un emisor y un receptor piezoeléctricos, además de la electrónica
necesaria para su operación. El funcionamiento del sensor es el siguiente: el emisor
piezoeléctrico emite 8 pulsos de ultrasonido(40KHz) luego de recibir la orden en el pin
TRIG, las ondas de sonido viajan en el aire y rebotan al encontrar un objeto, el sonido de
rebote es detectado por el receptor piezoeléctrico, luego el pin ECHO cambia a Alto (5V)
por un tiempo igual al que demoró la onda desde que fue emitida hasta que fue detectada, el
tiempo del pulso ECO es medido por el microcontrolador y así se puede calcular la
distancia al objeto.
Arduino Uno:
[ CITATION Ard21 \l 9226 ]
Es una placa basada en el microcontrolador ATmega328P. Tiene 14 pines de entrada/salida
digital (de los cuales 6 pueden ser usando con PWM), 6 entradas analógicas, un cristal de
16Mhz, conexión USB, conector Jack de alimentación, terminales para conexión ICSP y un
botón de reseteo. Tiene toda la electrónica necesaria para que el microcontrolador opere,
simplemente hay que conectarlo a la energía por el puerto USB
Display 7 segmentos 16x2 LM016L:
Display de dos líneas de 16 caracteres
Potenciómetro:
En este caso como se va a realizar la simulación utilizamos el potenciómetro conectado al
sensor ultrasonido para simular la distancia de recepción del sensor.
Diodos LED:
Los utilizamos para indicar la distancia reflejada por sensores.
Código en arduino:
Como primer paso definimos las constantes de los componentes a utilizar con sus
respectivos puertos y la librería LiquidCrystal para el display16x2
Configuramos los pines del display y declaramos las variables del display
Configuramos los pines de entradas y salidas
Ahora configuramos la parte de lectura del sensor PIR, esta parte se ponen los comandos
que se ejecutaran en nuestro arduino Uno
Ahora cambiamos el estado de los leds
Acontinuacion realizamos un retardo en microsegundos del Trigger (pintrig) el cual manda
un pulso de ultrasonido
Las siguientes lineas corresponden a la respuesta de pulseIn es decir espera a que el pin
ECO del sensor pase a nivel HIGH. Devuelve la longitud del impulso en microsegundos o
si no se recibe un pulso completo dentro del tiempo de espera.
Lineas para imprimir información en display 16x2
Ya por ultimo configuramos las condicionales para el rando de distancias para cada led
Código Completo:
// Practica 2, movimiento sensor de movimiento PIR
// Nelson Pineda
// Grupo: 309696_50
#include<LiquidCrystal.h>
#define pintrig 7
#define pineco 6 //pin sensor ultrasonido
#define ledgreen 8 // led verde
#define ledyellow 9 // led Amarillo
#define ledred 10 // led rojo
#define spir 13 // pin sensor PIR
LiquidCrystal lcd (12,11,5,4,3,2); //conf pines del display
int distancia;
int tiempo; // declaramos variables del display
int pir;
// configuramos los pines de entradas y salidas
void setup() {
lcd.begin(16,2);
pinMode (pintrig,OUTPUT);
pinMode (pineco,INPUT);
pinMode (ledgreen,OUTPUT);
pinMode (ledyellow,OUTPUT);
pinMode (ledred,OUTPUT);
pinMode (spir,INPUT);
void loop() {
pir=digitalRead(spir); // Linea de lectura del sensor PIR
if (pir ==HIGH)
// lcd.clear();
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(" ");
digitalWrite(ledgreen,LOW); // cambio de estaDo led on
digitalWrite(ledyellow,LOW);
digitalWrite(ledred,LOW);
if (pir==LOW)
digitalWrite(pintrig,LOW);
delayMicroseconds(2); // retardo en Ms
digitalWrite(pintrig,HIGH);
delayMicroseconds(10);
digitalWrite(pintrig,LOW);
tiempo = pulseIn (pineco,HIGH);
distancia = (tiempo/2)/29;
//distancia = (tiempo)/59;
if (distancia <= 2||distancia >=600)
lcd.print(" ");
else
lcd.clear();
lcd.setCursor(0,0);
lcd.print("La Distancia es:");
lcd.setCursor(0,1);
lcd.print(distancia);
lcd.print("cm");
delay (100);
if (distancia >= 350&&distancia <= 500)
digitalWrite(ledgreen,HIGH);
digitalWrite(ledyellow, LOW);
digitalWrite(ledred, LOW);
if (distancia >= 150&&distancia <= 349)
digitalWrite(ledgreen,LOW);
digitalWrite(ledyellow,HIGH);
digitalWrite(ledred, LOW);
if (distancia >= 2&&distancia <= 149)
digitalWrite(ledgreen,LOW);
digitalWrite(ledyellow, LOW);
digitalWrite(ledred, HIGH);
}
Simulación en PROTEUS:
Enlace del Video explicativo:
https://www.youtube.com/watch?v=p6OiHIdL3kY
Bibliografía
Arduino. (2021). Arduino uno. Obtenido de https://arduino.cl/arduino-uno/
dualtronica. (2021). Sensor pir piroelectrico hc-sr501. Obtenido de
https://dualtronica.com/sensores/72-sensor-pir-piroelectrico-hc-sr501.html
naylampmechatronics. (2021). Sensor Ultrasonido HC-SR04. Obtenido de
https://naylampmechatronics.com/sensores-proximidad/10-sensor-ultrasonido-hc-
sr04.html