控制继电器 - Raspberry Pi 在本课的这一部分,你将除了土壤湿度传感器之外,再给你的Raspberry Pi添加一个继电器,并根据土壤湿度水平来控制它。 硬件 Raspberry Pi需要一个继电器。 你将使用的继电器是Seeed Studio的Grove继电器,这是一个常开继电器(意味着没有信号发送到继电器时,输出电路是断开的),可以处理高达250V和10A的输出电路。 这是一个数字执行器,因此连接到Grove Base Hat上的数字引脚。 连接继电器 Grove继电器可以连接到Raspberry Pi。 任务 连接继电器。 一个Grove继电器 将Grove电缆的一端插入继电器上的插槽。它只能以一种方式插入。
在本课的这一部分,你将除了土壤湿度传感器之外,再给你的Raspberry Pi添加一个继电器,并根据土壤湿度水平来控制它。
Raspberry Pi需要一个继电器。
你将使用的继电器是Seeed Studio的Grove继电器,这是一个常开继电器(意味着没有信号发送到继电器时,输出电路是断开的),可以处理高达250V和10A的输出电路。
这是一个数字执行器,因此连接到Grove Base Hat上的数字引脚。
Grove继电器可以连接到Raspberry Pi。
连接继电器。

将Grove电缆的一端插入继电器上的插槽。它只能以一种方式插入。
在关闭电源的情况下,将Grove电缆的另一端连接到Grove Base Hat上标记为D5的数字插槽。这个插槽位于GPIO引脚旁边的插槽行中,从左数第二个。请保持土壤湿度传感器连接到A0插槽。

现在可以编程Raspberry Pi来使用附加的继电器了。
编程设备。
开启Pi并等待其启动。
如果尚未打开,通过VS Code打开上一课中的soil-moisture-sensor项目。你将在该项目中添加代码。
在app.py文件中现有导入语句下方添加以下代码:
from grove.grove_relay import GroveRelay
这段代码导入了一个GroveRelay from the Grove Python libraries to interact with the Grove relay.
Add the following code below the declaration of the ADC class to create a GroveRelay实例:
relay = GroveRelay(5)
这段代码使用引脚D5创建了一个继电器,这是你连接继电器的数字引脚。
为了测试继电器是否工作正常,向while True:循环中添加以下代码:
relay.on() time.sleep(.5) relay.off()
该代码会打开继电器,等待0.5秒,然后关闭继电器。
运行Python应用程序。继电器将每10秒打开和关闭一次,在打开和关闭之间有0.5秒的延迟。你会听到继电器点击打开的声音,然后点击关闭的声音。当继电器打开时,Grove板上的LED灯会亮起,当继电器关闭时,LED灯会熄灭。

既然继电器已经可以工作,就可以根据土壤湿度读数进行控制了。
控制继电器。
删除用于测试继电器的3行代码。用以下代码替换它们:
if soil_moisture > 450: print("Soil Moisture is too low, turning relay on.") relay.on() else: print("Soil Moisture is ok, turning relay off.") relay.off()
该代码检查来自土壤湿度传感器的土壤湿度水平。如果湿度水平高于450,它会打开继电器,低于450时关闭继电器。
记住,电容式土壤湿度传感器读数越低表示土壤越潮湿,反之亦然。
运行Python应用程序。根据土壤湿度水平,你会看到继电器打开或关闭。试着在干燥的土壤中操作,然后再加水。
Soil Moisture: 638 Soil Moisture is too low, turning relay on. Soil Moisture: 452 Soil Moisture is too low, turning relay on. Soil Moisture: 347 Soil Moisture is ok, turning relay off.
你可以在这个代码-继电器/pi文件夹中找到这段代码。
你的土壤湿度传感器控制继电器程序成功了!
声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。