"""
En aquest circuit alimentem al sensor amb 3.3V al pin Vcc, també el connectem a terra amb els pins GND.
El pin Trigger del sensor és el que farem servir per emetre l'ultraso i el pin Echo (ressò) és per on rebrem la resposta.
"""
from machine import Pin
from time import sleep_us, ticks_us, sleep
# Alerta! el circuit s'ha d'alimentar a 5V.
# Creem dos nous objectes: trigger i echo. Configurem trigger com a sortida i echo com a entrada.
trig=Pin(23, Pin.OUT)
echo=Pin(22, Pin.IN)
def sensor(): #creem una funció per mesurar la distància
trig.value(0) #inicialment ens assegurem que el trigger no envia senyal
sleep_us(5) #deixem passar un petit temps per assegurar que l'acció anterior es realitza
trig.value(1) #activem el trigger per emetre una ona
sleep_us(10) #deixem passar un petit temps per assegurar que l'acció anterior es realitza
trig.value(0) #aturem el pin trigger, ja hem emès l'ona
while echo.value() == 0: #Mentre el pin echo no rebi senyal
start = ticks_us() #Comencem a contar els microsegons
while echo.value() == 1: #Quan el pin echo rebi senyal
stop = ticks_us() #Aturem el temps
temps = stop - start #calculem el temps en milisegons entre que s'ha emès l'ona i hem rebut el rebot
distancia = round(((temps * 0.0343)/2),2) #calculem la distancia en cm
print("La distància a l'objecte és", distancia, "cm") #mostrem la sortida per veure que funciona
while True:
sensor()
sleep(1)
# AMPLIACIÓ: Afegeix un led i fes que s'encengui quan el sensor detecti un objecte a menys de 15cm.