Innholdsfortegnelse:

Automatisert kjølevifte for Pi: 4 trinn (med bilder)
Automatisert kjølevifte for Pi: 4 trinn (med bilder)

Video: Automatisert kjølevifte for Pi: 4 trinn (med bilder)

Video: Automatisert kjølevifte for Pi: 4 trinn (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Automatisert kjølevifte for Pi
Automatisert kjølevifte for Pi

Beskrivelse En enkel design for å styre en mini 5v vifte med python, uten behov for brødbrett, transistorer etc. Alt du trenger er noen få kabler og et 1 -kanals relé. Jeg hadde et 2 -kanals relé som jeg anbefaler, siden det er nesten samme pris pluss at du får en ekstra kontroller. Et skript som utfører hver time, vil kontrollere temperaturen til pi -en og slå på/av en vifte til ønsket temperatur er nådd.

Innledning Siden sommeren er over oss går sekundær -pi -en min litt for varm etter min smak, så jeg ønsket å kjøle den ned litt nå og da. Selvfølgelig kan jeg få en vifte til å blåse på den døgnet rundt, men a) som krever et brødbrett og noen motstander osv. Fordi jeg ikke kan koble den til GPIO -pinnene direkte b) skrive noen kode som samhandler med "utsiden" verden er morsommere:) og c) den er veldig billig … alt du trenger er noen kabler og relé.

Kos deg, og kommenter gjerne!

Trinn 1: Nødvendige materialer

Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs
Materialer som trengs

- crontab / python installert på pi- En bringebær -pi med etui - 5v minivifte (lenke) - 2 -kanals relé (lenke) - Par kvinnelige til kvinnelige kabler (lenke). Jeg hadde bare 1, så jeg brukte en gammel DVD -lydkabel til PCen og den ekstra f2f -kabelen for relékontrolleren.

Merk: Hullet på toppen av bringebærhuset var litt mindre enn vanlig, så jeg måtte bruke en drill for å gjøre det litt bredere. Kanskje du bør få et etui med en 5v vifte som allerede er festet til det, hvis du ikke er sikker på størrelsen på saken.

Trinn 2: Kretsen - Montering

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

Som du kan se på bildet ovenfor, bruker jeg pinne 2, 6, 12, som alle er like for alle typer bringebærpi du måtte ha, så du trenger ikke å bekymre deg for at jeg bruker en Pi Modell B rev2.

Koble til kablene på samme måte som jeg gjør det.- 5v (pin2) går til VCC- GND (pin6) til GND- GPIO18 (pin2) går til IN1 Sørg for at jumperen på reléet ditt er satt til: JD-VCC VCC.

Nå til stafetten … Oppsettet mitt er litt rart, jeg vet. Jeg ønsket ikke å bruke en ekstern strømkilde for å starte viften, så jeg festet den litt på pi også. Du må gjøre et lite kutt i både 5v og GND -kabelen som kommer fra pi for å feste viftekablene på samme måte som jeg gjør det. Du kan bruke et loddejern og litt tape som jeg gjorde. Jeg tror ikke det er en grunn til å bekymre deg for å mure pien din, fordi bare jordkabelen er direkte koblet til pi. Hvis du ser nøye på bildet, er relébryteren koblet til strømkabelen, noe som betyr at når viften er slått av, er den direkte forbindelsen med pi også "åpen". Så enhver elektrisk strøm viften kan produsere når den går av, vil ikke ha noen mulighet til å gå tilbake til pi. Grunnen til at jeg bruker disse portene på reléet, er fordi reléet har en liten ledning på toppen av det. Jeg ønsket å se det røde lyset når viften var PÅ, så jeg vet når pi kjøler seg ned. Hvis du vil, kan du bruke de andre portene slik at det omvendte skjer. Men du må sannsynligvis reversere GPIO -kommandoene i python -skriptet (i funksjoner fanON fan OFF vist i neste trinn) for å få det til å fungere … Du får se hva jeg mener når vi kommer til det.

Trinn 3: Skriptet

Manuset
Manuset
Manuset
Manuset

