2

我想知道是否可以通过 GPIO 引脚控制我的风扇(连接到树莓派板上)。

基本上,我想要一个脚本来监控芯片的温度并在超过 45'C 时打开风扇。我的风扇用 12v AC 外部供电。

是否可以将 GPIO 引脚用作开关。

4

3 回答 3

2

您可以使用继电器“切换”它:http: //www.susa.net/wordpress/2012/06/raspberry-pi-relay-using-gpio/

以下是有关如何使用 Python 对其进行编程的一些说明:http: //lwk.mjhosting.co.uk/ ?p=343

正如 gnibbler 所指出的(谢谢!),第二个链接是关于 rev1 板的。如果你有一个 rev2 板,一些 GPIO 引脚已经改变。elinux.org/RPi_Low-level_peripherals

于 2013-06-12T20:20:35.327 回答
2

正如@Fredrick 所说,这个问题更适合https://raspberrypi.stackexchange.com/

由于您要切换交流负载,因此继电器是最简单的解决方案。

您可以使用一个小晶体管来切换机械继电器,但您会听到这种咔嗒声,这可能会很烦人。

另一种选择是固态继电器,它可以无声切换,但价格更高

于 2013-06-12T20:19:23.287 回答
0

您可以通过以下方式获取 CPU 温度:

/opt/vc/bin/vcgencmd measure_temp

上面的命令返回一个值,例如temp=49.4'C可以将其解析为浮点数,例如

temp=$(/opt/vc/bin/vcgencmd measure_temp | cut -f2 -d= | cut -f1 -d\')

echo $temp
### output: 49.4

下一个,

  1. 得到一个像这样或类似的继电器。
  2. 如thisthisthis article所示连接gpio引脚。假设您使用了 GPIO pin 21
  3. 使用这样的控制脚本:
#!/usr/bin/env python
import time
import sys
from RPi import GPIO

pin = 21

# GPIO setup; GPIO Numbers instead of board numbers
GPIO.setmode(GPIO.BCM)
GPIO.setup(chan, GPIO.OUT)


GPIO.output(chan, GPIO.HIGH)  # Turn on

time.sleep(2)
GPIO.output(chan, GPIO.LOW)  # Turn off

GPIO.cleanup()

作为替代方案,您可以使用gpio命令行(随wiringpi软件包提供):

gpio -g mode 21 out
gpio -g write 21 1   ## TURN ON
gpio -g write 21 0   ## TUNR OFF

注意:继电器具有三个连接器,允许您在常开模式或常关模式下使用它。您可以使用左侧或右侧连接器(相对于中央连接器)切换模式。如果您使用常开模式,则继电器将在 LOW0时打开并在 HIGH 时关闭1,即即使 pi 断电,您的继电器也会打开。

于 2019-10-06T05:54:34.117 回答