TransWikia.com

Error al conectar con Sensor HC SR04

Stack Overflow en español Asked by Ajd13 on December 30, 2021

Estoy intentando programar un sensor de ultrasonido usando arduino y Python. Estoy usando la libreria pyfirmata para programar todo en python y ejecutarlo.

He encontrado algun ejemplo pero no me termina de funcionar.

import pyfirmata
from pyfirmata import util
from pycom import pulses_get
import time

# code for combining arduino with pycharm:
port = pyfirmata.Arduino('/dev/ttyACM0')

iterator = util.Iterator(port)
iterator.start()
trigpin = 12
echopin = 13
speedOfSound = 776.5
start = 1

while start > 0:
    port.digital[trigpin].write(0)
    time.sleep(.002)
    port.digital[trigpin].write(1)
    time.sleep(1.5e-5)
    port.digital[trigpin].write(0)
    time.sleep(1e-5)
    port.digital[echopin].write(1)
    pingTime = pulses_get()
    pingTime = pingTime / 1000000
    pingTime = pingTime / 3600
    targetDistance1 = speedOfSound * pingTime
    targetDistance2 = targetDistance1 / 2
    targetDistance3 = targetDistance2 * 63360

    print(targetDistance3)

Al ejecutar este codigo obtengo el siguiente error:

Traceback (most recent call last):
  File "sonar1.py", line 3, in <module>
    from pycom import pulses_get
  File "/home/ajd13/.local/lib/python3.8/site-packages/pycom/__init__.py", line 31, in <module>
    from zerojson import (
  File "/home/ajd13/.local/lib/python3.8/site-packages/zerojson/__init__.py", line 49
    from .async import (
          ^
SyntaxError: invalid syntax

Ademas he visto que existen otras libreria como esta "adafruit_hcsr04" que permite obtener la distancia sin mucha complicacion, pero igualmente tengo problemas.
Este es el codigo:

import time
import board

import adafruit_hcsr04

sonar = adafruit_hcsr04.HCSR04(trigger_pin=board.D2, echo_pin=board.D3)


while True:
    try:
        print((sonar.distance,))
    except RuntimeError:
        print("Retrying!")
        pass
    time.sleep(0.1)

Y este es el error:

Traceback (most recent call last):
  File "sonar2.py", line 2, in <module>
    import board
  File "/usr/local/lib/python3.8/dist-packages/Adafruit_Blinka-5.2.3-py3.8.egg/board.py", line 166, in <module>
    raise NotImplementedError("Board not supported {}".format(board_id))
NotImplementedError: Board not supported GENERIC_LINUX_PC

No tengo preferencia por ninguno de los dos codigos, solo me gustaria poder obtener la distancia ya sea de una forma u otra o usando otras liberias.

Muchisimas gracias de antemano!!

One Answer

SyntaxError: invalid syntax

El primer error te está indicando que hay un error de sintaxis dentro de una de las librerías, asegúrate de que la librería sea compatible con tu versión de Python, o trata de averiguar que versión usó el ejemplo que tomaste.

Board not supported GENERIC_LINUX_PC

El segundo error te está indicando que tu placa no es compatible. Fuese de más ayuda si especificaras el tipo de placa que usas.

Answered by DrakoPD on December 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP