Como capturat o echo do ultrassom, Tentei
var= labrador.GPIO_ECHO.input()
var =Labrador.GPIO_ECHO
antes defini
labrador.pin5.enable_gpio(k.Pim.Direction.INPUT, alias=‘GPIO_ECHO’
Como capturat o echo do ultrassom, Tentei
var= labrador.GPIO_ECHO.input()
var =Labrador.GPIO_ECHO
antes defini
labrador.pin5.enable_gpio(k.Pim.Direction.INPUT, alias=‘GPIO_ECHO’
Olá @deby131 qual o modelo do sensor que você está utilizando? Sabe me dizer o padrão de leitura dele? Grato!
HC-SR04
tem mais informacoes aqui
https://www.squids.com.br/arduino/index.php/projetos-arduino/projetos-squids/intermediario/350-i15-como-usar-o-sensor-ultrassonico-hc-sr04-para-medir-distancia-sem-auxilio-de-biblioteca-arduino
Segundo este artigo, o sensor conta com dois pinos principais de sinal (além da alimentação), então antes de ler o ECHO você precisa enviar o sinal de trigger. Não possuo um sensor desse para testes, mas olhando este artigo, acredito que algo nessa linha deve funcionar para distância em centímetros.
def distance():
#passo 1 - subir o trigger
labrador.GPIO_TRIGGER.high()
#passo 2 - esperar 0.01ms e descer o trigger
time.sleep(0.00001)
labrador.GPIO_TRIGGER.low()
StartTime = time.time()
StopTime = time.time()
#medir tempo de início
while Labrador.GPIO_ECHO.read() == 0:
StartTime = time.time()
#salvar tempo de retorno do trigger
while Labrador.GPIO_ECHO.read() == 1:
StopTime = time.time()
# delta de tempo
TimeElapsed = StopTime - StartTime
# multiplicar pela velocidade do som e dividir por dois (ida e volta)
distance = (TimeElapsed * 34300) / 2
return distance
Lembrando que antes você deve definir o pino de GPIO_TRIGGER e GPIO_ECHO como você já citou ai em cima e importar a biblioteca time do python. Ficaria algo como isso no início do seu código (assumindo trigger no pino 15 e echo no 5, por exemplo):
import caninos-sdk as k9
import time
labrador.pin15.enable_gpio(k9.Pin.Direction.OUTPUT, alias="GPIO_TRIGGER")
labrador.pin5.enable_gpio(k9.Pin.Direction.INPUT, alias=‘GPIO_ECHO’)
Sim estou fazendo isso: abaixo parte do codigo que tenta acessar o Echo
import caninos_sdk as Kn
import time
DISTANCE = 1000
DIE = False
labr=Kn.Labrador()
#set GPIO Pins
##GPIO_TRIGGER = 17
##GPIO_ECHO = 4
labr.pin3.enable_gpio(Kn.Pin.Direction.OUTPUT, alias=‘GPIO_TRIGGER’)
labr.pin5.enable_gpio(Kn.Pin.Direction.INPUT, alias=‘GPIO_ECHO’)
def distance():
# set Trigger to HIGH
#GPIO.output(GPIO_TRIGGER, True)
labr.GPIO_TRIGGER.high()
# set Trigger after 0.01ms to LOW
time.sleep(0.00001)
#GPIO.output(GPIO_TRIGGER, False)
labr.GPIO_TRIGGER.low()
StartTime = time.time()
StopTime = time.time()
v=0
while v<10:
echotime=labr.GPIO_ECHO
print(echotime)
v=+1
StartTime=time.time()
StopTime=time.time()
distance = (TimeElapsed * 34300) / 2
return distance
limpei o codigo, acho que fica melhor para entender
import caninos_sdk as Kn
import time
DISTANCE = 1000
DIE = False
labr=Kn.Labrador()
labr.pin3.enable_gpio(Kn.Pin.Direction.OUTPUT, alias=‘GPIO_TRIGGER’)
labr.pin5.enable_gpio(Kn.Pin.Direction.INPUT, alias=‘GPIO_ECHO’)
def distance():
labr.GPIO_TRIGGER.high()
time.sleep(0.00001)
labr.GPIO_TRIGGER.low()
StartTime = time.time()
StopTime = time.time()
v=0
while v<10:
echotime=labr.GPIO_ECHO
print(echotime)
v=+1
StartTime=time.time()
StopTime=time.time()
distance = (TimeElapsed * 34300) / 2
return distance
Agora deu certo. Grata