Está en la página 1de 9

UNIVERSIDAD TÉCNICA DEL NORTE

Facultad de Ingeniería en Ciencias Aplicadas


Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018
Práctica

Tema: SENSOR ULTRASONICO

Objetivos:

 Conocer el modo de funcionamiento del sensor ultrasónico, así como la


forma de conectar sus pines y el uso que se le puede dar en la vida práctica
 Aprender nuevos códigos de programación para aprender a realizar
trabajos de una manera más corta y eficiente.
 Tener la capacidad de poder manipular el sensor correctamente y poderlo
unir con otros equipos para realizar trabajos que se necesite.

1.- Trabajo preparatorio (investigación inicial de la práctica)

1.1 Consultar las características más importantes de los materiales que vamos a
usar.

SENSOR ULTRASONICO HC-SR04


Los sensores de ultrasonido son muy útiles para medir distancias y detectar
obstáculos.

El funcionamiento es simple, envía una señal ultrasónica inaudible y nos entrega el


tiempo que demoro en ir y venir hasta el obstáculo más cercano que detecto.

Generalmente están conformados por dos cilindros puestos uno al lado del otro, uno
de ellos es quien emite la señal ultrasónica, mientras que el otro es quien la recibe,
es un sistema muy simple pero no por eso deja de ser efectivo.

El sensor hc-sr04 en particular tiene una sensibilidad muy buena del orden de los
3mm, teniendo en cuenta que la mayoría de las aplicaciones donde este sensor es
utilizado es para medir o detectar obstáculos o distancias mayores a varios
centímetros, podemos decir que su sensibilidad es muy buena.

Obviamente el sensor por si solo no sirve de mucho, necesitamos algun micro


controlador para leer los datos que nos entrega, si lo que queremos desarrollar es
de carácter personal y no tiene que cumplir estrictos requisitos comerciales, sin
duda que la mejor opción que podemos elegir es arduino.

¿QUE NOS ENTREGA EL SENSOR HC-SR04?


UNIVERSIDAD TÉCNICA DEL NORTE
Facultad de Ingeniería en Ciencias Aplicadas
Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018
Nos entrega tiempo, como dijimos al comienzo el sensor hc-sr04 cuenta el tiempo
que transcurre entre la emisión y la recepción de la señal ultrasonica, claramente
podemos deducir que el tiempo es dependiente de la distancia, la señal tardara mas
en ir y volver si el objeto esta lejos que si esta cerca.

Recordando algunas ecuaciones básicas de física sabemos que d = v.t (la distancia
recorrida es igual a la velocidad del objeto en movimiento por el tiempo que
transcurre en llegar).

Resistencia o Resistor
Se denomina resistor o resistencia al componente electrónico diseñado para
introducir una resistencia eléctrica determinada entre dos puntos de un circuito. En
otros casos, como en las planchas, calentadores, etc., las resistencias se emplean
para producir calor aprovechando el efecto Joule. La resistencia es un material
formado por carbón y otros elementos resistivos para disminuir la corriente que pasa
por ella, la corriente máxima en una resistencia viene condicionado por la máxima
potencia que puede disipar su cuerpo, esta potencia se puede identificar
visualmente a partir del diámetro sin que sea necesaria otra indicación. Los valores
más corrientes son 0,25 W, 0,5 W y 1 W.

Arduino mega
Es una tarjeta de desarrollo open-source construida con un microcontrolador
modelo Atmega2560 que posee pines de entradas y salidas (E/S), analógicas y
digitales. Esta tarjeta es programada en un entorno de desarrollo que implementa
el lenguaje Processing/Wiring. Arduino puede utilizarse en el desarrollo de objetos
interactivos autónomos o puede comunicarse a un PC a través del puerto serial
(conversión con USB) utilizando lenguajes como Flash, Processing, MaxMSP, etc.
UNIVERSIDAD TÉCNICA DEL NORTE
Facultad de Ingeniería en Ciencias Aplicadas
Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018
Características:

 Microcontrolador ATmega2560.
 Voltaje de entrada de – 7-12V.
 54 pines digitales de Entrada/Salida (14 de ellos son salidas PWM).
 16 entradas análogas.
 256k de memoria flash.
