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!!
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
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP