我是IoT的新手,我正在尝试使用Raspberry Pi读取土壤湿度传感器读数。我需要准确的湿度值,而不是像水中存在或不存在的布尔值。
我尝试过使用Arduino-UNO读取精确值,但不确定如何使用python中的Raspberry Pi来读取。我在Intructables上找到了这段代码。https://www.instructables.com/id/Soil-Moisture-Sensor-Raspberry-Pi/
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
#GPIO SETUP
channel = 21
GPIO.setmode(GPIO.BCM)
GPIO.setup(channel, GPIO.IN)
def callback(channel):
if GPIO.input(channel):
print "no Water Detected!"
else:
print "Water Detected!"
GPIO.add_event_detect(channel, GPIO.BOTH, bouncetime=300) # let us know when the pin goes HIGH or LOW
GPIO.add_event_callback(channel, callback) # assign function to GPIO PIN, Run function on change
# infinite loop
while True:
time.sleep(1)这段代码只说明是否检测到水,但我需要水分的实际值。
发布于 2019-08-28 02:57:23
它基于传感器可以提供的输出类型以及控制器I/O通道的配置。数字传感器和IO引脚只能提供当前使用的0V或3/5V的0或1输入。对于您指定的要求,传感器和IO必须是模拟类型,可根据湿度水平提供不同的0-3/5V。查看传感器规格,找出它是否可以提供模拟输出,然后对其进行编程。从你分享的链接来看,传感器输出似乎是数字的(DO),这不适合你的要求。从市场上找一种可以提供AO(模拟输出)的传感器。
https://stackoverflow.com/questions/57679119
复制相似问题