Vær ikke redd for skripting … Forrige uke kjente jeg ikke python, og likevel klarte jeg å skrive dette skriptet ved å lese og teste forskjellige eksempler der ute. Jeg kjenner andre programmeringsspråk, men ikke bekymre deg, jeg kommer ikke til å sprenge pien din. Hvis jeg brukte (som jeg sannsynligvis gjorde) noen funksjoner som noen andre skrev, beklager jeg ingen kreditter gitt, men jeg har justert dette skriptet så mye, det er i utgangspunktet nytt.

Bruksanvisning

1) Last ned vedlegget, eller bare kopier/lim det inn fra pastebin her og gi det navnet fan.py

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

3) Utfør: sudo chmod +x /home/pi/fan.py og sudo chown pi: pi /home/pi/fan.py

4) Forutsatt at du har crontab installert på pi utfør: crontab -e

5) Nederst kopier /lim inn: 5 * * * * sudo python /home/pi/fan.py og lagre filen. (Ctrl+X og Y)

Denne crontab vil kjøre skriptet hver 1. Skriptet fungerer også som et frittstående skript … betyr at i tillegg til den automatiske crontab -handlingen kan du slå viften av/på manuelt selv. Du gjør dette ved hjelp av parametere slik:

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

Jeg skrev også en feilsikker funksjon i tilfelle du trykker Ctrl+C mens skriptet kjører. Hvis du gjør det, vil viften slå seg av før skriptet avsluttes.

Så, hvordan fungerer dette?

Hver time kjører og kontrollerer skriptet pi -temperaturen. Hvis temperaturen er over en X -verdi, vil viften slås på og forbli på til den avkjøles til en Y -verdi. Når det gjør det, vil skriptet gå ut. Hvis den av en eller annen grunn aldri når den lave temperaturen og det går en time, vil neste gang manuset kjøres, se at viften fortsatt er på og det andre skriptet vil slutte … så bruk realistiske temperaturverdier hvis du vil at viften skal faktisk slå på/av. Hvis ikke, sett bare noen latterlige verdier (som Y = 0 grader Celsius) slik at viften alltid vil være på.) Hvis pi -en din fungerer mellom de to verdiene (X, Y), betyr det at den opererer under "aksepterte" temperaturer, så skriptet vil bare gå ut når det sjekker temperaturen hver time.

Forklarer noen verdier

På toppen av manuset er det noen globale variabler. Det er variablene du må endre.

# Identifiser hvilken pinne som styrer reléetFAN_PIN = 18 # den gule boksen eks: GPIO18 # Temperaturkontroll. Start vifte hvis temp> 49C FAN_START = 49 # Temperaturkontroll. Slå av under 28C FAN_END = 28

Det er ganske åpenbart hva du skal gjøre her. Hvis du brukte GPIO18 som jeg gjorde, så la 18 stå her, ellers endre verdien til gpio'en du brukte. FAN_START og FAN_END er de høye/lave temperaturene du vil bruke. Du kan til og med sette float -tall der hvis du vil, for eksempel 49.2

Merk:

Husker du måten jeg konfigurerte stafetten på? Hvis du ser funksjonene fanON og fanOFF, vil du legge merke til at jeg setter gpio -utgangen til False for å slå på viften og True for å slå den av. Hvis du valgte en annen portkonfigurasjon på reléet, må du sannsynligvis reversere disse verdiene.

Trinn 4: Sluttnotater

Sluttnotater
Sluttnotater

Jeg beklager de detaljerte instruksjonene. Jeg ønsket å dekke alle typer brukere. Det er sannsynligvis en bedre måte å gjøre alt dette, men jeg gjorde det beste jeg kunne med materialene i hånden og med min noobness i kretser og python.

En liten bonuskode

Hvis du vil ha en rask måte å kontrollere temperaturen på pi -en din, kan du lage en fil som heter temp i/usr/local/bin -mappen og deretter kopiere og lime inn dette skriptet inne:

pastebin.com/rUYqGjV5

execute: chmod +x/usr/local/bin/temp for å gjøre det kjørbart.

Deretter er det bare å skrive inn temp fra hvilken mappe du vil for å se pi -temperaturen.

Anbefalt: