Documente Academic
Documente Profesional
Documente Cultură
MEDIDOR DE GRAVEDAD
ADRIAN SUAREZ
1088011317
SEBASTIAN ZULUAGA
1088303309
ESTEBAN PATIÑO
1112779151
INGENIERIA MECATRONICA
MICROCONTROLADORES 1
PEREIRA
2019
TABLA DE CONTENIDO
1. INTRODUCCION------------------------------------------------------------------------------pág. 3
4. MARCO TEORICO---------------------------------------------------------------------------pág. 3
5. DESARROLLO--------------------------------------------------------------------------------pág. 5
Diseño electrónico
Diseño mecánico
6. FUNCIONAMIENTO-------------------------------------------------------------------------pág. 8
7. CONCLUSIONES----------------------------------------------------------------------------pág.
13
8. BIBLIOGRAFIA------------------------------------------------------------------------------pág. 13
2
1. INTRODUCCION
2. OBJETIVOS GENERALES.
3. OBJETIVOS ESPECÍFICOS:
4. MARCO TEÓRICO
La función principal del proyecto debe ser medir el valor constante de gravitación.
El movimiento de caída libre está dado por la ecuación:
3
1
H=V o+ g t 2
2
Donde:
Dado que el movimiento comienza con velocidad inicial cero, la ecuación queda
reducida a la siguiente expresión
1
H= g t 2
2
4
5. DESARROLLO
Diseño electrónico
PIC16F887
Sensor ultrasónico
Módulo de micrófono
Módulo de electroimán
LCD
Sensor toch capacitivo
5
Diseño mecánico
6
PIC16F887 Sensor Touch capacitivo
7
6. FUNCIONAMIENTO
Para iniciar el programa se crea una función que mide la distancia dada en
centímetros, por medio del sensor de ultrasonido almacenando este dato en una
variable, en la LCD muestra la distancia actual que se puede variar con el sensor y
el circuito energiza el electroimán que sostiene el balín, el procedimiento consiste
en pulsar el botón de inicio, para que el electroimán se des energice y caiga el
balín e inicie una temporización, cuando esté toca la superficie, el sonido que se
genera al impactar la superficie de madera activa el sensor de sonido que manda
un pulso a la entrada A2 del microcontrolador que para la temporización y
mediante ingresa estos valores en la formula despejada de caída libre para hallar
el valor de la gravedad y esta es mostrada en la LCD junto con los valores de
velocidad y tiempo, al volver a presionar el botón de Start reinicia todo para volver
a iniciar el proceso y ajustar una nueva altura si esto es requerido.
Programación en C
#INCLUDE <16F887.H>
#USE DELAY(internal=8MHZ)
#INCLUDE <LCD.C>
#USE STANDARD_IO(B)
#USE FAST_IO(C)
8
INT16 J,K;
//-----------------------------------FUNCION
INT16 ALTURA(void)
INT16 MEDIDA=0;
OUTPUT_HIGH(TRIG);
DELAY_US(50);
OUTPUT_LOW(TRIG);
MEDIDA++;
DELAY_US(58);
DELAY_MS(50);
RETURN(MEDIDA);
//-----------------------------PROGRAMA PRINCIPAL------------------------------
VOID MAIN()
INICIO:
int16 MSEGUNDOS=0;
int1 MICROF,C;
SET_TRIS_C(0X00);
9
LCD_INIT();
LCD_GOTOXY(1,1);
LCD_GOTOXY(1,2);
DELAY_MS(2000);
LCD_PUTC("\f");
DELAY_MS(1000);
LCD_GOTOXY(2,1);
LCD_PUTC(" INTEGRANTES:");
DELAY_MS(1000);
for(j=16;j>0;j--)
LCD_PUTC("\f");
LCD_GOTOXY(J,1);
LCD_PUTC("ADRIAN SUAREZ");
LCD_GOTOXY(J,2);
LCD_PUTC("ESTEBAN PATINO");
DELAY_MS(300);
for(K=16;K>0;K--)
LCD_PUTC("\f");
LCD_GOTOXY(K,1);
LCD_PUTC("SEBAS ZULUAGA");
DELAY_MS(300);
LCD_PUTC("\f");
DELAY_MS(50);
10
}
C=0;
//-----------------------------------INICIA PROGRAMA--------------------------
INT16 DISTANCIA;
LCD_INIT();
WHILE (TRUE)
DISTANCIA=ALTURA();
LCD_GOTOXY(1,1);
LCD_PUTC("\F");
LCD_GOTOXY(1,2);
BOTON =INPUT(PIN_A1);
//------------------------------PULSO DE INICIO--------------------------------
LCD_GOTOXY(1,1);
LCD_PUTC("\F");
LCD_GOTOXY(1,2);
PRINTF(LCD_PUTC," ");
C=1;
11
// --------------------------- CALCULOS -------------------------------------
while(C==1)
delay_ms(1);
if(MICROF==1)
C=0;
NUME=2*1.0;
VEL=L/T;
LCD_GOTOXY(1,1);
LCD_PUTC("\F");
LCD_GOTOXY(1,2);
DELAY_MS(3000);
LCD_GOTOXY(1,2);
LCD_GOTOXY(1,1);
RETORNO=0;
DELAY_MS(1000);
WHILE(RETORNO==0)
BOTON =INPUT(PIN_A1);
12
IF(BOTON==1)
7. CONCLUSIONES
8. BIBLIOGRAFÍA
13