1.初得樹莓派3b,但是風(fēng)扇聲音太吵了! 后來送的一路繼電器可以用來控制風(fēng)扇就簡單的做了一個CPU溫控風(fēng)扇。 第一步,認(rèn)清GPIO口。
這里明顯可以看出有1-40的編號方式和GPIOXX Ground等等兩種方式。注意01是方的,這個在背面也是可以看清楚的。01是焊錫絲是不一樣的。別反了咯、 第二步,接線 帶螺絲的輸出端是常開、常閉、vcc,輸入端是vcc,gnd,in(數(shù)據(jù))。 1.輸入端接GPIO: vcc和gnd接好樹莓派的5v和接地口,in接GPIO08, 2. 輸出端接電源風(fēng)扇: 帶螺絲的一端,中間的接5v電源(這里直接樹莓派5V口供電)。 兩邊的一個是常開口,一個是常閉口,我們選擇常開口,接風(fēng)扇的正極,風(fēng)扇負(fù)極接地。注:常開口就是NO,in不觸發(fā)時候就是常開路。 第三步,代碼而我這里使用的是BCM編碼方式,就是GPIO08代表的是BCM編碼的這個08的編號方式。 下面就是使用Python來進(jìn)行簡單的控制啦。 代碼如下: import sys import time try: import RPi.GPIO as GPIO #支持GPIO模塊 except RuntimeError: print("Error importting Rpi.GPIO") def cpu_temp(): #這個函數(shù)就是去讀取樹莓派中的一個文件,里面是cpu的溫度/1000就是我們熟悉的溫度了,可以直接Cat該文件 f = open("/sys/class/thermal/thermal_zone0/temp",'r') return float(f.read())/1000 def main(): channel = 8 GPIO.setmode(GPIO.BCM) #BCM就是我們上面所說的08編號方式。 # init 08 off GPIO.setup(channel,GPIO.OUT,initial=GPIO.LOW) #設(shè)置channel=8的接口的編號方式是輸出,默認(rèn)是低電平。 is_close = True while 1: temp = cpu_temp() if is_close: if temp > 45.0: #溫度大于45直接高電平,觸發(fā)風(fēng)扇端的信號。 GPIO.output(channel,GPIO.HIGH) is_close = False else: if temp < 38.0: GPIO.output(channel,GPIO.LOW) is_close = True time.sleep(2.0) #延時再讀取 if __name__ == '__main__': main() #支持GPIO模塊
直接python3 myfengshan.py 第四步,設(shè)置開機(jī)自啟現(xiàn)在我們設(shè)置后臺運(yùn)行,進(jìn)入/etc目錄下:cd /etc,打開rc.local :nano rc.local ,再exit()前加一行: python3 /home/pi/......./myfengshan.py & 中間的是你代碼的絕對路徑,&是后臺運(yùn)行,直接在后臺循環(huán)就可以啦! 我就是小菜鳥,喜歡就點(diǎn)贊給我動力吧! 來源:https://www./content-4-439351.html
|