摘要:本文將以一個(gè)硬件小白的程序員視角詳細(xì)講述如何用三極管擴(kuò)展普通的樹莓派散熱風(fēng)扇從而實(shí)現(xiàn)溫控功能。
為了防止樹莓派長(zhǎng)時(shí)間開機(jī)運(yùn)轉(zhuǎn)溫度過高導(dǎo)致觸發(fā)過熱關(guān)機(jī),很多人都給裝了散熱風(fēng)扇,但某寶買的風(fēng)扇插上之后是隨著開機(jī)一直運(yùn)轉(zhuǎn)的,不能隨溫度變化而自動(dòng)開閉,很多時(shí)候做無用功浪費(fèi)電且產(chǎn)生噪音。本文將以一個(gè)硬件小白的程序員視角詳細(xì)講述如何用三極管擴(kuò)展普通的樹莓派散熱風(fēng)扇從而實(shí)現(xiàn)溫控功能。
在制作自己的溫控風(fēng)扇前,本人也查閱了網(wǎng)上其他資料,最終選用了三極管方案,在接線方式中選擇了自制杜邦線連接三極管和風(fēng)扇,這樣的好處是線材的長(zhǎng)度可以隨自己需要裁剪,而且可以輕松塞進(jìn)樹莓派的外殼中。全程無焊接,以后不用也可方便拆卸線材、杜邦頭、三極管元件等用作其他用途。
準(zhǔn)備材料
以下材料均可某寶購(gòu)買,為了省事其中杜邦頭和杜邦膠殼是買的套件,一盒里邊有公母端子各200個(gè),以及各種類型的膠殼。
1.樹莓派散熱風(fēng)扇
2.尖嘴鉗:用來剝線和壓線
3.導(dǎo)線
4.杜邦端子:母端子6個(gè),公端子2個(gè)
5.杜邦膠殼:1P1個(gè),2P2個(gè),3P一個(gè)(非必須)
6.三極管S8550
第一步:制作杜邦線
杜邦線:電子行業(yè)杜邦線可用于實(shí)驗(yàn)板的引腳擴(kuò)展,增加實(shí)驗(yàn)項(xiàng)目等。可以非常牢靠地和插針連接,無需焊接,可以快速進(jìn)行電路試驗(yàn)。
杜邦端子:分為兩種,公端子和母端子。
杜邦膠殼:按照可封裝的端子數(shù),可插一個(gè)端子的為1P,可插兩個(gè)端子的為2P,四個(gè)端子以上的按照排列分為單排XP或雙排XP,例如單排4P為可插端子都排列成一排,雙排4P為可插端子分為兩排,每排兩個(gè)端子。
上圖:
以上簡(jiǎn)介如須詳細(xì)了解請(qǐng)自行搜索相關(guān)資料。
此處需要制作4跟杜邦線:
其中兩根杜邦線兩頭都帶母端子(簡(jiǎn)稱母對(duì)母)。一根用于接三極管基極到到主板GPIO14引腳上,另一根用于接三極管集電極到主板地線引腳上。
剩余兩根公對(duì)母杜邦線,其中一根公端子插風(fēng)扇正極(紅線)母端子,另一頭母端子插主板正極,另外一根公端子插風(fēng)扇負(fù)極(黑線)母端子,另一頭母端子接三極管發(fā)射集上。
本人買的導(dǎo)線為單銅芯導(dǎo)線(外徑0.58mm),后來發(fā)現(xiàn)制作一根杜邦線僅用一根導(dǎo)線會(huì)卡不牢固,容易發(fā)生導(dǎo)線與杜邦端子脫落,因此每跟杜邦線都是由兩根單銅芯導(dǎo)線組成,因此本處需要裁剪8根導(dǎo)線。
1.剪8根導(dǎo)線,每根導(dǎo)線長(zhǎng)度大約7cm。
2.剝線,用尖嘴鉗將導(dǎo)線兩端分別露出約1cm銅芯。
3.擰線(此處如果買的導(dǎo)線較粗,請(qǐng)略過這一步),將兩根導(dǎo)線并排,分別將兩端外露銅芯用尖嘴鉗擰在一起。因?yàn)橥饴躲~芯較細(xì)為了防止接觸不良,我將外露銅芯反復(fù)折疊了兩次并擰緊,實(shí)際導(dǎo)線外露的長(zhǎng)度大概2.5mm左右。
4.壓線,將導(dǎo)線外露銅芯壓入杜邦端子中,由于手頭沒有專門的壓線鉗,此步驟也用尖嘴鉗完成。成品見圖:
注意:
如果買的導(dǎo)線較粗1cm左右,只需剪4根即可。(但如果太粗的話可能塞不進(jìn)端子里邊),另外剝線時(shí)導(dǎo)線兩端只要露出大概2-3mm左右即可
第二步:用膠殼封裝杜邦端子(不用膠殼的這一步可以略過)
第三步:接線
第四步:寫驅(qū)動(dòng)程序
執(zhí)行驅(qū)動(dòng)腳本前需要安裝相關(guān)依賴yum install -y python-devel,以及RPi.GPIO模塊
wget https://jaist.dl.sourceforge....
附上驅(qū)動(dòng)代碼:
#!/usr/bin/python2 import sys import time try: import RPi.GPIO as GPIO except RuntimeError: print("Error importing RPi.GPIO! This is probably because you need superuser privileges. You can achieve this by using "sudo" to run your script") def cpu_temp(): with open("/sys/class/thermal/thermal_zone0/temp", "r") as f: return float(f.read())/1000 def main(): channel = 14 GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) # open air fan first GPIO.setup(channel, GPIO.OUT, initial=GPIO.LOW) is_close = False while True: temp = cpu_temp() if is_close == True: if temp > 50.0: print time.ctime(), temp, "open air fan" GPIO.output(channel, GPIO.LOW) is_close = False else: if temp < 45.0: print time.ctime(), temp, "close air fan" GPIO.output(channel, GPIO.HIGH) is_close = True time.sleep(15.0) #print time.ctime(), temp, is_close if __name__ == "__main__": main()
注意:因?yàn)檫@里使用的三極管為PNP型三極管,基極施加低電平時(shí)才導(dǎo)通電路,如果是用的NPN型三極管則與之相反。
本人的啟動(dòng)腳本:nohup python -u /usr/local/bin/tempctl.py >/usr/local/bin/tempctl.log 2>&1 &
如有需要可自己注冊(cè)為服務(wù)并設(shè)置開機(jī)自啟,這里不再贅述。
最終成果:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/42729.html
摘要:前段時(shí)間集團(tuán)舉行前端比賽,借此機(jī)會(huì)熟悉了樹莓派相關(guān)的東西,特此記錄一些相關(guān)的文檔和開發(fā)指南。一個(gè)鏈接控制硬件的基礎(chǔ)庫(kù),比如控制串口,和鏈接串口的設(shè)備進(jìn)行通信等,他有很多版本,樹莓派的版本見這里安裝有點(diǎn),麻煩。 前段時(shí)間集團(tuán)舉行前端IOT比賽,借此機(jī)會(huì)熟悉了樹莓派相關(guān)的東西,特此記錄一些相關(guān)的文檔和開發(fā)指南。 先介紹一些樹莓派的入門教程 阮一峰的樹莓派入門 微雪電子-樹莓派硬件中文官網(wǎng) ...
摘要:但是如果你和我是一樣的人,你想自己攢一臺(tái)奇快無比的深度學(xué)習(xí)的電腦。可能對(duì)深度學(xué)習(xí)最重要的指標(biāo)就是顯卡的顯存大小。性能不錯(cuò),不過夠貴,都要美元以上,哪怕是舊一點(diǎn)的版本。電源我花了美元買了一個(gè)的電源。也可以安裝,這是一個(gè)不同的深度學(xué)習(xí)框架。 是的,你可以在一個(gè)39美元的樹莓派板子上運(yùn)行TensorFlow,你也可以在用一個(gè)裝配了GPU的亞馬遜EC2的節(jié)點(diǎn)上跑TensorFlow,價(jià)格是每小時(shí)1美...
閱讀 1412·2021-09-23 11:21
閱讀 3111·2019-08-30 14:14
閱讀 3195·2019-08-30 13:56
閱讀 4144·2019-08-30 11:20
閱讀 1956·2019-08-29 17:23
閱讀 2768·2019-08-29 16:14
閱讀 1699·2019-08-28 18:18
閱讀 1494·2019-08-26 12:14