Përmbajtje:
- Hapi 1: Përgatitja e skemave
- Hapi 2: Bërja e Vizatimit të PCB
- Hapi 3: Saldimi
- Hapi 4: Përgatitja e testimit
- Hapi 5: Testimi (Temperatura e CPU -së është Niveli Mesatar)
- Hapi 6: Testimi (Niveli i ftohjes së CPU -së)
- Hapi 7: Furnizimi me energji në qarkun TREGUES
- Hapi 8: Instalimet RPI
- Hapi 9: Programi Python
- Hapi 10: Operacioni TREGUES
- Hapi 11: Krijimi Alternativ (Përdorimi i NPN Transistor) dhe Zhvillimi i Mëtutjeshëm
Video: Treguesi i temperaturës së CPU Raspberry Pi: 11 hapa (me fotografi)
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Më parë kisha futur qark të thjeshtë tregues të statusit të mjedrës pi (në tekstin e mëtejmë si RPI).
Këtë herë, unë do të shpjegoj një qark tregues më të dobishëm për RPI që funksionon si mënyrë pa kokë (pa monitor).
Qarku i mësipërm tregon temperaturën e CPU -së në 4 nivele të ndryshme si:
- LED i gjelbër ndizet kur temperatura e CPU është brenda 30 ~ 39 gradë
- LED i verdhë tregon se temperatura është rritur në rangun prej 40 deri në 45 gradë
- LED i 3 -të i Kuq tregon se CPU bëhet pak e nxehtë duke arritur 46 ~ 49 gradë
- Një LED tjetër i Kuq do të pulsojë kur temperatura të kalojë më shumë se 50 gradë
Gama e mësipërme e temperaturës së CPU -së është koncepti im personal i dizajnit (Gama të tjera të temperaturës mund të konfigurohen duke ndryshuar kushtet e testimit të programit python që kontrollojnë këtë qark).
Duke përdorur këtë qark, ju nuk jeni duke ekzekutuar domosdoshmërisht komandën "vcgencmd masë_temp" në terminalin e tastierës.
Ky qark do të informojë temperaturën aktuale të CPU -së në mënyrë të vazhdueshme dhe të përshtatshme.
Hapi 1: Përgatitja e skemave
Edhe pse ju mund të kontrolloni 4 LED drejtpërdrejt duke përdorur vetëm kodet python, logjikat e kontrollit të programit do të ngarkojnë RPI dhe si rezultat, temperatura e CPU do të rritet më shumë sepse duhet të përdorni pak kod kompleks python vazhdimisht.
Prandaj, unë jam duke minimizuar kompleksitetin e kodit python sa më të thjeshtë dhe logjikën e kontrollit LED jashtë ngarkesës në qarkun e jashtëm të harduerit.
Qarku i treguesit të temperaturës së CPU -së (në tekstin e mëtejmë INICATOR) përbëhet nga pjesët kryesore të mëposhtme.
-Dy opto-bashkues janë të lidhur me kunjat RPI GPIO për të marrë të dhëna të nivelit të temperaturës si 00-> LOW, 01-> Medium, 10-> High, 11-> Nevojë për ftohje.
-74LS139 (ose 74HC139, dekoder 2-në-4 dhe de-multiplexer) daljet e kontrollit (Y0, Y1, Y2, Y3) sipas hyrjeve (A, B)
- Kur temperatura është brenda 30 ~ 39 gradë, dalja e kodit python 00 në kunjat GPIO. Prandaj, 74LS139 merr të dhëna hyrëse 00 (A-> 0, B-> 0)
- Me futjen e 00, dalja Y0 bëhet E ULT. (Ju lutemi referojuni tabelës së së vërtetës të 74LS139)
- Kur dalja Y0 bëhet LOW, aktivizon tranzistorin 2N3906 PNP dhe si rezultat, LED i Gjelbër ndizet
- Po kështu, Y1 (01 -> mediumi i temperaturës së CPU) do të ndezë LED të Verdhë dhe kështu me radhë
- Kur Y3 bëhet I UL,T, DB140 aktivizon qarkun e ndezjes LED NE555 (ky është blinker LED i zakonshëm me bazë 555 IC) i cili është ngarkesë e transistorit BD140 PNP
Komponenti më i rëndësishëm i këtij qarku është 74LS139 i cili deshifron 2 shifra të dhëna në 4 dalje të ndryshme të vetme siç tregohet në tabelën e së vërtetës më poshtë.
Input | Dalje
G (Aktivizo) | B | A | Y0 | Y1 | Y2 | Y3 |
H | X | X | H | H | H | H |
L | L | L | L | H | H | H |
L | L | H | H | L | H | H |
L | H | L | H | H | L | H |
L | H | H | H | H | H | L |
Ndërsa dalja 74LS139 bëhet LOW, transistori i tipit PNP mund ta bëjë qarkun e përgjithshëm të thjeshtë pasi tranzistori PNP ndizet kur terminali bazë bëhet I ULOWT. (Unë do të tregoj versionin NPN në fund të kësaj historie)
Meqenëse potenciometri 100K përfshihet në qarkun e ndezjes LED NE555, koha e ndezjes/fikjes së LED -it të kuq mund të rregullohet lirshëm sipas nevojave.
Hapi 2: Bërja e Vizatimit të PCB
Ndërsa skema e funksionimit të TREGUESIT është shpjeguar, le të fillojmë të bëjmë qarkun.
Para se të bashkoni diçka në tabelën universale, përgatitja e vizatimit të PCB të treguar më sipër është e dobishme për të minimizuar çdo gabim.
Vizatimi është bërë duke përdorur power-point për të gjetur secilën pjesë në tabelën universale dhe duke bërë modele të telave midis pjesëve me tela.
Meqenëse imazhet IC dhe transistor janë të vendosura së bashku me modelin e telave të PCB, bashkimi mund të kryhet duke përdorur këtë vizatim.
Hapi 3: Saldimi
Edhe pse vizatimi origjinal i PCB është bërë duke mos përdorur tela të vetëm për të lidhur komponentët në PCB, unë jam duke u bashkuar disi ndryshe.
Duke përdorur një përçues të vetëm të telave (jo tela kallaji), po përpiqem të zvogëloj madhësinë universale të PCB -së e cila përmban qark TREGUES.
Por siç mund ta shihni në anën e bashkimit të PCB, unë jam duke përdorur tela kallaji gjithashtu sipas modeleve të përshkruara në vizatimin e PCB.
Kur secili komponent është i lidhur sipas modelit origjinal të vizatimit të PCB, bashkimi i pllakës së kompletuar të PCB përfshirë qarkun TREGUES do të funksionojë si duhet.
Hapi 4: Përgatitja e testimit
Para lidhjes RPI, qarku i përfunduar kërkon testim.
Meqenëse mund të ekzistojnë çdo gabim të saldimit, furnizuesi i energjisë DC përdoret për të parandaluar dëmtimet kur shfaqen pantallona të shkurtra ose instalime elektrike të gabuara.
Për testimin e TREGUESIT, dy kabllo shtesë të furnizimit me energji janë të lidhur me lidhësin e furnizimit me energji 5V të qarkut.
Hapi 5: Testimi (Temperatura e CPU -së është Niveli Mesatar)
Kur nuk aplikohet asnjë hyrje 5V, atëherë 74LS139 dekodon hyrjen dhe aktivizon daljen Y0 si LOW (LED i gjelbër i ndezur).
Por 5V aplikohet në hyrjen A, dalja Y1 e 74LS139 aktivizohet (LOW).
Prandaj, LED i Verdhë ndizet siç tregohet në figurën e mësipërme.
Hapi 6: Testimi (Niveli i ftohjes së CPU -së)
Kur 5V aplikon të dy hyrjet (A dhe B) të 74LS139, LED 4 i Kuq po ndizet.
Shkalla e pulsimit mund të ndryshohet duke rregulluar 100K VR siç tregohet në figurën e mësipërme.
Kur të përfundojë testimi, dy kabllo femra Molex 3 pin mund të hiqen.
Hapi 7: Furnizimi me energji në qarkun TREGUES
Për fuqizimin e qarkut TREGUES, unë po përdor ngarkuesin e zakonshëm të telefonit të dorës i cili prodhon përshtatës 5V dhe USB të tipit B siç tregohet në figurën e mësipërme.
Për të shmangur problemin me RPI duke lidhur qarkun TREGUES 3.3V GPIO dhe 5V, ndërfaqja e sinjalit dhe furnizimi me energji janë plotësisht të izoluara me njëra -tjetrën.
Hapi 8: Instalimet RPI
Për ndërfaqen e qarkut TREGUES me RPI, dy kunja GPIO duhet të dedikohen së bashku me dy kunja tokësore.
Nuk ka kërkesa specifike për zgjedhjen e kunjave GPIO.
Ju mund të përdorni çdo kunj GPIO për lidhjen e TREGUESIT.
Por kunjat me tela duhet të përcaktohen si hyrje në 74LS139 (p.sh. A, B) në programin python.
Hapi 9: Programi Python
Me përfundimin e qarkut, kërkohet që programi python të përdorë funksionin TREGUES.
Ju lutemi referojuni tabelës së rrjedhës më lart për më shumë detaje rreth logjikës së programit.
#-*-kodimi: utf-8-*-
nënproces import, sinjal, sys
koha e importit, re
import RPi. GPIO si g
A = 12
B = 16
g.setmode (g. BCM)
g.setup (A, g. OUT)
g.vendosja (B, g. OUT)
##
def signal_handler (sig, frame):
print ( Keni shtypur Ctrl+C! ')
g. dalja (A, e rreme)
g. dalja (B, e rreme)
f. mbyll ()
sys.exit (0)
sinjali. sinjali (sinjali. SIGINT, menaxheri i sinjalit)
##
ndërsa e vërtetë:
f = hapur ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd masë_temp', shell = E vërtetë)
temp_str = temp_str.decode (kodimi = 'UTF-8', gabime = 'i rreptë')
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# nxjerrja e temperaturës aktuale të CPU -së
aktuale_temp = noton (CPU_temp [0])
nëse aktuale_temp> 30 dhe aktuale_temp <40:
# temperaturë e ulët A = 0, B = 0
g. dalja (A, e rreme)
g. dalja (B, e rreme)
koha. gjumi (5)
elif current_temp> = 40 dhe temp_ aktuale <45:
# temperatura e mesme A = 0, B = 1
g. dalja (A, e rreme)
g. dalje (B, E vërtetë)
koha. gjumi (5)
elif current_temp> = 45 dhe temp_ aktuale <50:
# temperaturë e lartë A = 1, B = 0
g. dalje (A, E vërtetë)
g. dalja (B, e rreme)
koha. gjumi (5)
elif aktuale_temp> = 50:
# Ftohja e CPU -së kërkohet e lartë A = 1, B = 1
g. dalje (A, E vërtetë)
g. dalje (B, E vërtetë)
koha. gjumi (5)
koha aktuale = koha. koha ()
formated_time = time.strftime ("%H:%M:%S", time.gmtime (koha_ aktuale))
f.shkruaj (str (koha e formuar)+'\ t'+str (tempulli aktual)+'\ n')
f. mbyll ()
Funksioni kryesor i programit python është si më poshtë.
- Së pari vendosni GPIO 12, 16 si port dalës
- Përcaktimi i mbajtësit të ndërprerjeve Ctrl+C për mbylljen e skedarit të regjistrit dhe fikni GPIO 12, 16
- Kur futeni në lak të pafund, hapni skedarin e regjistrit si modalitet shtojce
- Lexoni temperaturën e CPU duke ekzekutuar komandën "/opt/vc/bin/vcgencmd masë_temp"
- Kur temperatura është në intervalin 30 ~ 39 atëherë dalni 00 për të ndezur LED të Gjelbër
- Kur temperatura është në intervalin 40 ~ 44 atëherë dalja 01 për të ndezur LED të Verdhë
- Kur temperatura është në intervalin 45 ~ 49 atëherë dalni 10 për të ndezur LED të Kuq
- Kur temperatura është më shumë se 50 atëherë dalja 11 për të bërë LED të Kuq të ndizet
- Shkruani vulën e kohës dhe të dhënat e temperaturës në skedarin e regjistrit
Hapi 10: Operacioni TREGUES
Kur gjithçka është në rregull, mund të shihni që çdo LED është ndezur ose pulson sipas temperaturës së CPU.
Nuk keni nevojë të futni komandën shell për të kontrolluar temperaturën aktuale.
Pas mbledhjes së të dhënave në skedarin e regjistrit dhe shndërrimit të të dhënave të tekstit në grafik duke përdorur Excel, rezultati është treguar në figurën e mësipërme.
Kur aplikoni ngarkesa të larta (Drejtimi i dy Shfletuesve Midori dhe luajtja e videove në Youtube), temperatura e CPU -së arrin deri në 57.9C.
Hapi 11: Krijimi Alternativ (Përdorimi i NPN Transistor) dhe Zhvillimi i Mëtutjeshëm
Ky është shembulli i mëparshëm i projektit INDICATOR që përdor transistorë NPN (2N3904 dhe BD139).
Siç mund ta shihni një IC më shumë (74HC04, Invertorët Quad) është i nevojshëm për të drejtuar transistorin NPN pasi tension i nivelit të lartë duhet të aplikohet në bazën e NPN për të ndezur transistorin.
Si përmbledhje, përdorimi i transistorit NPN shton kompleksitet të panevojshëm për të bërë qark TREGUES.
Për zhvillimin e mëtejshëm të këtij projekti, do të shtoj ventilator ftohës siç tregohet në figurën e mësipërme për ta bërë qarkun TREGUES më të dobishëm.
Recommended:
Treguesi i Ngarkesës së CPU Raspberry Pi: 13 Hapa
Treguesi i Ngarkesës së CPU Raspberry Pi: Kur përdorni Raspberry Pi (RPI) si pa kokë pa monitor tastierë, nuk ka indikacione specifike vizuale për të njohur që RPI është duke bërë diçka. Edhe pse terminali në distancë përdoret me SSH, ekzekutimi kohë pas kohe i komandës Linux
Kutia Raspberry Pi e Ftohjes me Tregues të Temperaturës së CPU: 10 Hapa (me fotografi)
Kutia Raspberry Pi e Ftohjes Me Treguesin e Temperaturës së CPU: Unë kisha prezantuar qarkun e treguesit të temperaturës së mjedrës pi (në tekstin e mëtejmë RPI) në projektin e mëparshëm. Qarku thjesht tregon nivelin e ndryshëm të temperaturës RPI 4 të CPU si më poshtë.- LED i gjelbër u ndez kur Temperatura e CPU është brenda 30 ~
Treguesi i temperaturës dhe lagështisë nga Arduino: 7 hapa (me fotografi)
Treguesi i temperaturës dhe lagështisë nga Arduino: Ky udhëzim do të tregojë se si të bëni një kuti e cila mund të tregojë temperaturën dhe lagështinë me Arduino Ju mund ta vendosni këtë kuti në tryezë për matjen e temperaturës dhe lagështisë në dhomën tuaj Me cilësi të lartë të kutisë MDF me prerje me lazer, çdo gjë është i ngjeshur f
Leximi i temperaturës duke përdorur sensorin e temperaturës LM35 Me Arduino Uno: 4 hapa
Leximi i temperaturës duke përdorur sensorin e temperaturës LM35 Me Arduino Uno: Përshëndetje djema në këtë udhëzues ne do të mësojmë se si të përdorim LM35 me Arduino. Lm35 është një sensor i temperaturës i cili mund të lexojë vlerat e temperaturës nga -55 ° C në 150 ° C. Shtë një pajisje 3-terminale që siguron tension analog proporcional me temperaturën. E lartë
Treguesi i temperaturës RGB (me XinaBox): 5 hapa (me fotografi)
Treguesi i temperaturës RGB (me XinaBox): Ky është zyrtarisht artikulli im i parë i Instructables, kështu që unë do të pranoj se po e përdor këtë mundësi tani për ta provuar. Merrni një ndjenjë se si funksionon platforma, e gjithë përvoja e përdoruesit nga ana e saj. Por ndërsa po e bëj këtë, kuptova se mund të