Velocidad del reloj de 16Mhz.

Protoboard O Breadboard
Una placa de pruebas (en inglés: protoboard o breadboard) es un tablero con
orificios que se encuentran conectados eléctricamente entre sí de manera interna,
habitualmente siguiendo patrones de líneas, en el cual se pueden
insertar componentes electrónicos y cables para el armado y prototipo de circuitos
electrónicos y sistemas similares. Está hecho de dos materiales, un aislante,
generalmente un plástico, y un conductor que conecta los diversos orificios entre sí.
Uno de sus usos principales es la creación y comprobación de prototipos de circuitos
electrónicos antes de llegar a la impresión mecánica del circuito en sistemas de
producción comercial.
UNIVERSIDAD TÉCNICA DEL NORTE
Facultad de Ingeniería en Ciencias Aplicadas
Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018

2.- Equipos y materiales

 Arduino Mega
 Protoboard
 Cables de conexión
 Sensor ultrasónico HC-SR04
3.- Trabajo laboratorio
UNIVERSIDAD TÉCNICA DEL NORTE
Facultad de Ingeniería en Ciencias Aplicadas
Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018

Código:
/* UNIVERSIDAD TECNICA DEL NORTE
ELECTRONICA APLICADA
CARLOS RUEDA
PRIMERA PRACTICA DEL SENSOR ULTRASONIDO
*/

long tiempo; //
const int disparador = 11; // pin que activa el trigger
const int eco = 10; // pin que recibe el eco
float distancia = 0; //variable que almacenará la distancia
float velocidadSonido = 0.0343; // almacena la velocidad del sonido
UNIVERSIDAD TÉCNICA DEL NORTE
Facultad de Ingeniería en Ciencias Aplicadas
Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018

void setup() {
// put your setup code here, to run once:
pinMode(disparador, OUTPUT);
pinMode(eco, INPUT);
Serial.begin(9600);
}

void loop() {
// activamos y lanzamos un pulso al sensor
digitalWrite(disparador, HIGH);
delayMicroseconds(10);
digitalWrite(disparador, LOW);

//MEDIMOS EL TIEMPO DE RESPUESTA


tiempo = (pulseIn(eco, HIGH)/2);
distancia = float(tiempo * velocidadSonido);
Serial.println(distancia);
delay(1000);
}

4.- Informe

int
'Int' (Enteros) almacena valores numéricos de 16 bits sin decimales comprendidos
en el rango 32767 a -32768. Nota: Las variables de tipo entero 'int' pueden
sobrepasar su valor máximo o mínimo como consecuencia de una operación. Por
UNIVERSIDAD TÉCNICA DEL NORTE
Facultad de Ingeniería en Ciencias Aplicadas
Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018
ejemplo, si x = 32767 y una posterior declaración agrega 1 a x, x = x + 1 entonces
el valor se x pasará a ser -32768 (algo así como que el valor da la vuelta).

float
Tipo de datos para números de punto flotante, un número que tiene un punto
decimal. Los números de coma flotante se utilizan a menudo para aproximar los
valores analógicos y continuos porque tienen mayor resolución que los números
enteros. Los números de coma flotante pueden ser tan grandes como 3.4028235E
+ 38 y tan pequeños como -3.4028235E + 38. Se almacenan como 32 bits (4 bytes)
de información.

