' PROGRAMA Ping_02.bas ' PROGRAMA EJEMPLO D E USO DEL SENSOR PING CON LA IBOARD LA MED. ' EFECTUADA POR EL SENSOR SE VISUALIZA UN LA PANTALLA LCD SE CON- ' SIDERO LA VELOCIDAD DE DESPLAZAMIENTO DE LAS ONDAS DE ULTRA- ' SONIDO EN EL AIRE IGUAL A 34.442,4 CM/SEG POR LO UN CENTÍMETRO ' ES RECORRIDO POR LA ONDA EN 29.034 us '--------------------------------------------------------------- SIG CON P4 'TERMINAL DE E/S DEL SENSOR PING Conversion FCON 29.034 'CONSTANTE PARA LA MEDICION Sda_Linea CON SCRRAM+$40 'COMANDO PARA TRABAJAR CON LA LCD Medicion VAR WORD 'ALMACENA LA MED. DEL SENSOR EN US Distancia VAR LONG 'DISTANCIA DEL OBJETO AL PING EN CM '--------------------------------------------------------------- ' PROGRAMA PRINCIPAL PAUSE 500 'ESPERA DE INICIALIZACION GOSUB Iniciar_LCD 'PREPARA AL LCD PARA TRABAJAR Main: GOSUB Medir 'OBTENER LECTURA DEL SENSOR EN CM GOSUB Mostar 'MOSTRAR EN EL LCD PAUSE 250 'REPETIR CADA 100 MS GOTO Main ' SUB-RUTINAS '--------------------------------------------------------------- ' RUTINA PARA INICIALIZAR LA PANTALLA LCD DEL IBOARD Iniciar_LCD: PAUSE 1000 LCDWRITE P1\P3\P2, OUTB, [INITLCD1, INITLCD2,TWOLINE] PAUSE 100 LCDWRITE P1\P3\P2, OUTB, [INITLCD1, INITLCD2,TWOLINE] LCDWRITE P1\P3\P2, OUTB, [CLEAR,HOME,SCR] RETURN ' MEDIR OBTIENE EL VALOR DE LA DISTANCIA EN CM Medir: LOW SIG 'GARANTIZAR ESTADO INICIAL DEL PIN PULSOUT SIG,5 'EMITIR PULSO DE ACTIVACION PULSIN SIG,1, Medicion 'LEER SALIDA DEL SENSOR (ECO) ' EL TIEMPO ALMACENADO EN Medicion FUE EL REQUERIDO POR LA ONDA ' ULTRASONICA PARA LLEGAR HASTA EL OBJETO Y REGRESARSE Medicion = Medicion /2 'TIEMPO DE VIAJE DE LA SEÑAL Distancia = FLOAT(Medicion) FDIV Conversion ' DISTANCIA GUARDA LA DISTANCIA ENTRE EL PING Y EL OBJETO EN CM RETURN ' MOSTRAR DESPLIEGA EN PANTALLA EL VALOR MEDIDO Y VERIFICA QUE ' ESTE SE ENCUENTRE EN EL RANGO DE MEDICION DEL SENSOR Mostar: LCDWRITE P1\P3\P2, OUTB,[HOME] IF (Medicion < 87) OR (Medicion > 8710) THEN LCDWRITE P1\P3\P2, OUTB,[CLEAR,HOME," Fuera de Rango "] ELSE LCDWRITE P1\P3\P2, OUTB,["Medida = ",DEC Medicion\4," us"] LCDWRITE P1\P3\P2, OUTB,[Sda_Linea,"Dis.= ",| REAL Distancia\2," cm "] ENDIF RETURN