Përmbajtje:

Tifoz ftohës i automatizuar për Pi: 4 hapa (me fotografi)
Tifoz ftohës i automatizuar për Pi: 4 hapa (me fotografi)

Video: Tifoz ftohës i automatizuar për Pi: 4 hapa (me fotografi)

Video: Tifoz ftohës i automatizuar për Pi: 4 hapa (me fotografi)
Video: Let's Chop It Up (Episode 44) (Subtitles) : Wednesday August 25, 2021 2024, Nëntor
Anonim
Tifoz ftohës i automatizuar për Pi
Tifoz ftohës i automatizuar për Pi

Përshkrim Një dizajn i thjeshtë për të kontrolluar një mini ventilator 5v me python, pa pasur nevojë për një dërrasë buke, tranzistorë etj. E tëra që ju nevojiten janë disa kabllo dhe një stafetë me 1 kanal. Unë kisha një stafetë me 2 kanale të cilën ju rekomandoj, pasi çmimi i tij është pothuajse i njëjtë plus ju merrni një kontrollues shtesë. Një skenar që ekzekutohet çdo orë do të kontrollojë temperaturën e pi dhe ndez/fik një ventilator derisa të arrihet temperatura e dëshiruar.

Duke qenë se vera po na afrohet, pi im sekondar po nxehet shumë për shijen time, kështu që doja ta freskoja pak herë pas here. Sigurisht që mund të kem një ventilator që fryn në të 24/7 por a) që do të kërkonte një dërrasë buke, dhe disa rezistorë etj sepse nuk mund ta lidh vetëm me kunjat e GPIO drejtpërdrejt b) duke shkruar një kod që ndërvepron me "jashtë" bota është më argëtuese:) dhe c) është vërtet e lirë … gjithçka që ju nevojitet janë disa kabllo dhe stafetë.

Shijoni dhe mos ngurroni të komentoni!

Hapi 1: Materialet e nevojshme

Materialet e nevojshme
Materialet e nevojshme
Materialet e nevojshme
Materialet e nevojshme
Materialet e nevojshme
Materialet e nevojshme
Materialet e nevojshme
Materialet e nevojshme

- crontab / python i instaluar në pi tuaj- Një pi mjedër me një kasë - mini ventilator 5v (lidhje) - stafetë me 2 kanale (lidhje) - Çift kabllo femër me femër (lidhje). Unë kisha vetëm 1, kështu që kam përdorur një kabllo të vjetër audio DVD për PC dhe atë kabllo shtesë f2f për kunjin e kontrolluesit të stafetës.

Shënim: Vrima në majë të kutisë sime të mjedrës ishte pak më e vogël se zakonisht, kështu që më duhej të përdorja një stërvitje për ta bërë atë pak më të gjerë. Ndoshta ju duhet të merrni një kuti me një tifoz 5v tashmë të bashkangjitur në të, nëse nuk jeni të sigurt për madhësinë e tij në kutinë tuaj.

Hapi 2: Qarku - Asambleja

Qarku - Asambleja
Qarku - Asambleja
Qarku - Asambleja
Qarku - Asambleja
Qarku - Asambleja
Qarku - Asambleja
Qarku - Asambleja
Qarku - Asambleja

Siç mund ta shihni nga imazhi më lart, unë jam duke përdorur kunjat 2, 6, 12, të cilat janë të gjitha të njëjta për çdo lloj pi mjedre që mund të keni, kështu që nuk keni pse të shqetësoheni për faktin se unë jam duke përdorur një Pi Modeli B rev2.

Lidhni kabllot në të njëjtën mënyrë si po e bëj.- 5v (pin2) shkon në VCC- GND (pin6) në GND- GPIO18 (pin2) shkon në IN1 Sigurohuni që kërcyesi në stafetën tuaj të jetë vendosur: JD-VCC KQV.

Tani për stafetën … Konfigurimi im është pak i çuditshëm, e di. Unë nuk doja të përdorja një burim të jashtëm të energjisë për të ndezur ventilatorin, kështu që e lidha atë gjithashtu me pi. Ju do të duhet të bëni një prerje të vogël në kabllon 5v dhe GND që vijnë nga pi për të bashkuar kabllot e ventilatorit në të njëjtën mënyrë siç po e bëj. Ju mund të përdorni një hekur bashkues dhe disa kaseta si unë. Unë nuk mendoj se ka një arsye për t'u shqetësuar për tulla të pi tuaj, sepse vetëm kablloja e tokëzimit është e lidhur drejtpërdrejt me pi. Nëse shihni me kujdes imazhin, çelësi i stafetës është i lidhur me kabllon e energjisë, që do të thotë kur tifozi është i fikur, lidhja e drejtpërdrejtë me pi është gjithashtu "e hapur". Pra, çdo rrymë elektrike që ventilatori mund të prodhojë kur fiket, nuk do të ketë asnjë mënyrë për t'u kthyer përsëri në pi. Arsyeja pse po i përdor ato porta në stafetë, është sepse stafeta ka një prizë të vogël në krye të saj. Doja të shikoja dritën e kuqe kur ventilatori është në ON, kështu që unë e di kur pi po ftohet. Nëse dëshironi, mund të përdorni portat e tjera në mënyrë që të ndodhë e kundërta. Por ndoshta do t'ju duhet të ndryshoni komandat GPIO në shkrimin python (në funksionet fanON fan OFF treguar në hapin tjetër) për ta bërë atë të funksionojë … Do të shihni se çfarë dua të them kur të arrijmë tek ai.

Hapi 3: Shkrimi

Shkrimi
Shkrimi
Shkrimi
Shkrimi

Tani mos u shqetësoni për skriptimin … Javën e kaluar nuk e njihja python dhe megjithatë arrita ta shkruaj këtë skenar duke lexuar dhe testuar shembuj të ndryshëm atje. Unë njoh gjuhë të tjera programimi edhe pse mos u shqetësoni, nuk do ta shpërthej pi -në tuaj. Nëse kam përdorur (të cilat ndoshta i kam bërë) disa funksione që dikush tjetër i ka shkruar, kërkoj falje për asnjë kredit të dhënë, por e kam ndryshuar këtë skenar kështu shumë, është në thelb e re.

Udhëzimet

1) Shkarkoni bashkëngjitjen, ose thjesht kopjoni/ngjisni atë nga pastebin këtu dhe emërtojeni fan.py

2) Vendosni skriptin fan.py në/home/pi/folder

3) Ekzekutoni: sudo chmod +x /home/pi/fan.py dhe sudo chown pi: pi /home/pi/fan.py

4) Duke supozuar se keni instaluar crontab në pi tuaj ekzekutoni: crontab -e

5) Në fund kopjoni /ngjisni: 5 * * * * sudo python /home/pi/fan.py dhe ruani skedarin. (Ctrl+X dhe Y)

Ky crontab do të ekzekutojë skenarin çdo 1h5m. Skenari do të funksionojë si një skenar i pavarur gjithashtu … që do të thotë përveç veprimit të automatizuar të crontab ju mund ta ndizni/fikni manualisht vetë ventilatorin. Ju e bëni këtë duke përdorur parametra si më poshtë:

  • sudo python /home/pi/fan.py në ose
  • sudo python /home/pi/fan.py off

Unë gjithashtu shkrova një funksion të dështuar në rast se shtypni Ctrl+C ndërsa skenari po funksionon. Nëse e bëni këtë, ventilatori do të mbyllet para se skenari të dalë.

Pra, si funksionon kjo?

Çdo orë skenari ekzekuton dhe kontrollon temperaturën e pi. Nëse temperatura është mbi një vlerë X, ventilatori do të ndizet dhe do të qëndrojë ndezur derisa të ftohet në një vlerë Y. Kur të ndodhë, skenari do të dalë. Nëse për ndonjë arsye nuk arrin kurrë atë temperaturë të ulët dhe kalon një orë, herën tjetër kur skenari të ekzekutohet do të "shohë" që ventilatori është akoma i ndezur dhe skenari i dytë do të pushojë … kështu që përdorni vlera realiste të temperaturës nëse doni që tifozi të në të vërtetë ndizeni/fikni. Nëse jo, thjesht vendosni disa vlera qesharake (si Y = 0 gradë Celsius) në mënyrë që ventilatori të qëndrojë gjithmonë i ndezur.) Nëse pi juaj po funksionon midis atyre 2 vlerave (X, Y), do të thotë që funksionon nën temperatura të 'pranuara', kështu që skenari do të dalë vetëm kur kontrollon temperaturën çdo orë.

Shpjegimi i disa vlerave

Në krye të skenarit ka disa ndryshore globale. Ka variabla që duhet të ndryshoni.

# Identifikoni se cila pin kontrollon stafetënFAN_PIN = 18 # kutia e verdhë p.sh.: GPIO18 # Kontrolli i temperaturës. Nisni ventilatorin nëse temperatura> 49C FAN_START = 49 # Kontroll i temperaturës. Mbylle nën 28C FAN_END = 28

Prettyshtë shumë e qartë se çfarë të bëni këtu. Nëse keni përdorur GPIO18 si unë, atëherë lini 18 këtu, përndryshe ndryshoni atë vlerë në gpio që keni përdorur. FAN_START dhe FAN_END janë temperaturat e larta/të ulëta që dëshironi të përdorni. Ju madje mund të vendosni numra notues atje nëse dëshironi, si 49.2

Shënim:

E mbani mend mënyrën se si e vendosa stafetën time? Nëse shihni funksionet fanON dhe fanOFF do të vini re se unë jam duke vendosur daljen e gpio në False për të ndezur ventilatorin dhe True për ta fikur. Nëse keni zgjedhur një konfigurim tjetër të portës në stafetë, me siguri do t'ju duhet t'i ndryshoni ato vlera.

Hapi 4: Shënimet përfundimtare

Shënimet përfundimtare
Shënimet përfundimtare

Ju kërkoj falje për udhëzimet e hollësishme. Doja të mbuloja të gjitha llojet e përdoruesve. Ndoshta ka një mënyrë më të mirë për ta bërë të gjithë këtë, por unë bëra më të mirën që munda me materialet në dorë dhe me pafuqinë time në qark dhe python.

Një kod bonus i vogël

Nëse doni një mënyrë të shpejtë për të kontrolluar temperaturën e pi tuaj, krijoni një skedar të quajtur temp në dosjen/usr/local/bin dhe më pas kopjoni ngjiteni këtë skript brenda:

pastebin.com/rUYqGjV5

ekzekutoni: chmod +x/usr/local/bin/temp për ta bërë atë të ekzekutueshëm.

Pastaj thjesht shkruani temp nga cilido dosje që jeni për të parë temperaturën e pi tuaj.

Recommended: