Innehållsförteckning:

Automatiserad kylfläkt för Pi: 4 steg (med bilder)
Automatiserad kylfläkt för Pi: 4 steg (med bilder)

Video: Automatiserad kylfläkt för Pi: 4 steg (med bilder)

Video: Automatiserad kylfläkt för Pi: 4 steg (med bilder)
Video: Kjell-TV - Bygg en 3D-skrivarserver (Hur funkar det?) 2024, November
Anonim
Automatiserad kylfläkt för Pi
Automatiserad kylfläkt för Pi

Beskrivning En enkel design för att styra en mini 5v fläkt med python, utan att behöva en brödbräda, transistorer etc. Allt du behöver är några kablar och ett 1 -kanalsrelä. Jag hade ett tvåkanalsrelä som jag rekommenderar, eftersom det är nästan samma pris plus att du får en extra kontroller. Ett skript som kör varje timme kommer att kontrollera pi: s temperatur och slå på/av en fläkt tills önskad temperatur har uppnåtts.

Inledning Eftersom sommaren är över oss går min sekundära pi lite för varmt för min smak så jag ville svalna lite då och då. Naturligtvis kan jag ha en fläkt som blåser på den dygnet runt, men a) som skulle kräva en brödbräda och några motstånd etc eftersom jag inte kan koppla in den på GPIO -stiften direkt b) skriva någon kod som interagerar med "utsidan" världen är roligare:) och c) det är riktigt billigt … allt du behöver är några kablar och relä.

Njut, och kommentera gärna!

Steg 1: Material som behövs

Material behövs
Material behövs
Material behövs
Material behövs
Material behövs
Material behövs
Material behövs
Material behövs

- crontab / python installerat på din pi- En hallon pi med ett fodral - 5v mini fläkt (länk) - 2 kanals relä (länk) - Par hona till honkablar (länk). Jag hade bara 1, så jag använde en gammal DVD -ljudkabel för datorn och den extra f2f -kabeln för reläkontrollens stift.

Obs: Hålet ovanpå mitt hallonfodral var lite mindre än vanligt, så jag var tvungen att använda en borrmaskin för att göra den lite bredare. Kanske borde du få ett fodral med en 5v fläkt redan kopplad till den, om du inte är säker på storleken på det på ditt fodral.

Steg 2: Kretsen - Montering

Kretsen - Montering
Kretsen - Montering
Kretsen - Montering
Kretsen - Montering
Kretsen - Montering
Kretsen - Montering
Kretsen - Montering
Kretsen - Montering

Som du kan se på bilden ovan använder jag stift 2, 6, 12, som alla är desamma för alla typer av hallonpi du kan ha, så du behöver inte oroa dig för att jag använder en Pi Modell B rev2.

Anslut kablarna på samma sätt som jag gör.- 5v (pin2) går till VCC- GND (pin6) till GND- GPIO18 (pin2) går till IN1 Kontrollera att bygeln på ditt relä är inställd på: JD-VCC VCC.

Nu till stafetten … Min inställning är lite konstig, jag vet. Jag ville inte använda en extern strömkälla för att starta fläkten, så jag kopplade den på pi också. Du måste göra ett litet snitt på både 5v- och GND -kabeln som kommer från pi för att ansluta fläktkablarna på samma sätt som jag gör. Du kan använda ett lödkolv och lite tejp som jag gjorde. Jag tror inte att det finns någon anledning att oroa sig för att mura din pi, eftersom bara jordkabeln är direkt ansluten till pi. Om du ser noggrant på bilden är reläomkopplaren ansluten till strömkabeln, vilket betyder att när fläkten är avstängd är den direkta anslutningen med pi också "öppen". Så någon elektrisk ström som fläkten kan producera när den släcks kommer inte att kunna återvända till pi. Anledningen till att jag använder dessa portar på reläet är att reläet har en liten ledning ovanpå den. Jag ville se det röda ljuset när fläkten är på, så jag vet när pi svalnar. Om du vill kan du använda de andra portarna så att det omvända händer. Men du skulle förmodligen behöva vända GPIO -kommandona i python -skriptet (i funktioner fanON fan OFF OFF visas i nästa steg) för att få det att fungera … Du får se vad jag menar när vi kommer till det.

Steg 3: Skriptet

Manuset
Manuset
Manuset
Manuset

Var inte rädd om skript … Förra veckan kunde jag inte python och ändå lyckades jag skriva detta manus genom att läsa och testa olika exempel. Jag kan andra programmeringsspråk men oroa dig inte, jag kommer inte att spränga din pi. Om jag använde (vilket jag förmodligen gjorde) några funktioner som någon annan skrev, ber jag om ursäkt för inga krediter, men jag har justerat detta skript så mycket, det är i princip nytt.

Instruktioner

1) Ladda ner bilagan, eller bara kopiera/klistra in den från pastebin här och ge den namnet fan.py

2) Placera fan.py -skriptet i/home/pi/mappen

3) Kör: sudo chmod +x /home/pi/fan.py och sudo chown pi: pi /home/pi/fan.py

4) Antar att du har crontab installerat på din pi execute: crontab -e

5) Längst ner kopiera /klistra in: 5 * * * * sudo python /home/pi/fan.py och spara filen. (Ctrl+X och Y)

Denna crontab kommer att köra skriptet var 1: e timme. Skriptet fungerar också som ett fristående manus … vilket innebär att förutom den automatiska crontab -åtgärden kan du manuellt slå på/av fläkten själv. Du gör detta med parametrar som så här:

  • sudo python /home/pi/fan.py på eller
  • sudo python /home/pi/fan.py av

Jag skrev också en felsäker funktion om du trycker på Ctrl+C medan skriptet körs. Om du gör det stängs fläkten av innan skriptet avslutas.

Så hur fungerar det här?

Varje timme körs skriptet och kontrollerar pi -temperaturen. Om temperaturen är över ett X -värde slås fläkten på och stannar tills den svalnar till ett Y -värde. När det gör det kommer scriptet att avslutas. Om det av någon anledning aldrig når den låga temperaturen och en timme passerar, nästa gång manuset körs kommer det att 'se' att fläkten fortfarande är på och det andra skriptet kommer att sluta … så använd realistiska temperaturvärden om du vill att fläkten ska faktiskt slå på/av. Om inte, ställ bara in några löjliga värden (som Y = 0 grader Celsius) så att fläkten alltid kommer att vara på.) Om din pi fungerar mellan de två värdena (X, Y) betyder det att det fungerar under "accepterade" temperaturer så manuset kommer bara att avsluta när det kontrollerar temperaturen varje timme.

Förklarar några värden

Högst upp i manuset finns det några globala variabler. Det finns de variabler du måste ändra.

# Identifiera vilken stift som styr reläet FAN_PIN = 18 # den gula rutan ex: GPIO18 # Temperaturkontroll. Starta fläkten om temp> 49C FAN_START = 49 # Temperaturkontroll. Stäng av under 28C FAN_END = 28

Det är ganska uppenbart vad man ska göra här. Om du använde GPIO18 som jag gjorde, lämna 18 här, annars ändra det värdet till den gpio du använde. FAN_START och FAN_END är de höga/låga temperaturerna du vill använda. Du kan till och med lägga float -nummer där om du vill, som 49.2

Notera:

Kommer du ihåg hur jag ställde in mitt relä? Om du ser funktioner fanON och fanOFF märker du att jag ställer in gpio -utgången på False för att slå på fläkten och True för att stänga av den. Om du väljer en annan gate -konfiguration på reläet måste du förmodligen vända dessa värden.

Steg 4: Slutanteckningar

Slutanteckningar
Slutanteckningar

Jag ber om ursäkt för de detaljerade instruktionerna. Jag ville täcka alla typer av användare. Det finns förmodligen ett bättre sätt att göra allt detta men jag gjorde så gott jag kunde med materialen i handen och med min noobness i kretsar och python.

En liten bonuskod

Om du vill ha ett snabbt sätt att kontrollera temperaturen på din pi, skapa en fil som heter temp i/usr/local/bin -mappen och kopiera sedan klistra in det här skriptet inuti:

pastebin.com/rUYqGjV5

execute: chmod +x/usr/local/bin/temp för att göra det körbart.

Skriv sedan bara temp från vilken mapp du vill för att se din pi -temperatur.

Rekommenderad: