>> INICIO     

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

  /*  Cap-17 MODULO HC-SR04 - Ultrasonido  */  

 

 

 

  CLASE 

 

 

 

  COMANDOS  

 digitalWrite(TRIG, HIGH);   // Inicio del pulso de Trigger
 delay(1);                                 // Espera 1mS
 digitalWrite(TRIG, LOW);    // Término del pulso

DURACION = pulseIn(ECO, HIGH);   // pulseIn devuelve tiempo
DISTANCIA = DURACION / 58; // 58, tiempo que tarda la onda en recorrer 1 cm.

 

LIBRERÍA NewPing V_1.9.7

Descargue Librería  aquí

Detalles de Constructor y Métodos de la librería, aquí

 

  LAMINAS  

 

  SKETCH Lab -9a

  Medición distancia por Monitor Serial 

/*
__________________________________________________
*** =======> Ing. BRAIN NASER SOTO <======= ***
SENSOR ULTRASONICO HC-SR04
Medición Distancia en cms. por Monitor Serial
Act. 03/09/2022
___________________________________________________

{ } ! < > " [ ]
*/

int TRIG = 12; // trigger en pin 12
int ECO = 10; // echo en pin 10
int DURACION; // Variable para la duración del tiempo de respuesta
int DISTANCIA; // Variable para el cálculo de la distancia

void setup()
{
pinMode(TRIG, OUTPUT); // trigger como salida
pinMode(ECO, INPUT); // echo como entrada
Serial.begin(9600); // inicializacion de comunicacion serial a 9600 bps

}

void loop()
{
digitalWrite(TRIG, HIGH); // generacion del pulso a enviar
delay(1); // al pin conectado al trigger
digitalWrite(TRIG, LOW); // del sensor

DURACION = pulseIn(ECO, HIGH); // pulseIn devuelve tiempo en uS
DISTANCIA = DURACION / 58.2; // distancia medida en centimetros; 58.2 es constante entregada por datasheet
Serial.println(DISTANCIA); // envio de valor de distancia por monitor serial
delay(200); // retardo entre lectturas

}

 

 

 

  SKETCH Lab -9b

  Medición distancia por LCD I2C 

/*
__________________________________________________
*** =======> Ing. BRAIN NASER SOTO <======= ***
SENSOR ULTRASONICO HC-SR04
Medición Distancia en cms.con Display LCD I2C
Act. 03/09/2022
___________________________________________________

{ } ! < > " [ ]
*/
#include <LiquidCrystal_I2C.h> //Carga Libreria
LiquidCrystal_I2C lcd(0x27,16,2); // Inicializa Display

int TRIG = 12; // trigger en pin 12
int ECO = 10; // echo en pin 10
int DURACION;
int DISTANCIA;

void setup()
{
pinMode(TRIG, OUTPUT); // trigger como salida
pinMode(ECO, INPUT); // echo como entrada
Serial.begin(9600); // inicializacion de comunicacion serial a 9600 bps
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(4,0);
lcd.print("PROBANDO");
lcd.setCursor (1,1);
lcd.print("SENSOR HC-SR04");
delay (5000);
lcd.clear();
}

void loop()
{
digitalWrite(TRIG, HIGH); // Inicio del pulso de Trigger
delay(1); // Espera 1mS
digitalWrite(TRIG, LOW); // Término del pulso

DURACION = pulseIn(ECO, HIGH); // pulseIn devuelve tiempo uS, entre Trigger y Eco

// Velocidad del Sionido = 340 m/S ó 29 uS por centímetro
// Dividir el tiempo por 58, tiempo que tarda la onda en recorrer 1 cm.
DISTANCIA = DURACION / 58; // distancia medida en centimetros
Serial.println(DISTANCIA);
lcd.setCursor(0,0);
lcd.print("La distancia es:");
lcd.setCursor(0,1);
lcd.print( DISTANCIA);
lcd.print("cms");

delay(100); // Retardo entre mediciones


}

 

  SKETCH -Lab 9c 

  Medición distancia por LCD I2C + Led y/o Buzzer 

/*
__________________________________________________
*** =======> Ing. BRAIN NASER SOTO <======= ***
SENSOR ULTRASONICO HC-SR04
Medición Distancia con LED.
Act. 03/09/2022
___________________________________________________

{ } ! < > " [ ]
*/
#include <LiquidCrystal_I2C.h> //Carga Libreria
LiquidCrystal_I2C lcd(0x27,16,2); // Inicializa Display
int TRIG = 12; // trigger en pin 12
int ECO = 10; // echo en pin 10
int DURACION;
int DISTANCIA;
int LED =3; // Pin del LED

void setup()
{
pinMode(TRIG, OUTPUT); // trigger como salida
pinMode(ECO, INPUT); // echo como entrada
pinMode (LED, OUTPUT); // Led como Saliuda
Serial.begin(9600); // inicializacion de comunicacion serial a 9600 bps
lcd.init();
lcd.backlight();
lcd.clear();
lcd.setCursor(4,0);
lcd.print("PROBANDO");
lcd.setCursor (1,1);
lcd.print("SENSOR HC-SR04");
delay (3000);
lcd.clear();
}

void loop()
{
digitalWrite(TRIG, HIGH); // Inicio del pulso de Trigger
delay(1); // Espera 1mS
digitalWrite(TRIG, LOW); // Término del pulso

DURACION = pulseIn(ECO, HIGH); // pulseIn devuelve tiempo

// Velocidad del Sionido = 340 m/S ó 29 uS por centímetro
// Dividir el tiempo por 58, tiempo que tarda la onda en recorrer 1 cm.
DISTANCIA = DURACION / 58; // distancia medida en centimetros
Serial.println(DISTANCIA);
lcd.setCursor(0,0);
lcd.print("La distancia es:");
lcd.setCursor(0,1);
if (DISTANCIA < 10){
lcd.print (" ");
}
lcd.setCursor(0,1);
lcd.print(DISTANCIA);
lcd.print("cms");
delay(100); // Retardo entre mediciones
if (DISTANCIA <= 20 && DISTANCIA >=0){
digitalWrite (LED, HIGH);
delay (DISTANCIA * 10);
digitalWrite (LED, LOW);
}

}