[go: up one dir, main page]

33% encontró este documento útil (3 votos)
744 vistas4 páginas

Puerta Automática con Sensor Ultrasónico

Este documento describe el funcionamiento de un sensor ultrasónico HC-SR04 para controlar el movimiento de una puerta corrediza. El sensor mide distancias entre 2-500cm y usa ecolocalización de ultrasonido para determinar cuándo abrir o cerrar la puerta. Incluye el código Arduino para controlar un motor que abre la puerta cuando detecta un objeto cerca y la cierra cuando el objeto se aleja.

Cargado por

Samuel Pohez
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
33% encontró este documento útil (3 votos)
744 vistas4 páginas

Puerta Automática con Sensor Ultrasónico

Este documento describe el funcionamiento de un sensor ultrasónico HC-SR04 para controlar el movimiento de una puerta corrediza. El sensor mide distancias entre 2-500cm y usa ecolocalización de ultrasonido para determinar cuándo abrir o cerrar la puerta. Incluye el código Arduino para controlar un motor que abre la puerta cuando detecta un objeto cerca y la cierra cuando el objeto se aleja.

Cargado por

Samuel Pohez
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
Está en la página 1/ 4

PUERTA CORREDIZA CON SENSOR ULTRASONICO HC - SR04

FUNCIONAMIENTO

El sensor ultrasnico, mide y detecta la distancia de un objeto, para que el micro, por medio
de un cdigo, pueda interpretar las mediciones registradas. El rango de medicin del sensor
est entre los 2cm y los 500cm; con un margen de error de 0.3cm. la duracin del pulso,
entre entrada y salida, es de 10 microsegundos.

La frmula para medir las distancias del sensor, es la siguiente: Distancia = (Duracin / 2)
/29

Se coloca entre 29, debido a que la velocidad del sonido en centmetros (ya que el sensor
trabaja en centmetros) es de: 1/29 cm/uS.

El proceso de trabajo del circuito, es el siguiente:

Cuando se acerca un objeto al sensor (entre 3 y seis centmetros), el motor comienza a


trabajar, halando la puerta hacia un lado, abriendo la puerta.

Cuando el objeto es retirado del sensor, el motor se detiene.

Cuando el objeto se aleja, a una cierta distancia (entre 8 y doce centmetros), por medio del
circuito L29D, se invierte el giro del motor, para cerrar la puerta.

PLANO DEL CIRCUITO


CDIGO DEL CIRCUITO

#define Pecho 6
#define Ptrig 7
#define enable 10
long duracion, distancia;
const int motorA = 8;
const int motorB = 9;

void setup() {
Serial.begin (9600);
pinMode(Pecho, INPUT);
pinMode(Ptrig, OUTPUT);
pinMode(motorA, OUTPUT);
pinMode(motorB, OUTPUT);
pinMode (enable, OUTPUT);
}

void loop() {

digitalWrite(Ptrig, LOW);
delayMicroseconds(2);
digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms
delayMicroseconds(10);
digitalWrite(Ptrig, LOW);
digitalWrite(motorA, LOW);
digitalWrite(motorB, LOW);

duracion = pulseIn(Pecho, HIGH);


distancia = (duracion/2) / 29; // calcula la distancia en centimetros

if (distancia >12 || distancia <= 1){ // si la distancia es mayor a 500cm o menor a 0cm
digitalWrite(enable, LOW);
}
if (distancia <= 12 && distancia >= 8){
digitalWrite(enable, HIGH);
digitalWrite(motorA, HIGH); //izquierda
digitalWrite(motorB, LOW);
delay(500);
}
if (distancia <=6 && distancia >= 3){
digitalWrite(enable, HIGH);
digitalWrite(motorA, LOW);
digitalWrite(motorB, HIGH); //derecha
delay(500);
}
}

SEGUNDO CDIGO (OPCIONAL)

#define Pecho 6
#define Ptrig 7
#define enable 10
long duracion, distancia;
const int motorA = 8;
const int motorB = 9;

void setup() {
Serial.begin (9600);
pinMode(Pecho, INPUT);
pinMode(Ptrig, OUTPUT);
pinMode(motorA, OUTPUT);
pinMode(motorB, OUTPUT);
pinMode (enable, OUTPUT);
}

void loop() {

digitalWrite(Ptrig, LOW);
delayMicroseconds(2);
digitalWrite(Ptrig, HIGH); // genera el pulso de triger por 10ms
delayMicroseconds(10);
digitalWrite(Ptrig, LOW);
digitalWrite(motorA, LOW);
digitalWrite(motorB, LOW);

duracion = pulseIn(Pecho, HIGH);


distancia = (duracion/2) / 29; // calcula la distancia en centimetros

if (distancia <= 1 || distancia >400){


digitalWrite(enable, LOW);
}
if (distancia >9 && distancia <=400){
digitalWrite(enable, HIGH);
digitalWrite(motorA, LOW);
digitalWrite(motorB, HIGH); //derecha
delay(1000);
}

if (distancia <=9 && distancia >=7){


digitalWrite(enable, LOW);
}
if (distancia <=6 && distancia >= 3){
digitalWrite(enable, HIGH);
digitalWrite(motorA, HIGH); //izquierda
digitalWrite(motorB, LOW);
delay(4500);
}
}

La explicacin de este segundo cdigo es la siguiente: cuando un objeto es detectado por


el sensor a una distancia entre 3 y seis centmetros, el motor jala la puerta, para que esta
se abra. Luego retiramos el objeto de la vista del sensor, el motor queda detenido, pero
cuando el sensor ha calculado una distancia entre nueve y cuatrocientos centmetros, el
motor empuja a la puerta, para que esta quede cerrada.

También podría gustarte