Turinys:

Automatinis Pi aušinimo ventiliatorius: 4 žingsniai (su nuotraukomis)
Automatinis Pi aušinimo ventiliatorius: 4 žingsniai (su nuotraukomis)

Video: Automatinis Pi aušinimo ventiliatorius: 4 žingsniai (su nuotraukomis)

Video: Automatinis Pi aušinimo ventiliatorius: 4 žingsniai (su nuotraukomis)
Video: SKR 1.4 - Marlin automatic stepper fan controller 2024, Lapkritis
Anonim
Automatinis Pi aušinimo ventiliatorius
Automatinis Pi aušinimo ventiliatorius

Paprastas dizainas, skirtas valdyti 5 V mini ventiliatorių su „Python“, nereikalaujant maitinimo plokštės, tranzistorių ir pan. Viskas, ko jums reikia, yra keli kabeliai ir 1 kanalo relė. Aš turėjau 2 kanalų relę, kurią rekomenduoju, nes jos kaina beveik tokia pati ir jūs gaunate papildomą valdiklį. Kas valandą vykdomas scenarijus patikrins pi temperatūrą ir įjungs/išjungs ventiliatorių, kol pasieks norimą temperatūrą.

Kadangi vasara jau atėjo, mano antrinis pi yra šiek tiek per karštas mano skoniui, todėl norėjau jį šiek tiek atvėsinti. Žinoma, aš galėčiau, kad ventiliatorius pūstų visą parą, bet a) tam prireiktų duonos lentos ir kai kurių rezistorių ir tt, nes negaliu tiesiog tiesiogiai prijungti prie GPIO kaiščių. B) parašyti kodą, kuris sąveikauja su „išorė“. pasaulis yra linksmesnis:) ir c) jis tikrai pigus … tereikia kabelių ir relės.

Mėgaukitės ir drąsiai komentuokite!

1 žingsnis: reikalingos medžiagos

Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos
Reikalingos medžiagos

- „crontab“/ „python“, sumontuotas jūsų pi. „Aviečių pi“su dėklu - 5 V mini ventiliatorius (nuoroda) - 2 kanalų relė (nuoroda) - Pora moterų ir moterų kabelių (nuoroda). Aš turėjau tik 1, todėl kompiuteriui naudojau seną DVD garso kabelį ir papildomą f2f kabelį relės valdiklio kaiščiui.

Pastaba: skylė mano aviečių dėklo viršuje buvo šiek tiek mažesnė nei įprasta, todėl turėjau naudoti grąžtą, kad jis būtų šiek tiek platesnis. Galbūt turėtumėte įsigyti dėklą su jau prijungtu 5 V ventiliatoriumi, jei nesate tikri dėl savo dėklo dydžio.

2 žingsnis: grandinė - surinkimas

Grandinė - surinkimas
Grandinė - surinkimas
Grandinė - surinkimas
Grandinė - surinkimas
Grandinė - surinkimas
Grandinė - surinkimas
Grandinė - surinkimas
Grandinė - surinkimas

Kaip matote aukščiau esančiame paveikslėlyje, aš naudoju 2, 6, 12 kaiščius, kurie yra vienodi bet kokio tipo aviečių pi, kuriuos galite turėti, todėl jums nereikia jaudintis dėl to, kad naudoju Pi B modelis rev2.

Prijunkite kabelius taip, kaip aš tai darau.- 5v (kaištis 2) eina į VCC- GND (kaištis 6)- prie GND- GPIO18 (kaištis 2) eina į IN1 Įsitikinkite, kad jūsų relės jungiklis yra nustatytas į: JD-VCC VCC.

Dabar prie relės … Mano sąranka yra šiek tiek keista, žinau. Nenorėjau naudoti išorinio maitinimo šaltinio, norėdamas įjungti ventiliatorių, todėl jį taip pat prijungiau prie pi. Norėdami pritvirtinti ventiliatoriaus kabelius taip pat, kaip aš, turėsite šiek tiek nupjauti tiek 5v, tiek GND kabelį, gaunamą iš pi. Galite naudoti lituoklį ir tam tikrą juostą, kaip aš. Nemanau, kad yra priežastis nerimauti dėl jūsų plytų, nes tik įžeminimo kabelis yra tiesiogiai prijungtas prie pi. Jei atidžiai matote vaizdą, relės jungiklis yra prijungtas prie maitinimo kabelio, o tai reiškia, kad kai ventiliatorius yra išjungtas, tiesioginis ryšys su „pi“taip pat yra „atidarytas“. Taigi bet kokia elektros srovė, kurią ventiliatorius gali sukelti, kai ji išsijungs, negalės grįžti prie pi. Priežastis, kodėl aš naudoju tuos vartus ant relės, yra ta, kad relė turi mažą šviesos diodą. Aš norėjau pamatyti raudoną šviesą, kai ventiliatorius įjungtas, todėl žinau, kai pi atvėsta. Jei norite, galite naudoti kitus vartus, kad atsitiktumėte atvirkščiai. Bet tikriausiai turėsite pakeisti GPIO komandas „python“scenarijuje (funkcijose „fanON“ventiliatorius IŠJUNGTAS, parodytas kitame žingsnyje), kad jis veiktų … Pamatysite, ką turiu omenyje, kai prieisime prie jo.

