J'ai acheté deux boitiers ventilé compatible avec le pilotage (3 fils : noir masse, rouge 5V, bleu régulation).
Le fabricant de ce boitier :
https://wiki.52pi.com/index.php?spm=a2g ... le=ZP-0140 ou
https://wiki.52pi.com/index.php?spm=a2g ... le=ZP-0141 propose un script Py que j'ai légèrement corrigé (ventilation au repos en dessous de 45°, a partir de 45° a 66%, et au dessus de 60° le ventilateur est a 100% avec une pause de 60 secondes entre chaque mesure)
Code : Tout sélectionner
#fan_control.py
#!/usr/bin/python3
import RPi.GPIO as GPIO
import time
import subprocess
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(14, GPIO.OUT)
pwm = GPIO.PWM(14,100)
print("\nPress Ctrl+C to quit \n")
dc = 0
pwm.start(dc)
try:
while True:
temp = subprocess.getoutput("vcgencmd measure_temp|sed 's/[^0-9.]//g'")
if round(float(temp)) >= 60:
dc = 100
pwm.ChangeDutyCycle(dc)
print("CPU Temp:",float(temp)," ventilateur a % ",dc)
time.sleep(60.0)
if round(float(temp)) >= 45:
dc = 66
pwm.ChangeDutyCycle(dc)
print("CPU Temp:",float(temp)," ventilateur a % ",dc)
time.sleep(60.0)
else:
dc = 0
pwm.ChangeDutyCycle(dc)
print("CPU Temp:",float(temp)," ventilateur au repos",dc)
time.sleep(60.00)
except KeyboardInterrupt:
pwm.stop()
GPIO.cleanup()
print("Ctrl + C pressed -- Ending program")
4 Performance Option -> P3 Fan -> Oui -> 14 (GPIO) -> 60 (degrés) -> Oui et Reboot
pour qu'il se lance au démarrage :
sudo nano /etc/rc.local
et coller " python3 fan_control.py " puis faire "CTRL+X" "O" "Entrer" pour enregistrer
Enfin un ventilateur qui fonctionne lorsque c'est nécessaire
Edit,
en cas d'erreur des GPIO avec le kernel 6.6
Code : Tout sélectionner
sudo apt remove python3-rpi-lgpio
sudo apt install python3-rpi.gpio