0% encontró este documento útil (0 votos)
242 vistas13 páginas

Desarrollo Practica 2

La práctica consiste en utilizar un sensor PIR con lente Fresnel para detectar movimiento y un sensor ultrasónico HC-SR04 para medir la distancia de un objeto. Se utilizará Arduino Uno para controlar tres LEDs verde, amarillo y rojo que indicarán la distancia del objeto. El código en Arduino leerá los sensores, calculará la distancia y encenderá los LEDs según rangos de distancia predefinidos para mostrar en un display 16x2.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
242 vistas13 páginas

Desarrollo Practica 2

La práctica consiste en utilizar un sensor PIR con lente Fresnel para detectar movimiento y un sensor ultrasónico HC-SR04 para medir la distancia de un objeto. Se utilizará Arduino Uno para controlar tres LEDs verde, amarillo y rojo que indicarán la distancia del objeto. El código en Arduino leerá los sensores, calculará la distancia y encenderá los LEDs según rangos de distancia predefinidos para mostrar en un display 16x2.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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

También podría gustarte