Aplicación #11.- Sensor Ultrasonico La función de esta aplicación es: Medir distancia con el sensor ultrasonico HC-SR04 y visualizarlo en el LCD utilizando el TIMER0 del microcontrolador como un contador de tiempo para poder hacer la lectura del pulso que manda el sensor Nota: El pin ECHO se encuentra en PB0 y el trigger en PB1, los cuales se pueden cambiar a cualquier otro pin del PIC. Material utilizado: *HC-SR04 *LCD 2x16 librerías Activadas: *LCD *LCD-Constants *Conversions *C_String Programa en MikroC: // Conexiones del módulo LCD sbit LCD_RS at RD5_bit; sbit LCD_EN at RD4_bit; sbit LCD_D4 at RD0_bit; sbit LCD_D5 at RD1_bit; sbit LCD_D6 at RD2_bit; sbit LCD_D7 at RD3_bit; sbit LCD_RS_Direction at TRISD5_bit; sbit LCD_EN_Direction at TRISD4_bit; sbit LCD_D4_Direction at TRISD0_bit; sbit LCD_D5_Direction at TRISD1_bit; sbit LCD_D6_Direction at TRISD2_bit; sbit LCD_D7_Direction at TRISD3_bit; // Final de las conexiones del módulo LCD unsigned int distancia; unsigned int SFR04(void); void main() { ADCON1 = 0B00001111; //Todos los pines del Pic son Digitales T0CON = 0b11000111; TRISB= 0B00000001; TRISE= 0B00000000; LATE = 0B00000111; Lcd_Init(); Lcd_Cmd(_LCD_CURSOR_OFF); Lcd_Cmd(_LCD_CLEAR); // Inicialización del visualizador LCD // Comando LCD (apagar el cursor) // Comando LCD (borrar el LCD) Lcd_Out(1,2,"INTESC-MIUVVA"); // Escribir mensaje en la primera línea delay_ms(1000); Lcd_Cmd(_LCD_CURSOR_OFF); Lcd_Cmd(_LCD_CLEAR); Lcd_Out(1,1,"Sensror SFR04"); Lcd_Out(2,1,"Distancia: "); Lcd_Out(2,15,"cm"); // Comando LCD (apagar el cursor) // Comando LCD (borrar el LCD) while(1){ SFR04(); delay_ms(50); } } unsigned int SFR04(void){ unsigned int flanco, muestra; char txt[7]; LATB.F1=1; delay_ms(10); LATB.F1=0; do { if(PORTB.F0==1) { TMR0l=0; flanco=1; } } while(flanco==0); do{ if(PORTB.F0==0){ //Disparo de 10ms enable sfr04 //DETECTO FLANCO SUBIDA ECHO PULSE //DETECTO FLANCO SUBIDA ECHO PULSE muestra=TMR0l; flanco=0; } } while(flanco==1); distancia =((muestra*127)/58); IntToStr(distancia, txt); Lcd_Out(2,9,txt); } //DISTANCIA EN cm
© Copyright 2024