#Ejercisio 2: Sensor ultrasonico
#Nombre del estudiante: Adrian Rodriguez Reyes
#Importar librerias
from machine import Pin
import time
#Definir variables
Vsonido = 34300 #En cm/s
#Definir configuracion
pinTRIG = Pin(2,Pin.OUT)
pinECHO = Pin(3,Pin.IN)
pinLed1 = Pin(7,Pin.OUT)
pinLed2 = Pin(9,Pin.OUT)
#Definir funciones
def fultrasonico():
pinTRIG.value(0)
time.sleep(1)
pinTRIG.value(1)
time.sleep(0.00001)
pinTRIG.value(0)
while pinECHO.value() == 0:
tinicio = time.ticks_us()
while pinECHO.value() == 1:
tfin = time.ticks_us()
tvuelo = tfin - tinicio
distancia = Vsonido * tvuelo / 2
distanicaCorregida = distancia / 1000000
return distanicaCorregida
def fcomparar(parametroDistancia):
if parametroDistancia > 50:
print("Zonas segura a una distancia", parametroDistancia,"cm")
pinLed1.value(0)
pinLed2.value(0)
elif 15 < parametroDistancia <= 50:
print ("Zona precacucion a una distancia", parametroDistancia,"cm")
pinLed1.value(1)
pinLed2.value(0)
elif 0 < parametroDistancia <= 15:
print ("Zona objeto cercano a una distancia", parametroDistancia, "cm")
pinLed1.value(0)
for i in range (2):
pinLed2.value(1)
time.sleep(0.2)
pinLed2.value(0)
time.sleep(0.2)
else:
print ("Zona no definida a una distancia", parametroDistancia,"cm")
#Principal
try:
while True:
datoDistancia = fultrasonico()
fcomparar(datoDistancia)
except KeyboardInterrupt:
print ("Finalizado por el usuario mediante CTRL+C")
except:
print ("Error general")
finally:
print ("Limpieza de puertos")
pinLed1.value(0)
pinLed2.value(0)