我对变量和语句有一点问题。所以我正在做一个项目,我必须使用不同的语句。
材料:
Pycom Lopy4 + 3.0扩展板、Flexiforce称重传感器、LoRa
这是我现在的代码:
import pycom
import machine
import time
############### Weightsensor ###############
def main():
adc = machine.ADC() # create an ADC object
apin = adc.channel(pin='P16') # create an analog pin on P16
val = apin() # read an analog value
if val < 50:
print(val)
print("Value to high")
time.sleep(5)
if __name__ == "__main__":
main()我想要实现什么?
如下所示:
def main():
while True:
adc = machine.ADC() # create an ADC object
apin = adc.channel(pin='P16') # create an analog pin on P16
val = apin() # read an analog value
if val < 20:
print(val)
print("Value to high")
time.sleep(2.5)
if __name__ == "__main__":
main()但我不知道它是如何工作的,因为"val = apin()“是我的读数,我想把它用作一个变量。所以如果值变得更高,它就说明了这一点。
工作代码:
def main():
while True:
adc = machine.ADC() # create an ADC object
apin = adc.channel(pin='P16') # create an analog pin on P16
val = apin() # read an analog value
if val < 20:
print(val)
print("Weight is good")
time.sleep(2.5)
if val > 20:
print(val)
print("Weight is to high")
time.sleep(2.5)
if __name__ == "__main__":
main()提前感谢大家的帮助!
致以亲切的问候!
发布于 2021-01-14 22:35:28
我认为您希望while循环重复调用apin,直到它返回一个小于50的值。
def main():
adc = machine.ADC() # create an ADC object
apin = adc.channel(pin='P16') # create an analog pin on P16
while True:
val = apin()
if value > 50:
break
print(val)
print("Value not high enough")
time.sleep(5)
print("Now value is high enough")发布于 2021-01-14 22:32:32
如果要比较val中的每个元素,则:
for x in val:
if x > 50:
print(val)
print('Value too high')https://stackoverflow.com/questions/65720914
复制相似问题