我想知道是否可以通过 GPIO 引脚控制我的风扇(连接到树莓派板上)。
基本上,我想要一个脚本来监控芯片的温度并在超过 45'C 时打开风扇。我的风扇用 12v AC 外部供电。
是否可以将 GPIO 引脚用作开关。
我想知道是否可以通过 GPIO 引脚控制我的风扇(连接到树莓派板上)。
基本上,我想要一个脚本来监控芯片的温度并在超过 45'C 时打开风扇。我的风扇用 12v AC 外部供电。
是否可以将 GPIO 引脚用作开关。
您可以使用继电器“切换”它: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
正如@Fredrick 所说,这个问题更适合https://raspberrypi.stackexchange.com/。
由于您要切换交流负载,因此继电器是最简单的解决方案。
您可以使用一个小晶体管来切换机械继电器,但您会听到这种咔嗒声,这可能会很烦人。
另一种选择是固态继电器,它可以无声切换,但价格更高
您可以通过以下方式获取 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
下一个,
#!/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
注意:继电器具有三个连接器,允许您在常开模式或常关模式下使用它。您可以使用左侧或右侧连接器(相对于中央连接器)切换模式。如果您使用常开模式,则继电器将在 LOW
0
时打开并在 HIGH 时关闭1
,即即使 pi 断电,您的继电器也会打开。