İçindekiler:

Pi için Otomatik Soğutma Fanı: 4 Adım (Resimlerle)
Pi için Otomatik Soğutma Fanı: 4 Adım (Resimlerle)

Video: Pi için Otomatik Soğutma Fanı: 4 Adım (Resimlerle)

Video: Pi için Otomatik Soğutma Fanı: 4 Adım (Resimlerle)
Video: Babalar çocukları okula bırakırken 2024, Kasım
Anonim
Pi için Otomatik Soğutma Fanı
Pi için Otomatik Soğutma Fanı

Açıklama Bir mini 5v fanı python ile kontrol etmek için basit bir tasarım, breadboard, transistör vb.'ye ihtiyaç duymadan. Tek ihtiyacınız olan birkaç kablo ve 1 kanallı röle. 2 kanallı bir rölem vardı, fiyatı hemen hemen aynı olduğu için, ayrıca ekstra bir kontrolcü alıyorsunuz. Her saat başı çalışan bir komut dosyası, pi'nin sıcaklığını kontrol edecek ve istenen sıcaklığa ulaşılana kadar bir fanı açıp kapatacaktır.

Giriş Yaz yaklaştığımız için ikincil pi'm benim zevkime göre biraz fazla ısınıyor, bu yüzden arada sırada biraz soğutmak istedim. Tabii ki 7/24 ona üfleyen bir fana sahip olabilirim ama a) bu bir devre tahtası ve bazı dirençler vb. gerektirir çünkü onu doğrudan GPIO pinlerine takamıyorum b) 'dışarı' ile etkileşime giren bir kod yazmak dünya daha eğlenceli:) ve c) gerçekten ucuz… tüm ihtiyacınız olan bazı kablolar ve röle.

Keyfini çıkarın ve yorum yapmaktan çekinmeyin!

Adım 1: Gerekli Malzemeler

İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler
İhtiyac duyulan malzemeler

- pi'nize kurulu crontab / python - Kasalı bir ahududu pi - 5v mini fan (bağlantı) - 2 kanallı röle (bağlantı) - Birkaç dişi-dişi kablo (bağlantı). Sadece 1 tane vardı, bu yüzden PC için eski bir DVD ses kablosu ve röle kontrol pimi için fazladan f2f kablosu kullandım.

Not: Ahududu kasamın üstündeki delik normalden biraz daha küçüktü, bu yüzden biraz daha genişletmek için matkap kullanmak zorunda kaldım. Belki de kasanızın boyutundan emin değilseniz, zaten 5v fan takılı bir kasa almalısınız.

Adım 2: Devre - Montaj

Devre - Montaj
Devre - Montaj
Devre - Montaj
Devre - Montaj
Devre - Montaj
Devre - Montaj
Devre - Montaj
Devre - Montaj

Yukarıdaki resimden de görebileceğiniz gibi, sahip olabileceğiniz herhangi bir ahududu pi türü için aynı olan 2, 6, 12 pinlerini kullanıyorum, bu yüzden bir Pi kullandığım konusunda endişelenmenize gerek yok. Model B rev2.

Kabloları benim yaptığım gibi takın.- 5v(pin2) VCC'ye gider- GND(pin6) GND'ye- GPIO18(pin2) IN1'e gider Rölenizdeki jumper'ın şu şekilde ayarlandığından emin olun: JD-VCC VCC.

Şimdi röleye… Kurulumum biraz garip, biliyorum. Fanı çalıştırmak için harici bir güç kaynağı kullanmak istemedim, bu yüzden onu pi'ye de bağladım. Fan kablolarını benim yaptığım gibi takmak için hem pi'den gelen 5v hem de GND kablosuna küçük bir kesim yapmanız gerekecek. Benim yaptığım gibi bir havya ve biraz bant kullanabilirsiniz. Pi'nizi tuğlalamak için endişelenmenize gerek olduğunu düşünmüyorum, çünkü sadece topraklama kablosu doğrudan pi'ye bağlıdır. Görselde dikkatli bakarsanız güç kablosuna röle anahtarı bağlı yani fan kapalıyken pi ile direkt bağlantı da 'açık' oluyor. Yani fanın söndüğünde üreteceği herhangi bir elektrik akımının pi'ye geri dönüşü olmayacaktır. Rölede bu kapıları kullanmamın nedeni, rölenin üzerinde küçük bir led olmasıdır. Fan AÇIK konumdayken kırmızı ışığı görmek istedim, bu yüzden pi'nin ne zaman soğuduğunu biliyorum. İsterseniz, tersinin olması için diğer kapıları kullanabilirsiniz. Ancak muhtemelen GPIO komutlarını tersine çevirmeniz gerekir. python betiğinde (bir sonraki adımda gösterilen fanON fan OFF fonksiyonlarında) çalışmasını sağlamak için… Başladığımızda ne demek istediğimi anlayacaksınız.

3. Adım: Komut Dosyası

Senaryo
Senaryo
Senaryo
Senaryo

