樹莓派3B散熱風扇控制指令碼
阿新 • • 發佈:2021-02-14
內容過於簡單,加上博主很懶不做詳細介紹了
無聊,突發奇想,樹莓派的散熱風扇可否當檢測到核心晶片溫度過高的時候開始啟動散熱,溫度下來後開始停止工作做。
動手試試
需要一個元器件PNP三極體,基極連線BOARD編碼的3引腳,集電極和發射極分別接在風扇電源線的負極和BOARD編碼的6引腳。風扇電源正極連線引腳4。如圖
這樣當3引腳為低電平時三極體導通風扇啟動,高電平時截止風扇停止。
溫度由CPU內部溫度決定,python指令碼如下。
#!/usr/bin/python2 # -*- coding: utf-8 -*- #自動風扇控制程式,使用wiringPi的gpio命令來操作GPIO import commands,time #控制風扇的GPIO FAN_GPIO = 8 commands.getoutput('sudo gpio mode '+str(FAN_GPIO)+' OUTPUT') while True: # 獲取CPU溫度 tmpFile = open( '/sys/class/thermal/thermal_zone0/temp' ) cpu_temp_raw = tmpFile.read() tmpFile.close() cpu_temp = round(float(cpu_temp_raw)/1000, 1) print (cpu_temp) #如果溫度大於47`C,就啟動風扇 if cpu_temp >= 47 : commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 0') #如果溫度小於42`C,就關閉風扇 if cpu_temp <= 42 : commands.getoutput('sudo gpio write '+str(FAN_GPIO)+' 1') time.sleep(10)
需要注意的是:我採用了wiringPi編碼控制引腳。
END-----------------------------------------------------------------------!