'PROGRAMA Ping_01.bas ' PROGRAMA EJEMPLO DE USO DEL SENSOR PING CON LA IBOARD LA ' MEDICION EFECTUADA POR EL SENSOR SE VISUALIZA UN LA PAN_ ' TALLA DEL PC. SE CONSIDERO LA VELOCIDAD DE DESPLAZAMIENTO ' DE LAS ONDAS DE ULTRASONIDO EN EL AIRE IGUAL A 34.442,4 ' CM/SEG POR LO UN CENTÍMETRO ES RECORRIDO POR LA ONDA EN ' 29.034 us '---------------------------------------------------------- 'VARIABLES Y CONSTANTES SIG CON P4 'TERMINAL DE E/S DEL SENSOR Conversion FCON 29.034 'CONSTANTE PARA LA MEDICION Medicion VAR WORD 'ALMACENA LA MEDICIÓN. EN US Distancia VAR LONG 'DISTANCIA AL PING EN CM '---------------------------------------------------------- 'PROGRAMA PRINCIPAL PAUSE 500 'ESPERA DE INICIALIZACION SEROUT S_OUT,I9600,[0] 'BORRAR PANTALLA DEL TERMINAL Main: GOSUB Medir 'OBTENER LECT.DEL SENSOR EN CM GOSUB Mostar 'MOSTRAR EN EL COMPUTADOR PAUSE 100 'REPETIR CADA 100 MS GOTO Main 'MEDIR OBTIENE EL VALOR DE LA DISTANCIA EN CM Medir: LOW SIG '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 REGRESAR Medicion = Medicion /2 'TIEMPO DE VIAJE DE LA SEÑAL Distancia = FLOAT(Medicion) FDIV Conversion RETURN ' MOSTRAR DESPLIEGA EN PANTALLA EL VALOR MEDIDO Y VERIFICA ' QUE ESTE SE ENCUENTRE EN EL RANGO DE MEDICION DEL SENSOR Mostar: SEROUT S_OUT,I9600,[13] IF (Medicion < 87) OR (Medicion > 8710) THEN SEROUT S_OUT,I9600,["Objeto Fuera de Rango"] ELSE SEROUT S_OUT,I9600,["Medida = ",DEC Medicion] SEROUT S_OUT,I9600,["us Distancia= ",| REAL Distancia\2," cm"] ENDIF RETURN