Şimdi komut dosyası oluşturma konusunda çıldırmayın… Geçen hafta python'u bilmiyordum ve yine de bu senaryoyu çeşitli örnekleri okuyarak ve test ederek yazmayı başardım. Diğer programlama dillerini biliyorum ama endişelenmeyin, pi'nizi patlatmayacağım. Başka birinin yazdığı bazı işlevleri kullanırsam (ki muhtemelen yaptım), verilen kredi için özür dilerim, ancak bu betiği değiştirdim. çok, temelde yeni.

Talimatlar

1) Eki indirin veya buraya pastebin'den kopyalayıp yapıştırın ve fan.py olarak adlandırın

2) fan.py betiğini /home/pi/ klasörüne yerleştirin

3) Yürütün: sudo chmod +x /home/pi/fan.py ve sudo chown pi:pi /home/pi/fan.py

4) Pi yürütmenize crontab'ın kurulu olduğunu varsayarsak: crontab -e

5) En altta kopyala / yapıştır: 5 * * * * sudo python /home/pi/fan.py ve dosyayı kaydedin. (Ctrl+X ve Y)

Bu crontab, betiği her 1sa5 dakikada bir çalıştıracaktır. Komut dosyası, bağımsız bir komut dosyası olarak da çalışacak… yani otomatik crontab eyleminin yanı sıra, fanı kendiniz manuel olarak açıp kapatabilirsiniz. Bunu, aşağıdaki gibi parametreleri kullanarak yaparsınız:

  • sudo python /home/pi/fan.py açık veya
  • sudo python /home/pi/fan.py kapalı

Ayrıca, komut dosyası çalışırken Ctrl+C'ye basarsanız, güvenli bir işlev yazdım. Bunu yaparsanız, komut dosyası çıkmadan önce fan kapanacaktır.

Peki, bu nasıl çalışır?

Her saat betik yürütülür ve pi'nin sıcaklığını kontrol eder. Sıcaklık bir X değerinin üzerindeyse, fan açılacak ve bir Y değerine soğuyana kadar açık kalacaktır. Bunu yaptığında, komut dosyası çıkacaktır. Herhangi bir nedenle o düşük sıcaklığa asla ulaşmazsa ve bir saat geçerse, komut dosyası bir sonraki çalıştırılışında fanın hala açık olduğunu 'görecektir' ve ikinci komut dosyası kapanacaktır… bu nedenle fanın çalışmasını istiyorsanız gerçekçi sıcaklık değerleri kullanın. aslında aç/kapat. Değilse, fanın her zaman açık kalması için bazı saçma değerler (Y = 0 santigrat derece gibi) ayarlayın.) Pi'niz bu 2 değer (X, Y) arasında çalışıyorsa, bunun anlamı şudur: 'kabul edilen' sıcaklıklarda çalıştığından, komut dosyası her saat başı sıcaklığı kontrol ettiğinde çıkacaktır.

Bazı değerlerin açıklanması

Komut dosyasının en üstünde bazı global değişkenler vardır. Değiştirmeniz gereken değişkenler var.

# Röleyi hangi pinin kontrol ettiğini belirleyinFAN_PIN = 18 # sarı kutu ör: GPIO18 # Sıcaklık kontrolü. Sıcaklık > 49C ise fanı çalıştırın FAN_START = 49 # Sıcaklık kontrolü. 28C altında kapat FAN_END = 28

Burada ne yapılacağı çok açık. GPIO18'i benim yaptığım gibi kullandıysanız, burada 18 bırakın, aksi takdirde bu değeri kullandığınız gpio ile değiştirin. FAN_START ve FAN_END, kullanmak istediğiniz yüksek/düşük sıcaklıklardır. Hatta isterseniz, 49.2 gibi kayan sayılar da koyabilirsiniz.

Not:

Rölemi nasıl kurduğumu hatırlıyor musun? fanON ve fanOFF işlevlerini görürseniz, fanı açmak için gpio çıkışını False ve kapatmak için True olarak ayarladığımı fark edeceksiniz. Rölede başka bir kapı konfigürasyonu seçtiyseniz, muhtemelen bu değerleri tersine çevirmeniz gerekecektir.

4. Adım: Son Notlar

Son Notlar
Son Notlar

Ayrıntılı talimatlar için özür dilerim. Her tür kullanıcıyı kapsamak istedim. Muhtemelen tüm bunları yapmanın daha iyi bir yolu vardır ama elimdeki malzemelerle ve devre ve python konusundaki acemiliğimle elimden gelenin en iyisini yaptım.

Küçük bir bonus kodu

Pi'nizin sıcaklığını kontrol etmenin hızlı bir yolunu istiyorsanız, /usr/local/bin klasöründe temp adlı bir dosya oluşturun ve ardından bu komut dosyasını kopyalayıp içine yapıştırın:

pastebin.com/rUYqGjV5

yürütün: yürütülebilir hale getirmek için chmod +x /usr/local/bin/temp.

Ardından, pi'nizin sıcaklığını görmek için hangi klasörden temp yazın.

Önerilen: