Я - полный любитель, когда дело доходит до программирования на Python (для Raspberry Pi), чего я пытаюсь добиться, это спросить пользователя о количестве сэмплов, которые он хочет, а затем прочитать и распечатать такое количество сэмпловкаждое чтение отделяется простым нажатием клавиши.
У меня есть простая установка с датчиком температуры и влажности DHT11, одним резистором 10 кОм, парой соединительных кабелей и, конечно, макетом. Схема отлично работает при тестировании по следующему коду:
import Adafruit_DHT
import time
DHT_SENSOR = Adafruit_DHT.DHT11
DHT_PIN = 4
while True:
humidity, temperature = Adafruit_DHT.read(DHT_SENSOR, DHT_PIN)
if humidity is not None and temperature is not None:
print("Temperature={0:0.1f}C Humidity={1:0.1f}%".format(temperature, humidity))
else:
print("Sensor failed. Check wiring.");
time.sleep(3)
То, что этот код делает, по существу считывает / распечатывает температуру и влажность каждые три секунды, неопределенно .
Однако, как я уже сказал, я пытаюсь добиться от пользователя количества сэмплов, которое он хочет, а затем прочитать и распечатать такое количество сэмплов, каждое из которых отделяется простым нажатием клавиши. ,Вот код, над которым я работал:
import Adafruit_DHT
DHT_SENSOR = Adafruit_DHT.DHT11
DHT_PIN = 4
n = int (input("Number of samples?\n"))
print()
for x in range (n):
input()
while True:
humidity, temperature = Adafruit_DHT.read(DHT_SENSOR, DHT_PIN)
if humidity is not None and temperature is not None:
print("Temperature={0:0.1f}C Humidity={1:0.1f}%".format(temperature, humidity))
else:
print("Sensor failed. Check wiring.")
input()
Пример требуемой операции:
- «Количество образцов?»
- 2
- Пользователь нажимает любую клавишу
- "Температура = 23,0C Влажность = 63,0%"
- Пользователь нажимает любую клавишу
- "Температура = 24.0C Влажность = 64.0%"
Есть идеи, как исправить код, чтобы он делал то, что я хочу?