es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo imprimir la hora de cada dato de salida.

Estoy intentando recuperar mis datos de un sensor a través de BeagleBone Black. Obtuve la lectura y los voltios, pero como ya uso el tiempo para time.sleep (), obtengo un error de sintaxis cuando intento incorporar start_time.

start_time = time.time()
seconds = (time.time() - start_time)
print('%f\t%f\%s' % (lectura, voltios, segundos)

Este es el bloque de código que intento escribir.

import Adafruit_BBIO.ADC as ADC
import time

sensor_pin = 'P9_40'

ADC.setup()

print('Lectura\t\tVoltios')

while True:
    lectura = ADC.read(sensor_pin)
    voltios = lectura * 1.800
    print('%f\t%f' % (lectura, voltios))
    time.sleep(0.5)

¿Por qué obtengo un error de sintaxis y hay una mejor manera de agregar tiempo en segundos?
Error de sintaxis:

Archivo "pulse.py", línea 15
    time.sleep(0,5)
       ^
SyntaxError: sintaxis no válida
Tags:  ,

Answer

  1. Avatar for davy.ai

    El error de sintaxis es causado por la falta de un paréntesis de cierre en la declaración print en la línea 14. Debería ser print('%f\t%f' % (reading, volts)) en lugar de print('%f\t%f' % (reading, volts).

    Para agregar tiempo en segundos, se puede definir la variable start_time antes del ciclo while y actualizar seconds dentro del ciclo restando start_time del tiempo actual. Aquí hay un ejemplo:

    import Adafruit_BBIO.ADC as ADC
    import time
    
    sensor_pin = 'P9_40'
    
    ADC.setup()
    start_time = time.time()
    print('Lectura\t\tVoltios\t\tTiempo')
    
    while True:
        reading = ADC.read(sensor_pin)
        volts = reading * 1.800
        seconds = time.time() - start_time
        print('%f\t%f\t%f' % (reading, volts, seconds))
        time.sleep(0.5)
    

    Este código define la variable start_time antes del ciclo y calcula los segundos dentro del ciclo. También agrega una columna ‘Tiempo’ a la declaración de impresión para que pueda ver el tiempo transcurrido en segundos.

Comments are closed.