3 žingsnis: scenarijus

Scenarijus
Scenarijus
Scenarijus
Scenarijus

Dabar nesijaudinkite dėl scenarijų … Praėjusią savaitę aš nežinojau „Python“ir vis dėlto man pavyko parašyti šį scenarijų, perskaičius ir išbandžius įvairius pavyzdžius. Tačiau aš žinau kitas programavimo kalbas, todėl nesijaudinkite, nesprogdinu jūsų pi. Jei naudojau (ką tikriausiai ir padariau) kai kurias kitas parašytas funkcijas, atsiprašau už suteiktus kreditus, bet pakeičiau šį scenarijų daug, jis iš esmės naujas.

Instrukcijos

1) Atsisiųskite priedą arba tiesiog nukopijuokite/įklijuokite jį iš „pastebin“čia ir pavadinkite jį fan.py

2) Įdėkite scenarijų fan.py į/home/pi/aplanką

3] Vykdyti: sudo chmod +x /home/pi/fan.py ir sudo chown pi: pi /home/pi/fan.py

4) Darant prielaidą, kad jūsų „pi execute“įdiegta „crontab“: crontab -e

5) Apačioje nukopijuokite /įklijuokite: 5 * * * * sudo python /home/pi/fan.py ir išsaugokite failą. („Ctrl“+X ir Y)

Šis „crontab“scenarijų vykdys kas 1 val. Scenarijus veiks ir kaip atskiras scenarijus … tai reiškia, kad be automatinio „crontab“veiksmo galite rankiniu būdu įjungti/išjungti ventiliatorių. Tai darote naudodami tokius parametrus:

  • sudo python /home/pi/fan.py arba
  • sudo python /home/pi/fan.py išjungtas

Aš taip pat parašiau nesaugią funkciją, jei paspausite Ctrl+C, kol scenarijus veikia. Jei tai padarysite, ventiliatorius išsijungs prieš baigiant scenarijų.

Taigi, kaip tai veikia?

Kiekvieną valandą scenarijus vykdo ir tikrina pi temperatūrą. Jei temperatūra viršija X vertę, ventiliatorius įsijungia ir lieka įjungtas, kol atvės iki Y vertės. Kai tai padarys, scenarijus išeis. Jei dėl kokių nors priežasčių jis niekada nepasiekia tokios žemos temperatūros ir praeina valanda, kitą kartą įvykdžius scenarijų jis „pamatys“, kad ventiliatorius vis dar įjungtas, o antrasis scenarijus išsijungs … todėl, jei norite, kad ventiliatorius iš tikrųjų įjunkite/išjunkite. Jei ne, tiesiog nustatykite keletą juokingų verčių (pvz., Y = 0 laipsnių Celsijaus), kad ventiliatorius visada liktų įjungtas.) Jei jūsų pi veikia tarp šių dviejų verčių (X, Y), tai reiškia, kad jis veikia esant „priimtinai“temperatūrai, todėl scenarijus tiesiog išeis, kai kas valandą tikrins temperatūrą.

Kai kurių vertybių paaiškinimas

Scenarijaus viršuje yra keletas pasaulinių kintamųjų. Yra kintamųjų, kuriuos turite pakeisti.

# Nustatykite, kuris kaištis valdo relęFAN_PIN = 18 # geltona dėžutė, pvz.: GPIO18 # Temperatūros tikrinimas. Įjunkite ventiliatorių, jei temperatūra> 49C FAN_START = 49 # Temperatūros tikrinimas. Išjunkite pagal 28C FAN_END = 28

Gana akivaizdu, ką čia daryti. Jei naudojote GPIO18 kaip aš, palikite 18 čia, kitaip pakeiskite šią vertę į naudojamą gpio. FAN_START ir FAN_END yra aukšta/žema temperatūra, kurią norite naudoti. Jei norite, netgi galite įdėti plūduriuojančius skaičius, pvz., 49.2

Pastaba:

Prisimeni, kaip nustatiau relę? Jei matote funkcijas „fanON“ir „fanOFF“, pastebėsite, kad aš nustatau „gpio“išvestį į „False“, kad įjungčiau ventiliatorių, ir „True“, kad jį išjungtumėte. Jei pasirinkote kitą relės vartų konfigūraciją, tikriausiai turėsite pakeisti šias vertes.

4 žingsnis: paskutinės pastabos

Baigiamosios pastabos
Baigiamosios pastabos

Atsiprašau už išsamias instrukcijas. Norėjau apimti visų tipų vartotojus. Tikriausiai yra geresnis būdas tai padaryti, bet aš padariau viską, ką galėjau su turimomis medžiagomis ir savo kilnumu grandinėse ir python.

Mažas premijos kodas

Jei norite greito būdo patikrinti pi temperatūrą, sukurkite failą, pavadintą temp aplanke/usr/local/bin, tada nukopijuokite ir įklijuokite šį scenarijų:

pastebin.com/rUYqGjV5

vykdyti: chmod +x/usr/local/bin/temp, kad jis būtų vykdomas.

Tada tiesiog įveskite temp iš bet kurio aplanko, kad pamatytumėte savo pi temperatūrą.

Rekomenduojamas: