Spisu treści:

Automatyczny wentylator chłodzący dla Pi: 4 kroki (ze zdjęciami)
Automatyczny wentylator chłodzący dla Pi: 4 kroki (ze zdjęciami)

Wideo: Automatyczny wentylator chłodzący dla Pi: 4 kroki (ze zdjęciami)

Wideo: Automatyczny wentylator chłodzący dla Pi: 4 kroki (ze zdjęciami)
Wideo: Automatyczne chłodzenie Raspberry Pi 2024, Lipiec
Anonim
Automatyczny wentylator chłodzący do Pi
Automatyczny wentylator chłodzący do Pi

OpisProsta konstrukcja do sterowania mini wentylatorem 5V za pomocą Pythona, bez konieczności stosowania płytki stykowej, tranzystorów itp. Wystarczy kilka kabli i 1 kanałowy przekaźnik. Miałem przekaźnik 2-kanałowy, który polecam, ponieważ jest prawie w tej samej cenie plus dodatkowy kontroler. Skrypt wykonywany co godzinę będzie sprawdzał temperaturę pi i włączał/wyłączał wentylator aż do osiągnięcia żądanej temperatury.

Wprowadzenie Odkąd zbliża się lato, moje drugie pi jest trochę za gorące jak na mój gust, więc chciałem trochę ochłodzić od czasu do czasu. Oczywiście mógłbym mieć wentylator dmuchający w to 24/7, ale a) wymagałoby to płytki stykowej i niektórych rezystorów itp., ponieważ nie mogę po prostu podłączyć go bezpośrednio do pinów GPIO b) napisać kod, który współdziała z „zewnętrznym” świat jest fajniejszy:) i c) jest naprawdę tani… wszystko czego potrzebujesz to kable i przekaźnik.

Ciesz się i nie krępuj się komentować!

Krok 1: Potrzebne materiały

Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały
Potrzebne materiały

- crontab / python zainstalowany na twoim pi - raspberry pi z obudową - mini wentylator 5v (link) - przekaźnik 2 kanałowy (link) - kilka kabli żeńskich do żeńskich (link). Miałem tylko 1, więc użyłem starego kabla audio DVD do komputera i dodatkowego kabla f2f do pinu kontrolera przekaźnika.

Uwaga: Otwór na górze mojej malinowej obudowy był nieco mniejszy niż zwykle, więc musiałem użyć wiertarki, aby ją nieco poszerzyć. Może powinieneś dostać obudowę z już dołączonym do niej wentylatorem 5V, jeśli nie jesteś pewien, jaki jest jej rozmiar na swojej obudowie.

Krok 2: Obwód – montaż

Obwód - montaż
Obwód - montaż
Obwód - montaż
Obwód - montaż
Obwód - montaż
Obwód - montaż
Obwód - montaż
Obwód - montaż

Jak widać na powyższym obrazku, używam pinów 2, 6, 12, które są takie same dla każdego rodzaju Raspberry Pi, więc nie musisz się martwić, że używam Pi Model B wersja 2.

Podłącz kable w ten sam sposób, w jaki to robię. - 5v (pin2) idzie do VCC - GND (pin6) do GND - GPIO18 (pin2) idzie do IN1Upewnij się, że zworka na przekaźniku jest ustawiona na: JD-VCC VCC.

Teraz do przekaźnika… Mój układ jest trochę dziwny, wiem. Nie chciałem używać zewnętrznego źródła zasilania do uruchomienia wentylatora, więc podłączyłem go również do pi. Będziesz musiał zrobić małe cięcie zarówno na kablu 5V, jak i GND pochodzącym z pi, aby podłączyć kable wentylatora w ten sam sposób, w jaki to robię. Możesz użyć lutownicy i jakiejś taśmy, tak jak ja. Nie sądzę, że jest powód do obaw o zamurowanie pi, ponieważ tylko kabel uziemiający jest bezpośrednio podłączony do pi. Jeśli uważnie przyjrzysz się obrazowi, przełącznik przekaźnika jest podłączony do kabla zasilającego, co oznacza, że gdy wentylator jest wyłączony, bezpośrednie połączenie z pi jest również „otwarte”. Więc jakikolwiek prąd elektryczny, który wentylator może wytworzyć, gdy się wyłączy, nie będzie miał możliwości powrotu do pi. Powodem, dla którego używam tych bramek na przekaźniku, jest to, że przekaźnik ma na górze maleńką diodę LED. Chciałem zobaczyć czerwone światło, gdy wentylator jest włączony, więc wiem, kiedy pi stygnie. Jeśli chcesz, możesz użyć innych bramek, aby stało się odwrotnie. Ale prawdopodobnie będziesz musiał odwrócić polecenia GPIO w skrypcie Pythona (w funkcjach fanON fan OFF pokazanych w następnym kroku), aby to działało… Zobaczysz, co mam na myśli, kiedy do tego dojdziemy.

Krok 3: Skrypt

Scenariusz
Scenariusz
Scenariusz
Scenariusz

Teraz nie przerażaj się skryptami… W zeszłym tygodniu nie znałem Pythona, a mimo to udało mi się napisać ten skrypt, czytając i testując różne przykłady. Znam jednak inne języki programowania, więc nie martw się, nie zamierzam wysadzić twojego pi. Jeśli użyłem (co prawdopodobnie zrobiłem) niektórych funkcji, które napisał ktoś inny, przepraszam za brak kredytów, ale poprawiłem ten skrypt, więc dużo, to w zasadzie nowe.

Instrukcje

1) Pobierz załącznik lub po prostu skopiuj/wklej go z pastebin tutaj i nazwij go fan.py

2) Umieść skrypt fan.py w folderze /home/pi/

3) Wykonaj: sudo chmod +x /home/pi/fan.py i sudo chown pi:pi /home/pi/fan.py

4) Zakładając, że masz zainstalowany crontab na swoim pi, wykonaj: crontab -e

5) Na dole skopiuj/wklej: 5 * * * * sudo python /home/pi/fan.py i zapisz plik. (Ctrl+X i Y)

Ten crontab wykona skrypt co 1h5m. Skrypt będzie działał również jako samodzielny skrypt… co oznacza, że oprócz zautomatyzowanej akcji crontab możesz ręcznie włączyć/wyłączyć wentylator. Robisz to za pomocą parametrów takich jak:

  • sudo python /home/pi/fan.py na or
  • sudo python /home/pi/fan.py off

Napisałem również funkcję failsafe na wypadek, gdybyś nacisnął Ctrl + C podczas działania skryptu. Jeśli to zrobisz, wentylator wyłączy się przed zakończeniem działania skryptu.

Więc jak to działa?

Skrypt wykonuje się co godzinę i sprawdza temperaturę pi. Jeśli temperatura jest wyższa od wartości X, wentylator włączy się i pozostanie włączony, aż ostygnie do wartości Y. Kiedy tak się stanie, skrypt zakończy działanie. Jeśli z jakiegoś powodu nigdy nie osiągnie tak niskiej temperatury i minie godzina, następnym razem, gdy skrypt zostanie wykonany, „zobaczy”, że wentylator jest nadal włączony, a drugi skrypt zostanie zamknięty… więc użyj realistycznych wartości temperatury, jeśli chcesz, aby wentylator faktycznie włącz / wyłącz. Jeśli nie, po prostu ustaw kilka absurdalnych wartości (takich jak Y = 0 stopni Celsjusza), aby wentylator zawsze pozostawał włączony. Jeśli twoje pi działa między tymi 2 wartościami (X, Y), oznacza to, że działa w „akceptowanych” temperaturach, więc skrypt zakończy działanie, gdy co godzinę będzie sprawdzał temperaturę.

Wyjaśnienie niektórych wartości

W górnej części skryptu znajduje się kilka zmiennych globalnych. Są zmienne, które musisz zmienić.

# Zidentyfikuj, który pin steruje przekaźnikiem FAN_PIN = 18 # żółte pole np: GPIO18 # Kontrola temperatury. Uruchom wentylator, jeśli temp > 49C FAN_START = 49 # Kontrola temperatury. Wyłącz poniżej 28C FAN_END = 28

To dość oczywiste, co tu robić. Jeśli użyłeś GPIO18 tak jak ja, zostaw 18 tutaj, w przeciwnym razie zmień tę wartość na użyte gpio. FAN_START i FAN_END to wysokie/niskie temperatury, których chcesz użyć. Możesz nawet umieścić tam liczby zmiennoprzecinkowe, jeśli chcesz, na przykład 49,2

Notatka:

Pamiętasz sposób, w jaki ustawiłem swój przekaźnik? Jeśli zobaczysz funkcje fanON i fanOFF, zauważysz, że ustawiam wyjście gpio na False, aby włączyć wentylator i True, aby go wyłączyć. Jeśli wybierzesz inną konfigurację bramki na przekaźniku, prawdopodobnie będziesz musiał odwrócić te wartości.

Krok 4: Uwagi końcowe

Uwagi końcowe
Uwagi końcowe

Przepraszam za szczegółowe instrukcje. Chciałem objąć wszystkich typów użytkowników. Prawdopodobnie jest lepszy sposób na zrobienie tego wszystkiego, ale zrobiłem wszystko, co mogłem, z materiałami w ręku i moją noobowością w obwodach i pytonie.

Mały kod bonusowy

Jeśli chcesz szybko sprawdzić temperaturę swojego pi, utwórz plik o nazwie temp w folderze /usr/local/bin, a następnie skopiuj i wklej ten skrypt do środka:

pastebin.com/rUYqGjV5

wykonaj: chmod +x /usr/local/bin/temp aby uczynić go wykonywalnym.

Następnie wpisz temp z dowolnego folderu, aby zobaczyć temperaturę swojego pi.

Zalecana: