Sensor Ultrasonico

SENSOR ULTRASÒNICO Daymond Santiago Navarrete Guerrero e-mail: [email protected] Diego Ricardo Acero Macas e-mail:

Views 151 Downloads 0 File size 304KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

SENSOR ULTRASÒNICO Daymond Santiago Navarrete Guerrero e-mail: [email protected]

Diego Ricardo Acero Macas e-mail: [email protected]

Andrés Rosendo Pipullo Tercero e-mail: [email protected]

2. OBJETIVOS.

RESUMEN: En el presente laboratorio se muestra una aplicación mediante el sensor ultrasónico HCSR04, en el cual se pondrá en práctica todo lo aprendido sobre los temporizadores. Para la ejecución de esta práctica se configura el sensor ultrasónico de manera que los valores que arroje entren mediante interrupciones a microcontrolador, para lo cual se utilizará una interrupción por cambio de estados (PCINT2_vect). Además, para poder realizar la medición de distancia se activa el TIMER1 del microcontrolador en modo PWM en fase correcta. Asimismo, se implementan al circuito tres leds conectados al PC en los pines 0,1 y 2, los que sirven como aviso en el caso de que la distancia se incremente o disminuya de 4 cm, ara esto, se hace una validación dentro de la programación. .



Emplear los conocimientos en temporizadores para manejar adecuadamente el módulo ultrasónico.



Analizar la función que realiza tanto el modo CTC y el modo PWM.



3. CONCEPTOS 3.1 SENSOR ULTRASÓNICO HCSR04. A este sensor se lo puede comparar con un radar, debido a que este manda pulsos de alta frecuencia, en el caso de este serán ultrasónicos. Como se lo puede observar físicamente este tiene un emisor y un receptor en forma de cilindro, el emisor es el encargado de enviar la señal ultrasónica, la cual rebota en algún objeto puesto enfrente del mismo y llega al receptor.

PALABRAS CLAVE: Arduino, Ultrasonido, temporizadores, PCINT, LCD gráfico

3.2 INTERRUPCION POR CAMBIO DE ESTADO. Esta interrupción tiene una amplia cantidad de pines para poder configurarlo (Puertos K, J y B), esta entra en ejecución cuando el microcontrolador detecta algún cambio de estado. Deja de realizar la operación que está haciendo en ese momento para atender el requerimiento solicitado.

1. INTRODUCCIÓN: Un comparador tiene como función comparar dos términos de una n cantidad de bits, estos términos deben ser seleccionados como un número el cual sea entero y que no tenga signo, luego el comparador se encarga de señalar si un término es mayor o menor que otro o los dos son iguales. En lo referente a una PWM o Modulación por Ancho de Pulso este modelo de señal es comúnmente empleada para emular una señal analógica, normalmente es de tipo cuadrada, dentro de las cuales es posible modificar el ancho del pulso a razón del período de esta misma señal, nombrando a este cambio como ciclo de trabajo. El uso del PWM suele ser para el control de la dirección de los motores, control lumínico entre otras aplicaciones, en sí lo que hace un PWM es producir pulsos (pulso de subida y pulso de bajada) por cada determinado tiempo.

4. MATERIALES 4.1 COMPUTADOR CON SOFTWARE ATMEL STUDIO 

Programación en c

4.2 CABLE USB-SERIAL.  

1

Conexión ordenador-arduino Alimentación del arduino mega.

4.3 PROTOBOARD

 

cómo se puede ver en el seudocódigo que se describe a continuación. PSEUDOCÓDIGO EJERCICIO

Conecta a los elementos del circuito. Utilizado en circuitos eléctricos y electrónicos.

INICIO //Declaración de la librería //Declaración de la librería //Declaración de la librería

4.4 PANTALLA GLCD TFT 2.4 PULGADAS SPI (TJCTM24024). 

Periférico de salida (muestra la información).

//Declaración de la Liberia

4.51 SENSOR ULTRASÓNICO (HC-SR04) 

Inicializar la variable float distancia a 0;

Mide la distancia de un objeto mediante ultrasonidos.

Inicializar la variable int estado a 0;

4.61 RESISTENCIA DE 330 OHMS 

Interrupción ISR(PCINT2_vect) {

Limita el paso de corriente en un circuito

5. UNIDADES ELEMENTOS. Resistencia Fuentes LCD

→ → →

DE

Si estado es igual a 0 entonces {

LOS

TCNT1 es igual a 0; TCCR1B es igual a 4;

ohmios (ῼ) voltios (v) voltios (v)

} La variable estado incrementa en 1;

6. DESARROLLO. Si estado es igual a 2 entonces {

Se emulará un sistema de carro que evita obstáculos. Se medirá distancias a través del sensor ultrasónico y se la mostrará este valor en cm. en la pantalla LCD. Para realizar este ejercicio se optó por activar una interrupción por cambio de estado (PCINT2_vect). Además, de activar el puerto F con su pin 0 como salida y pasado 10 ms pasara a entrada. Este a su vez va conectado al pin ECHO del ultrasonido. Todo esto se puede apreciar de mejor manera en el seudocódigo descrito más abajo. Cálculos Distancia = (TCNT1*16.0)/58.0

TCCR1B es igual a 0; La variable distancia es igual a (TCNT*16.0) /58.0; La variable estado toma el valor de 0; } } Función void entrada () { PORTF toma el valor de 1;

- Cuando la distancia sea mayor a 4 cm, el sistema prenderá un LED el cual emulará un motor que permite avanzar. - Cuando la distancia sea menor a 4 cm, el sistema prenderá otros dos LEDs que emularán la reversa y giro hacia la izquierda. Esto permite evitar el obstáculo y regresar a la primera validación. Para estos dos incisos se realiza una validación con los condicionales if, en los cuales se compara la distancia y dependiendo del valor se pondrán los pines 0,1 y 2 en salidas del puerto C

Retardo de 10 us PORTF toma el valor de 0; } Función Principal { Puerto DDRF es igual a 1; Llamar a la función CONFIG_PORTB (); Llamar a la función CONFIG_SPI ();

2

Llamar a la función INI_LCD (); 

Habilitar el PCINT2 mediante el PCMSK2; Habilitar el PCINT23:16 mediante PCICR; Habilitar las interrupciones globales; Llamar a la función RECT_LLENO (0,320, 0,240, NEGRO);

el timer almacenada ese valor para ser operado. Mediante la utilización del ultrasónico y poniendo un obstáculo frente a él se pudo realizar la medición de distancias. Aunque con un unas excepciones ya que este ultrasónico no mide distancias menores a 2 cm y mayores a 4 m, arrojando en estos casos valores erróneos.

Ubicarse en la posición (1,11);

8. RECOMENDACIONES

ESC_CADENA_11X9 (“Distancia:”, AMARILLO, NEGRO);

 While (1) { Ubicarse en la posición (12,11); Llamar a la función ESC_FLOTANTE_11x9 (distancia, AMARILLO, NEGRO);



Llamar a la función ESC_CADENA_11X9 (“cm”, AMARILLO, NEGRO); Si distancia es mayor a 4 entonces { 

PORTC toma el valor de 0b00000001; }



Si distancia es menor a 4 entonces { PORTC toma el valor de 0b00000110; } } }

Se tiene que tomar en cuenta que la manera correcta conectar los pines, es por medio de la consulta del datasheet y de esta manera se podrá analizar cómo se conectaran estos al Arduino y que función realizará el pin echo y trig dentro de la aplicación Se recomienda tener unas buenas bases de lógica de programación en c y consultar los datasheet de los componentes del circuito, para no tener altercados al momento de implementarlo. A demás se recomienda tener cuidado con los materiales de la práctica ya que se pueden romper. Una recomendación muy a tener en cuenta es que antes de verificar si existe algún error en el armado de circuitos, se debe comprobar que el protoboard, los elementos o los jumpers funcionen correctamente.

9. REFERENCIAS.

FIN .luisllamas.es. (2017). Obtenido de .luisllamas.es: https://www.luisllamas.es/arduino-spi/

7. CONCLUSIONES 



Se puede concluir que al implementar el sensor ultrasónico se establece que la utilización del timer1 y su registro TCNT1 y TCCR1B permiten la operatividad este tipo de aplicaciones, debido a que por medio de estos se hacen los cálculos correspondientes para obtener la distancia que está midiendo el sensor ultrasónico. También, se afirma que las a través del PWM se pudo obtener las mediciones ya que al momento de enviar un pulso

www.arduino.cc. (2017). Obtenido de https://www.arduino.cc/en/reference/SPI

QL,

R. A. (2013, Mayo 03). Curso de microcontroladores. Obtenido de Curso de microcontroladores: https://sites.google.com/site/cursodemicrocontrol adores8051/inicio/teoria/11-interrupciones Antonio. (2012, Junio 22). picfernalia. Obtenido de picfernalia: http://picfernalia.blogspot.com/2012/06/interrupci ones-conceptos-basicos.html

3

10. ANEXOS. ESC_FLOTANTE_11x9(distancia,AMARI LLO,NEGRO); ESC_CADENA_11x9("cm ",AMARILLO,NEGRO); _delay_ms(100);

10.1. CÓDIGO EJERCICIO /* * Laboratorio 4 Ultrasonico.c * * Created: 6/6/2018 8:58:22 PM * Author : Santiago Navarrete */

if (distancia>4) { PORTC=0b00000001; } if(distancia