RaspberryPi
Raspberry Pi Smart Fan Control

Raspberry Pi Smart Fan Control

controllare la velocità di una ventola per raffreddare il nostro Raspberry.

Creiamo uno file Phython dove preferiamo, ad esempio /home/pi/SFC.py
per cui apriamo una finestra del terminale e digitiamo:

sudo nano /home/pi/SFC.py

Ora riportiamo quanto segue all’interno dell’editor:

#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import os
  # Return CPU temperature as float
def getCPUtemp():
    cTemp = os.popen('vcgencmd measure_temp').readline()
    return float(cTemp.replace("temp=","").replace("'C\n",""))
GPIO.setmode(GPIO.BCM)
GPIO.setup(25,GPIO.OUT)
GPIO.setwarnings(False)
p=GPIO.PWM(25,100)
p.start(100)
time.sleep(1)
while True:
    CPU_temp = getCPUtemp()
    if CPU_temp > 70.0:
         p.ChangeDutyCycle(100)
    elif CPU_temp > 60.0:
         p.ChangeDutyCycle(50)
    elif CPU_temp > 50.0:
         p.ChangeDutyCycle(30)
    elif CPU_temp > 45.0:
         p.ChangeDutyCycle(25)
    elif CPU_temp > 40.0:
         p.ChangeDutyCycle(20)
    elif CPU_temp > 35.0:
         p.ChangeDutyCycle(15)
    elif CPU_temp > 30.0:
         p.ChangeDutyCycle(10)
    else:
         p.ChangeDutyCycle(0)
    time.sleep(60)
p.stop()
GPIO.cleanup()

Per salvare il file premiamo la combinazione di tasti CTRL+O e per uscire dall’editor CTRL+X

Arrivati a questo punto dobbiamo rendere avviabile questo script all’avvio del nostro Raspberry Pi per cui digitiamo:

sudo nano /etc/rc.local

e aggiungiamo la seguente linea prima della scritta “exit 0”

su - pi -c "sudo python /home/pi/SFC.py &" &

Collegamenti

Schema dei collegamenti

Componenti necessari:

  • Un transistor NPN  2N2222A; 
  • Una resistenza da 110 Ohm;
  • Una piccola Ventolina a 5v;
  • una breadboard;
  • qualche jumper cable;

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *