如何显示变化的值? (Python)

How to display a changing value? (Python)

我有一个 Raspberry Pi 设置了一个模数转换器,并且有一个连接到输入的两个电位器操纵杆。

我可以使用 'Print' 让每个电位器的值显示在屏幕上,但是它每分钟显示数千行,因为电位器移动时值会发生变化,因此无法在移动时读取值飞过去。

我想知道是否有另一种方法来显示这些值,以便它只是屏幕的一个区域,并且值在那里改变,使它们易于阅读,而不是每次都打印一个新行?

您可以试试下面的代码片段。假设 MCP3008 是您的转换器,它将每 0.1 秒读取一次值 (sleep(0.1)),如果值相差 5% (threshold = 0.05),它将 print 新的值并覆盖旧行 (end = '\r')

from gpiozero import MCP3008
from time import sleep

threshold = 0.05
pot = MCP3008()

last_value = pot.value
print(last_value, end='\r')    
while True:
    new_value = pot.value
    if abs((last_value - new_value) / new_value) > threshold:
        print(new_value, end='\r')
        last_value = new_value
    else:
        sleep(0.1)