前言:我是Pi/Python的noob
在与这个DHT22传感器进行了大量的斗争之后,我终于能够使用Adafruit CircuitPython库,如图here。我使用了他们页面(和下面)上显示的脚本,得到了温度。从那以后,我转到了LCD,在许多教程中,我决定使用Python选项使用“输出到LCD”(也在下面)。它们都可以工作,但现在我正在努力弄清楚如何正确地组合这两个脚本。这是我根据CircuitBasics网站上的一些示例提出的,我已经克服了许多语法错误来纠正它们,只是没有将它们正确地结合起来。我想让16x2在进行标准的2秒睡眠时,在第1行显示F中的温度,在第2行显示湿度,同时忽略错误(因为我得到了很多错误)。下面是我的最新尝试,其中添加了@Frank的建议和一些修改:
#!/usr/bin/python
import time
import board
import adafruit_dht
from RPLCD import CharLCD
from RPi import GPIO
dhtDevice = adafruit_dht.DHT22(board.D4)
lcd - CharLCD(numbering_mode=GPIO.BOARD, cols=16, rows =2, pin_rs=37, pin_e=35, pins_data=[33,31,29,40]
while True:
try:
temperature_c = dhtDevice.temperature
temperature_f = temperature_c * (9 / 5) + 32
humidity = dhtDevice.humidity
lcd.cursor_pos = (0, 0)
lcd.write_string("Temp: {:.1f} F ".format(temperature_f, temperature_c))
lcd.cursor_pos = (1, 0)
lcd.write_string("Humidity: {}% ".format(humidity))
except:
pass
所以最终我不知道如何正确地连接这两个脚本,或者我只是将它们作为单独的脚本,并用另一个脚本调用它们。正如我所说的,我对Python和一般的编码都是相当陌生的,希望社区能给予我一些帮助
提前谢谢
编辑:为了简化每个人的生活(以及我首先应该做的事情),这里是我试图将两者结合在一起的两个例子
dht脚本
import time
import board
import adafruit_dht
# Initial the dht device, with data pin connected to:
dhtDevice = adafruit_dht.DHT22(board.D4)
while True:
try:
# Print the values to the serial port
temperature_c = dhtDevice.temperature
temperature_f = temperature_c * (9 / 5) + 32
humidity = dhtDevice.humidity
print(
"Temp: {:.1f} F / Humidity: {}% ".format(
temperature_f, temperature_c, humidity
)
)
except RuntimeError as error:
# Errors happen fairly often, DHT's are hard to read, just keep going
print(error.args[0])
time.sleep(2.0)
和当前的lcd脚本
from RPLCD import CharLCD
from RPi import GPIO
lcd = CharLCD(numbering_mode=GPIO.BOARD, cols=16, rows=2, pin_rs=37, pin_e=35, pins_data=[33,31,29,40])
lcd.cursor_pos = (0, 0)
lcd.write_string(u'This is')
lcd.cursor_pos = (1, 0)
lcd.write_string(u'a test')
最终,我已经能够使用用于DHT传感器和控制16x2 LCD的CircuitPython库来实现这一点。如果其他任何人需要完成此任务,请随意使用此代码,只需更改lcd/dht的数据管脚即可
看起来您的代码缩进不正确。删除while循环前面的空格,并对while循环中的块执行相同操作,但保留一个缩进
在python中,缩进很重要
第二个问题是,
try
没有except
How to properly ignore exceptions相关问题 更多 >
编程相关推荐