Eski sulama kovasını kazmak ve bahçede çömlek yapmak zorunda olmak bazı insanların mutluluk fikri olabilir, ancak bu pek de 21. yüzyılda değil. Ayrıca, başka bir bilgisayar korsanlığı projesi için telafi edebileceğiniz zamanı düşünün.
Bu Raspberry Pi projesinde, bir hava tahmini hizmetine bağlı bir Raspberry Pi ve bir pompaya bağlı bir eklenti kartı ile bitkilerin tüm sulanmasını otomatik hale getireceğiz.
İhtiyacın olacak
- Herhangi bir Ahududu Pi A+ B+ veya Pi 2
- En yeni Raspbian işletim sistemi
- Piface Röle Artı
- 12v Peristatik pompa
- 12v 1A güç kaynağı
- Terminali vidalamak için namlu jakı
- Akvaryum havayolu
- Lehimleme becerileri
- Wi-Fi dongle'ı
- Açık bir weathermap.org hesabı
- Kodun tamamı buradan indirilebilir
Başlamak için, pompamızın terminallerine bağlantıları lehimleyerek başlıyoruz. Bunlar, sıcak tutkal tabancası veya ısı büzüşmeli ile sabitlenebilir. Silindirik kriko vidalı terminallerde daha fazla kablo kullanmanız ve artı (+) ve eksi (-) olduğunu not etmeniz gerekecektir.
Piface Relay Plus'ta röle 3'ü bulun ve gücünüzün GND'sini (-) COM terminaline ve ayrıca pompa bağlantılarından birine takın. NO (Normalde Açık) terminalini bulun ve kalan her iki kabloyu da takın. Ardından, Piface Relay Plus kartını Raspberry Pi'nize takmanız ve masaüstünü başlatmanız gerekir.
Piface kartınız için yazılımı yüklemek ve openweathermap'i Python 3 ile kullanmak için XTerminal'i açın ve şunu yazın:
$ sudo apt-get update && sudo apt-get install python3-pifacerelayplus
$ sudo pip-3.2 kurulumu pyowm
Programlama menüsü aracılığıyla Python 3 IDLE'yi açın ve yeni bir dosya oluşturun. Projenizi garden_manager.py olarak kaydedin.
i mport pifacerelayplus, time, pyowm ile Piface, pyowm ve time kütüphanelerini import ederek kodu başlatıyoruz .
Ardından, key adında bir değişken oluşturuyoruz ve API anahtarımızı http://openweathermap.org adresinden kaydediyoruz.
Şimdi iki fonksiyon oluşturmamız gerekiyor: ilk fonksiyonumuz Piface'e bağlı pompayı kontrol ediyor. Bu işleve pompa diyoruz ve tek bir argüman alıyor: bahçeyi ne kadar süre sulamalı?
Röle kullanmak için işlev çağrısını kısaltmak üzere pfr değişkenini kullanırız . Ardından, mevcut durumuna bağlı olarak röleyi açıp kapatıyoruz. Ardından, röleyi kapatmadan önce time.sleep() işlevini kullanarak suyun akmasına izin vererek duraklatıyoruz.
İkinci işlevimiz, sonraki 24 saat için hava tahminini alır. İki bağımsız değişken gerekir: konumumuz ve tahmin edilecek gün sayısı. Daha sonra openweathermap API anahtarımızı saklamak için bir değişken yaratıyoruz ve diğer iki değişken tahmin fonksiyonlarının çıktısını içeriyor.
Tahmin verilerini yinelemek için bir for döngüsü kullanıyoruz. Bu özellik, birden fazla gün için hava durumu tahmini yapmak için kullanıldığında kendini gösterir:
Son olarak, işlev, tahmini kontrol etmek için bir if…else ifadesi kullanır. Yağmur beklenmiyorsa, bu bilgi pump() işlevi çağrılmadan önce kabuğa yazdırılır. Yağmur bekleniyorsa, tekrar kontrol etmeden önce 24 saat beklemeden önce bu bilgi kabuğa yazdırılır.
Son olarak, önümüzdeki 24 saat boyunca Blackpool için tahmin() işlevini çağıracak bir döngü oluşturmamız gerekiyor. Tabii ki, bulunduğunuz yeri, yaşadığınız yere değiştirebilirsiniz.
Her zamanki gibi, bu noktada kodunuzu kaydetmek isteyeceksiniz ve test etmek için Çalıştır > Modülü Çalıştır'a tıklayın. Test için time.sleep() süresini çok daha kısa bir süreye indirmek akıllıca olacaktır .
Yüksek voltajlarla çalışma
Bu projede bir pompaya güç sağlamak için 12V güç kaynağı kullandık, ancak neden röle kullanmamız gerektiğini soruyor olabilirsiniz. Raspberry Pi, 5V'un üzerindeki voltajlara ve GPIO'ya veya Raspberry Pi'nin kendisine zarar verme riskini taşıyacak herhangi bir voltajın üzerine çıkamaz.
Röle, Raspberry Pi'ye bağlı bir devre tarafından tetiklenen manyetik bir anahtardır. Bu devre 5V toleranslıdır ve etkinleştirildiğinde, röle içindeki bir anahtarı çeken bir mıknatısı kapalı konuma getirir.
Raspberry Pi ile yüksek voltaj devresi arasında bağlantı yoktur, bu da yüksek voltajları güvenle kontrol edebileceğimiz anlamına gelir.
Dört röle takılı olarak gelen Piface Relay Plus kartını kullandık. Alternatif olarak, bir devre tahtası üzerinde bir röle kullanabilirsiniz, ancak güvenlik nedeniyle, kart üzerinde yalnızca maksimum 12 V'luk bir voltaj kullanmanızı öneririz, çünkü daha fazlası daha sağlam bir çözüm gerektirecektir.
Röleler tek çözüm değildir, daha yüksek voltajları kontrol etmek için bir transistör de kullanılabilir. Transistörler, yüksek voltaj devresini izole ettikleri, ancak düşük güçlü bir devre tarafından kontrol edildikleri için röleye benzer şekilde çalışırlar. Hem röleler hem de transistörler, yüksek gerilim projelerini kontrol etmenin düşük maliyetli yöntemleridir.
Bir devreden emin değilseniz, gücü uygulamadan önce emin olan birine sorun!
- Bu makaleyi beğendiniz mi? Linux bilginizi genişletin, kodunuzdan daha fazlasını elde edin ve Linux Formatındaki en son açık kaynak gelişmelerini keşfedin. Örnekleyicimizi bugün okuyun ve içindeki tekliften yararlanın.