失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 树莓派 linux pwm 树莓派使用pwm控制风扇

树莓派 linux pwm 树莓派使用pwm控制风扇

时间:2020-04-23 07:41:42

相关推荐

树莓派 linux pwm 树莓派使用pwm控制风扇

使用gpio readall查看针脚名称

$ gpio readall

+-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+

| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |

+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+

| | | 3.3v | | | 1 || 2 | | | 5v | | |

| 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | |

| 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |

| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | IN | TxD | 15 | 14 |

| | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 |

| 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |

| 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |

| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |

| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |

| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |

| 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |

| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |

| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |

| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |

| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |

| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |

| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |

| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |

| 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |

| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |

+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+

| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |

+-----+-----+---------+------+---+---Pi 4B--+---+------+---------+-----+-----+

如果出现:

Oops - unable to determine board type... model: 17

使用 Python 的 RPi.GPIO 模块进行 pwm 输出

# 设置接口定义模式

GPIO.setmode(GPIO.BCM)

# 设置GPIO口

GPIO.setup(FAN_GPIO, GPIO.OUT, initial=GPIO.HIGH)

# 初始化PWM的频率,frequency=50Hz

pwm = GPIO.PWM(FAN_GPIO, 50)

# 为防止风扇卡死,开机全速运行n秒

pwm.start(100)

# 修改pwm频率

pwm.ChangeFrequency(para_freq)

# 修改pwm占空比

pwm.ChangeDutyCycle(para_duty)

# 关闭pwm

pwm.stop()

# 清理GPIO资源

GPIO.cleanup()

读取 cpu 温度

vcgencmd measure_temp

cat /sys/class/thermal/thermal_zone0/temp

def get_cpu_temp():

with open('/sys/class/thermal/thermal_zone0/temp') as f:

cpu_temp = int(f.read())

return cpu_temp

开关三极管电路

如果觉得《树莓派 linux pwm 树莓派使用pwm控制风扇》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。