void setup()
El setup es la primera función en ejecutarse dentro de un programa en Arduino. Es,
básicamente, donde se “setean” las funciones que llevará a cabo el
microcontrolador.Aquí es donde establecemos algunos criterios que requieren una
ejecución única. Por ejemplo, si nuestro programa va a usar comunicación serial,
en el setup establecemos el comando Serial.begin para indicarle al programa que
vamos a iniciar la comunicación serial. Si vamos a utilizar un pin determinado como
salida de voltaje, usamos el pinMode para indicarle a Arduino que determinado pin
funcionará como salida, usando el parámetro OUTPUT.
Serial.begin
Abre el puerto serie y fija la velocidad en baudios para la transmisión de datos en
serie. El valor típico de velocidad para comunicarse con el ordenador es 9600,
aunque otras velocidades pueden ser soportadas.
pinMode(pin, mode)
Esta instrucción es utilizada en la parte de configuración setup () y sirve para
configurar el modo de trabajo de un pin pudiendo ser INPUT (entrada) u OUTPUT
(salida).
UNIVERSIDAD TÉCNICA DEL NORTE
Facultad de Ingeniería en Ciencias Aplicadas
Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018
Void loop ()
Loop en inglés significa lazo o bucle. La función loop en Arduino es la que se ejecuta
un número infinito de veces. Al encenderse el Arduino se ejecuta el código del setup
y luego se entra al loop, el cual se repite de forma indefinida hasta que se apague
o se reinicie el microcontrolador.

Pulse-in
Lee un pulso (HIGH o LOW) en un pin. Por ejemplo, si el valor es alto, pulseIn ()
espera a que el pin pase a nivel HIGH, se inicia el tiempo, espera a que el pin pase
a nivel LOW y para el cronómetro. Devuelve la longitud del impulso en
microsegundos o 0 si no se recibe un pulso completo dentro del tiempo de espera.
La temporización de esta función se ha determinado empíricamente y
probablemente mostrará errores en los pulsos más cortos. Funciona en pulsos de
10 microsegundos a 3 minutos de duración. Tenga en cuenta también que si el pin
ya está a nivel HIGH cuando la función es llamada, se espera que el pin pase a nivel
LOW y luego a nivel HIGH antes de que empiece a contar. Esta rutina se puede
utilizar sólo si se activan las interrupciones. Por otra parte la resolución más alta se
obtiene con intervalos cortos.
Serial.println
El método println funciona como print pero envía un carácter new line por cada vez
que es llamada la función. Los datos pueden ser un int, float, byte, long, char, char[],
String o números en base decimal (DEC), hexadecimal (HEX) , octal (OCT), o
binario (BIN).

digitalWrite(disparador, HIGH)
Envía una señal mediante el trigger hacia el pin eco y lo hace durar un tiempo de 10
milisegundos
4.1 Conclusiones y recomendaciones
Conclusiones:

 El sensor de ultrasonido lo q me mide es el tiempo en que una señal llega del


trigger hacia el pin de entrada que es el eco.

 Para valores menores de 3cm el arduino no los puede identificar y puede


entrar en error si llega a tener esos valores de medida como distancia.
UNIVERSIDAD TÉCNICA DEL NORTE
Facultad de Ingeniería en Ciencias Aplicadas
Laboratorio de Electrónica
CARLOS RUEDA
ABRIL-JULIO 2018
Recomendaciones:

 Chequear al final de realizar la conexión, que todos los cables y equipos


estén conectados correctamente para evitar cortocircuitos o daños.

 Al momento de realizar la programación utilizar el camando “Serial.println”


Para saber en tiempo exacto que es lo que esta pasando con los equipos
que estamos trabajando y en caso de falla poder detectarlos mas
rápidamente

 Consultar comandos nuevos de programación para facilitar los procesos que


debamos realizar.

5.- Bibliografía y enlaces recomendados

http://www.electrontools.com/Home/WP/2016/04/01/como-funciona-el-sensor-ultrasonico-
hc-sr04/

http://manueldelgadocrespo.blogspot.com/p/float.html

http://manueldelgadocrespo.blogspot.com/p/pulsin.html

http://panamahitek.com/el-setup-y-el-loop-en-arduino/

https://www.arduino.cc/reference/en/language/functions/time/
https://playground.arduino.cc/ArduinoNotebookTraduccion/AnalogIO

https://playground.arduino.cc/ArduinoNotebookTraduccion/Serial

6.- Anexos