Distancia Del Sensor de Sharp 2YOA21 y LCD

  • View
    2.831

  • Download
    5

Embed Size (px)

Text of Distancia Del Sensor de Sharp 2YOA21 y LCD

Distancia del sensor de Sharp 2YOA21 y LCDEl sensor de distancia producidos por Sharp es una solucin popular y relativamente baja para medir la distancia. El sensor puede ser usado tambin para medir la bondad o de color (en forma muy limitada), pero en este artculo vamos a hablar slo de medir distancias.

En el presente experimento se utilizar el modelo de 2YOA21 y son las caractersticas de este sensor: 1. 2. 3. 4. 5. 6. 7. 8. Distancia mnima de medicin = 10 cm; Medida de la distancia mxima = 80cm; Sensor infrarrojo de proximidad; Salida analgica inversamente proporcional a la distancia; El sensor est Proporcional; Voltaje de alimentacin operativo = 4,5 V a 5,5 V; Suministro de media actual - 30 mA tpico =; Tiempo de respuesta = 38 10 ms.

Es evidente que existen varias versiones de sensores que son capaces de medir las distancias ms cortas o ms, dependiendo de las necesidades. Ejemplos de sensores son los siguientes:

Distancia agudo GP2D120 Sensor (4-30cm); Distancia del sensor de Sharp GP2Y0A21 (10-80cm); Distancia del sensor de Sharp GP2Y0A02 (20-150cm).

La seal de datos del sensor 2YOA21 se envan en forma analgica y la conexin hecha con el microcontrolador es muy sencillo. La salida analgica vara de 3.1V a 10 cm a 0,3 V a 80 cm. La configuracin de hardware: En el presente artculo me propongo mostrar la distancia medida, entre el sensor y el objeto alguno, en la pantalla LCD de 2x16 caracteres con. Realizacin fsica se lleva a cabo en la placa con 2420 puntos.

A travs de este vdeo me gustara compartir la situacin en tiempo real. Ahora, voy a compartir un poco de la teora, la teora necesaria para poner las cosas en movimiento. A continuacin presento el diagrama de tiempos para la seal de datos que se transmiten en el pin 1 del sensor 2YOA21.

Diagrama de tiempos. Los siguientes diagramas son muy tiles cuando queremos construir la frmula para medir la distancia.

La distancia y la tensin de salida. Por encima tenemos el diagrama que especifica la relacin entre la distancia medida y la tensin de salida de 2YOA21 sensor.

La tensin de salida vs inversa nmero de la distancia. Por encima tenemos el diagrama que especifica la relacin entre la tensin de salida y el nmero inverso del sensor de distancia 2YOA21. Pin descripcin del sensor de distancia 2YOA21.

Disposicin de las patillas. A continuacin tenemos el diagrama de bloques del sensor de distancia 2YOA21.

Diagrama de bloques. En la hoja de datos, el fabricante nos recomienda cmo alinear correctamente, el sensor de distancia de la superficie medida. A continuacin voy a presentar a travs de dos imgenes de cmo hacer eso.

La alineacin correcta de la superficie que se evalan

La alineacin apropiada de las superficies en movimiento. Notas: Antes de poner en funcionamiento el juguete hay que tener en cuenta los siguientes consejos:

Se debe mantener limpia la lente del sensor. El polvo, agua, aceite y otros contaminantes se pueden deteriorar las caractersticas de este dispositivo; Cuando se utiliza una cubierta protectora sobre el emisor y el detector, asegrese de cubrir eficientemente transmite la luz en toda la gama de longitudes de onda de los LED ( = 850 nm 70 nm). Ambos lados de la cubierta de proteccin debe ser muy pulido; Objetos en las proximidades del sensor puede provocar reflexiones que pueden afectar el funcionamiento del sensor; Las fuentes de luz de alta temperatura ambiente (el sol o la luz artificial) pueden afectar la medicin. Para mejores resultados, la aplicacin debe estar diseado para evitar la interferencia de la luz solar o luz artificial; Usando el sensor con un espejo puede inducir a errores de medicin. A menudo, cambiar el ngulo de incidencia en el espejo puede corregir este problema; El fabricante recomienda un condensador de derivacin 10 mF (o ms) entre VCC y GND cerca del sensor.

Para ms detalles, por favor estudie el 2Y0A21YK agudo hoja de datos . Diagrama del circuito: Nivel de dificultad del programa electrnico, es baja. El microcontrolador utilizado es PIC16F876A, porque poseen el convertidor analgico a digital, la conversin necesaria para el procesamiento de la seal obtenida de nuestros sensor de distancia. S1 es el botn de reinicio maestro, R1 es la resistencia de pull-up botn. Cristal de cuarzo de 8 MHz, se utiliza. C3 y C4 se utilizan para la filtracin adicional del sensor 2YOA21. A travs J1 que asegurar la conectividad con el sensor de distancia. ICSP conector se utiliza para programar el microcontrolador. R2 a travs podemos ajustar el contraste de LCD de 2x16 caracteres. R3 se ajusta la corriente a travs de la pantalla LED (intensidad de la luz de la misma).

El esquema electrnico. El esquema electrnico se basa en Eagle CAD , versin libre. Software: El programa est escrito en mikroC Pro para PIC 2011 (la versin v4.60). Hasta este momento, me encontr con tres maneras de extraer la frmula que convierte la tensin de salida del sensor en la distancia. Voy a mostrar a continuacin: 1. Sobre la base de "valores tpicos" de Sharp, la frmula para traducir el valor del sensor en la distancia (la frmula slo es vlida para un valor del sensor entre 80 y 500) es la siguiente:

2. El anlisis de los diagramas de abajo se puede deducir:

Las curvas de calibracin de sensor 2YOA21. Esta ecuacin fue derivada de la curva de calibracin:

donde "Valor IR" es la seal de salida digital del sensor. La curva fue creado por el trazado de los valores de salida del sensor de IR en comparacin con las distancias a un objeto fijo, plano. Aqu est el diagrama de 2YOA21 valores de los sensores en los rangos entre 0 cm y 150 cm:

Los datos del sensor de Sharp.

3. Y ahora voy a presentar la frmula utilizada en el presente artculo. Como he dicho anteriormente, la consigna es el inverso de la distancia, por lo que la distancia se puede calcular como:

luego escalar a juego con la hoja de datos. Vamos a cargar el valor ADC de 16 bits en "matemticas" variable y vamos a utilizar de esta manera:

para la ampliacin, 6050 es una constante. Los tres mtodos son probados por m, as que usted puede tener confianza en su exactitud. Eleg este ltimo mtodo porque le pareca ms interesante, nada ms. Para aquellos que son extremadamente pretencioso puede desarrollar una tabla de bsqueda de puntos de datos suministrados en el grfico, pero si usted elige este camino se debe considerar la memoria RAM del microcontrolador, debe ser lo suficientemente grande como para alojar la tabla de datos. A continuacin es mi versin de software:/ * '************************************************* ****************************** 'Nombre del proyecto: Distancia sensor de Sharp 2YOA21 y pantalla LCD 'Descripcin: "En este experimento vamos a tratar de mostrar en la pantalla LCD de 2x16 caracteres, "Distancia ayudados por IR cerradura centralizada" Sharp 2Y0A21YK ", que es capaz de dar "Distancia entre 10 cm ~ 80 cm. "Escrito por: "Aureliu Raducu Macovei, 2011. 'Test de configuracin: "MCU: PIC16F876A; "Test.Board: WB-106 Breadboard 2420 puntos; "SW: mikroC PRO para PIC 2011 (la versin v4.60); 'Configuracin de la Palabra: "Oscilador: HS (8MHz) en los pines 9 y 10; "Watchdog Timer: OFF; "Encendido del temporizador: OFF; "Browun fuera Detectar: ON; "Programa de Baja Tensin: de movilidad reducida; "Datos EE Leer Proteger: OFF; "Programa de escritura en la Flash: la proteccin contra escritura OFF; "Antecedentes de depuracin: de movilidad reducida; "Cdigo de Proteccin: OFF '************************************************* ****************************** * /

/ / Conexiones sbit LCD_RS en sbit LCD_EN en sbit LCD_D4 en sbit LCD_D5 en sbit LCD_D6 en sbit LCD_D7 en

del mdulo LCD; RB4_bit; RB5_bit; RB0_bit; RB1_bit; RB2_bit; RB3_bit; en TRISB4_bit; en TRISB5_bit; en TRISB0_bit; en TRISB1_bit; en TRISB2_bit; en TRISB3_bit; del mdulo LCD;

LCD_RS_Direction sbit LCD_EN_Direction sbit LCD_D4_Direction sbit LCD_D5_Direction sbit LCD_D6_Direction sbit LCD_D7_Direction sbit / / Fin de conexiones

cm unsigned int, CM10; matemticas entero sin signo; caracteres de texto *; char * dgito = "00"; calc_distance vaco (void) { / / De la hoja de datos de la seal analgica es / / El inverso de la distancia, por lo que la distancia puede ser calculada / / D = (1 / V), entonces escala para adaptarse a la hoja de datos / / Carga ADC valor de la variable de matemticas de 16 bits. matemticas = ADC_Read (0); matemticas = ADRESH; matemticas = (matemticas * 255); matemticas + = ADRESL; / / Ahora que invertir; (1 / V) el uso (6050 / V) para la ampliacin, 6050 es una constante; matemticas = (6050 / matemticas); if (math> = 2) matemticas -= 2; / / reparar el error lineal (-2) if (matemticas 80) matemticas = 80 / / lmite mximo a 80 cm / / Convertir 0-99 a 2 dgitos decimales, 0-99cm CM10 = 0; while (math> = 10) { CM10 + +; matemticas -= 10; } cm = matemticas; } void main (void) { ADCON0 = 0x01; / / RA0 como entrada analgica; ADCON1 = 0x0E; / / referencia VDD y VSS, con justificado a la izquierda; CMCON | = 7 / / Desactivar la comparacin; TRISA0_bit = 1 / / Hacer RA0 como entrada; PORTA = 0x00; valor / / inicial de PORTA; Lcd_init (); / / Inicializar el LCD;

LCD_Cmd (_LCD_CURSOR_OFF) / / cursor de modo off; LCD_Cmd (_LCD_CLEAR); / / Borrar toda la pantalla LCD; text = "Sharp 2Y0A21"; Lcd_Out (1,3, texto); text = "Distancia"; Lcd_Out (2,1, texto); text = "cm"; Lcd_Out (2,13, texto); while (1) { calc_distance (); / / Llamar al "calc_distance" funcin; dgito [0] = CM10 + 48 / / dgito de las decenas; dgitos [1] = 48 cm / / unidad de dgitos; Lcd_Out (2,10, cifra); / / en la pantalla LCD de la columna 2, de 10 caracteres; delay_ms (100); } }

Publicado por Ducu en 22:52