İçindekiler:
- Adım 1: Sarf Malzemeleri
- Adım 2: Fritzing Şeması
- 3. Adım: Ahududu Pi'yi hazırlayın
- Adım 4: Veritabanı Modeli - MySQL
- Adım 5: Ön Uç: Web Sunucusunu Kurma
- 6. Adım: Arka uç
- Adım 7: LED Şeridi Yerleştirme
- Adım 8: Tüplerin Yerleştirilmesi
- 9. Adım: LCD'yi Yerleştirme
- Adım 10: Sensörleri Yerleştirme ve LED Şeridi Bağlama
- Adım 11: Pi'yi Kablolama
- Adım 12: Su İçin Bir Kap Yapmak
- Adım 13: Nihai Sonuç
Video: Otomatik Bitki Saksısı - Küçük Bahçe: 13 Adım (Resimli)
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Howest Kortrijk'te Multimedya ve İletişim Teknolojisi öğrencisiyim. Son ödevimiz için kendi seçeceğimiz bir IoT projesi geliştirmemiz gerekiyordu.
Etrafta fikir ararken, bitki yetiştirmeyi seven ve otomatik bir saksı üzerinde çalışmaya başlayan annem için faydalı bir şeyler yapmaya karar verdim.
Bu otomatik bitki saksısı Little Garden'ın ana görevleri şunlardır:
-
ölçün
- Sıcaklık
- Işık şiddeti
- Nem
- Toprak nemi
Ölçümleri bir veritabanına kaydedin
Belirli bir değer çok düşükse bitki büyümesi için koşulları iyileştirin
Cihazın bir web sitesi üzerinden izlenmesine ve yönetilmesine izin verin
Her adım işarete kadar takip edilmek zorunda değildir. Olanların çoğu kişisel tercihiniz olabilir veya geliştirilebilir. Bu yapı, parçaların daha sonra geri kazanılabileceği şekilde yapıldı, bu nedenle daha kalıcı hale getirmek için yinelemenize farklı bir şekilde yaklaşmak isteyebilirsiniz.
Adım 1: Sarf Malzemeleri
Bu proje için çoğu malzemeyi elde etmek çok zor değil, ancak benim durumumda çok fazla geri dönüştürülmüş malzeme ile çalıştım. Ayrıca daha sonra bazı malzemeleri geri kazanabileceğimden emin olmak zorundaydım.
Temel bileşenler:
- Raspberry Pi 4 model B
- Raspberry Pi güç kaynağı
- Ahududu Pi T-ayakkabıcı
- 16GB mikro SD kart
- 3.3V ve 5V ile breadboard güç kaynağı
- ekmek tahtası
- 12V güç kaynağı
Sensörler:
- DHT11: Nem ve Sıcaklık Sensörü
- BH1750: Işık yoğunluğu sensörü
- Toprak nemi sensörü
- MCP3008
Aktüatör bileşenleri:
- 220V Su pompası
- 12V LED şerit
- Röle modülü Velleman
- İPUCU 50: NPN transistörü
- 16X2 LCD-mod ekran
- PCF8574a
Dirençler:
- 3 x 330 Ohm direnç
- 1 x 5k Ohm direnç
- 2 x 10k Ohm direnç
- 1 x 1k Ohm direnç
- 1 x 10k Potansiyo direnç
Malzemeler:
- Prefabrik sera/bitki saksısı
- Bağlantı kutusu
- Plastik su şişesi
- Fırdöndüler
- Atlama telleri + normal tel
- Stikler
- Lehimleme teneke + ısıyla daralan makaron
- Çift taraflı ördek bandı
- Boya
Araçlar:
- Tutkal tabancası
- Delmek
- Testere bıçağı
- Havya
- Kutu kesici
- Boya fırçası
Bu projeyle ilgili en güzel şey, bileşenleri ekleyerek/çıkararak ve kodu biraz değiştirerek genişletilebilir veya basitleştirilebilir. Örneğin 220V pompayı 12V pompa ile değiştirerek cihazdan bir güç adaptörünü çıkarabilirsiniz.
Adım 2: Fritzing Şeması
Cihaz için devre tahtası ve elektrik şemaları yukarıda gösterilmiştir. Burada tüm bileşenlerin birbirine nasıl bağlandığını görebilirsiniz.
Bileşenlerin nasıl çalıştığına dair genel bir açıklama:
- DHT11, hava nemini % olarak ve sıcaklığı °C olarak ölçer. Onunla iletişim bir I2C bu tarafından gerçekleştirilir.
- BH1750, ışık yoğunluğunu lüks olarak ölçer. İletişim bir I2C veri yolu tarafından gerçekleştirilir
- Toprak nem sensörü, MCP3008 tarafından Raspberry Pi için okunabilir bir dijital sinyale dönüştürülen bir dijital sinyal oluşturur.
- 16x2 LCD modülü, Pi'den gelen IP adreslerini birbiri ardına görüntüler. Raspberry Pi'den ekranın bit pinleri için bir dizi sinyale dönüştürecek bir sinyal alan bir PCF8574a'ya bağlanır. LCD'den gelen E ve RS pinleri doğrudan Pi'ye bağlanır. Potansiyo direnci ekranın parlaklığını belirler.
- Su pompası, kendisi ile 220V güç kaynağı/soketi arasında bulunan bir röleye bağlıdır. Raspberry Pi, elektrik devresini kapatmak ve pompayı çalıştırmak için röleye bir sinyal gönderebilir.
- LED şerit, 12V güç kaynağına ve elektrik akımını değiştiren TIP 50'ye (NPN transistör) bağlanır. Raspberry Pi'den çekilen gücü sınırlamak için 1k Ohm direnç kullanılır, aksi takdirde ekstra gevrek kızartılır.
3. Adım: Ahududu Pi'yi hazırlayın
Henüz sahip değilseniz, Raspberry Pi OS görüntülerinden birini SD karta koymanız gerekecektir. Başlangıçta sorunlara neden olduğu için Lite kullanmanızı önermiyorum. Daha sonra Pi internete bağlıyken aşağıdaki komutları kullanarak Pi'nizin güncel olduğundan emin olmanız gerekir:
- sudo apt-get güncellemesi
- sudo apt-get yükseltme
Bundan sonra, projenin çalışması için paketleri raspi-config veya komutlar aracılığıyla etkinleştirebilir veya kurabilirsiniz.
- SPI
- I2C
- MySQL: sonraki adım
- SocketIO: pip yükleme şişesi-socketio
Kurulumdan sonra html, CSS, Javascript ve Python ile yazılmış gerekli dosyaları ekleyebilirsiniz. Tüm kodum github depomda bulunabilir.
Adım 4: Veritabanı Modeli - MySQL
Yukarıda MariaDB aracılığıyla barındırılan ERD şemasını görebilirsiniz. Sadece MariaDB'yi kurmak için değil, aynı zamanda Pi'nizin korunduğundan emin olmak için bu MariaDB kurulum kılavuzunu izlemenizi tavsiye ederim.
Anlamak isteyenler için veritabanı aşağıdaki gibi çalışır:
Ölçümler ve aktüatör geçişleri, Metingen tablosunda satırlar halinde saklanır.
- metingId = Ölçüm/geçiş satırının kimliği
- deviceId = Tablodaki bu satırdan sorumlu cihazın kimliği
-
waarde = sensör ölçümünün veya aktüatör geçişinin değeri
- sensör: ilgili birimlerde ölçüm değeri
- aktüatörler: 0 = KAPALI ve 1 = AÇIK
- commentaar = hatalar gibi ekstra bilgiler eklemek için kullanılan yorumlar
- veri = ölçümün/geçişin gerçekleştiği tarih ve saat
Cihazın ayarları Ayarlar içinde saklanır.
- settingsId = Bu satırın kimliği ve ayar değeri
- deviceID = İlgili cihazın/sensörün kimliği
- waarde = ayarın değeri
- type = ayarın türü, maksimum mu yoksa minimum mu?
Son olarak Cihazlar tablosu, sensörler ve aktüatörler hakkında bilgi içerir.
- deviceId = Bu tablodaki cihazın kimliği
- naam = cihazın/bileşenin adı
- merk = marka
- prijs = bileşenin fiyatı
- beschrijving = bileşenin özeti
- eenheid = ölçülen değerler için birim
- typeDevice = bileşenin bir sensör mü yoksa aktüatör mü olduğunu belirtir
Adım 5: Ön Uç: Web Sunucusunu Kurma
Pi, bu cihaz için web sunucusunu çalıştırmak için Apache web sunucusunu yüklemenizi gerektirir. Bu, aşağıdaki komutla yapılabilir:
sudo apt-get install apache2.
Bu yapıldıktan sonra, klasöre gidebilirsiniz: /var/www/html. Burada ön ucun tüm kodunu yerleştirmeniz gerekecek. Daha sonra IP adresine göz atarak web sitesine erişebilirsiniz.
6. Adım: Arka uç
Arka ucu çalıştırmak için, otomatik olarak başlaması için app.py dosyasını manuel olarak veya Pi üzerinde bir hizmet oluşturarak çalıştırmanız gerekir.
Fark edebileceğiniz gibi, epeyce dosya var. Kodun net bir genel görünümüne ve organizasyonuna sahip olmak için kodu olabildiğince ayırdım.
Kısa bir açıklama:
app.py: Veritabanı, donanım kodu ve arka uç kodunun birleştirildiği ana dosya
config.py: DatabaseRepositories için yapılandırma dosyası
Depolar: Veri deposuna erişim için
-
Yardımcı
- devices_id: veritabanındaki cihaz bilgilerini tanımlamaya yardımcı olacak sınıflar
- lcd: PCF ve LCD'yi çalıştırmak için
- Aktüatörler: aktüatörleri çalıştırmak için sınıflar
- Sensörler: sensörleri çalıştırmak için sınıflar
Adım 7: LED Şeridi Yerleştirme
LED şeridin bir parçasını kesip sera kutusunun üstüne yapıştırdım. Kullandığım şerit birden fazla pozisyonda kesilip yeniden bağlanabilir, böylece birden fazla şerit yerleştirebilir ve daha sonra kablolarla tekrar bağlayarak daha fazla alanın aydınlanmasına izin verebilirsiniz.
Adım 8: Tüplerin Yerleştirilmesi
Tüpler çeşitli şekillerde yerleştirilebilir, ancak benim durumumda onları dibin yan tarafına bağladım, onları diğer elektroniklerden mümkün olduğunca uzak tuttum ve suyun kire akmasına izin verdim.
9. Adım: LCD'yi Yerleştirme
Bağlantı kutusunun kapağını bir testere bıçağıyla bir bütün olarak kestim, ekranın geçebileceği kadar büyük, ancak PCB'nin arkasında kalması için yeterince küçük bir açıklık oluşturdum. Daha sonra bükümler kullanılarak kapağa tutturulmuştur.
LCD, Raspberry Pi'nin IP adreslerini göstererek web sitesinde gezinmek için hangi adresi kullanabileceğinizi bilmenizi sağlar.
Adım 10: Sensörleri Yerleştirme ve LED Şeridi Bağlama
Fritzleme şemalarını kullanarak, teller arasındaki bağlantıları lehimledim ve yalıtmak için ısıyla daralan tüpler kullanarak dirençleri tellerin içine yerleştirdim.
Sensörler ve LED şerit için kabloları çektiğim dönerleri takmak için sera kapağının yanlarında ve altında delikler açıldı.
Kabloları işlevlerine göre grupladım. Tellerden ve büzülme borularından gelen gerilim sensörleri ayakta tutuyordu. DHT11'in telleri üzerinde yapıştırıcı kullanmak zorunda kaldım çünkü bu daha da uzadı.
Adım 11: Pi'yi Kablolama
Kabloların daha sonra geçmesine izin vermek için bağlantı kutusunun yanında delikler açtım.
Daha sonra çift taraflı ördek bantlı bağlantı kutusunun altına breadboard (T-cobbler, PCF8574a, MCP3008, ayarlanabilir rezistans ve TIP50 ile), röle ve Raspberry Pi'yi yerleştirdim. Güç kaynağı devre tahtasına sığmadı, bu yüzden yan tarafa koymak zorunda kaldım ve devre tahtasına bağlamak için atlama telleri kullandım.
Son olarak adaptör, sensör ve aktüatör kablolarını, kabloları breadboard, Raspberry Pi ve diğer bileşenlere bağlayan deliklerden çektim. Pompanın kablosu kesilerek açıldı, böylece anahtar olarak kullanılabilmesi için uçları rölenin içine yerleştirebildim.
Adım 12: Su İçin Bir Kap Yapmak
1 litrelik plastik su şişesinden, daha iyi görünmesi için üstünü maket bıçağıyla kesip boyayarak su kabı yaptım. Su pompası daha sonra içine yerleştirildi. İletişim gemilerinin kuralı nedeniyle, su potansiyel olarak borulardan kendi kendine akabilir, ancak boruyu yukarıda tutmak sorunu çözer.
Adım 13: Nihai Sonuç
Beklediğin an. Artık kiri ve tohumları sera kutusunun içine yerleştirebilir ve cihazın devralmasına izin verebilirsiniz. Cihazın durumunu web sitesinden takip edebilir, aydınlatma ve toprak koşulları için optimum değerleri ayarlayabilirsiniz.
Bazı kirler ilk başta oldukça kuru olabileceğinden, önce toprağı elle sulamanızı öneririm. Bazı pompalar da oldukça yavaş su veriyor gibi görünüyor, ancak beklediğinizden daha hızlı dolacağı için çok dikkatli olmanız gerekiyor. %80'in üzerinde bir doygunluk zemini çok ıslak yapabilir. Ve toprak nemi sensörünün yeterince derin olduğundan emin olun.
Önerilen:
Mikro:bit Kullanan Otomatik Bitki Sulama Sistemi: 8 Adım (Resimli)
Micro:bit Kullanan Otomatik Bitki Sulama Sistemi: Bu Eğitilebilir Kitapta, size bir Micro:bit ve diğer bazı küçük elektronik bileşenleri kullanarak otomatik bir bitki sulama sisteminin nasıl kurulacağını göstereceğim.Micro:bit bir nem sensörü kullanır bitkinin toprağındaki nem seviyesini izlemek ve
Ahududu Pi Üzerine Kurulu Otomatik Bahçe Sistemi Dış Mekan veya İç Mekan - MudPi: 16 Adım (Resimli)
Dış Mekan veya İç Mekanlar için Raspberry Pi Üzerine Kurulu Otomatik Bahçe Sistemi - MudPi: Bahçecilik yapmayı seviyor ama bakımını yapmaya zaman bulamıyor musunuz? Belki biraz susamış görünen veya hidroponiğinizi otomatikleştirmenin bir yolunu arayan bazı ev bitkileriniz var mı? Bu projede bu sorunları çözeceğiz ve temellerini öğreneceğiz
UWaiPi - Zaman Yönlü Otomatik Bitki Sulama Sistemi: 11 Adım (Resimli)
UWaiPi - Zaman Yönlü Otomatik Bitki Sulama Sistemi: Merhaba! Bugün sabah bitkilerinizi sulamayı mı unuttunuz? Bir tatil planlıyorsunuz ama bitkileri kimin sulayacağını mı düşünüyorsunuz? Cevaplarınız Evet ise, o zaman probleminiz için bir çözümüm var. uWaiPi'yi tanıtmaktan gerçekten memnunum -
WiFi Otomatik Rezervuarlı Bitki Besleyici - İç/Dış Yetiştirme Kurulumu - Uzaktan İzleme ile Otomatik Su Tesisleri: 21 Adım
Rezervuarlı WiFi Otomatik Bitki Besleyici - İç/Dış Mekan Yetiştirme Kurulumu - Uzaktan İzleme ile Otomatik Su Tesisleri: Bu eğitimde, bitkileri otomatik olarak sulayan ve Adosia platformu kullanılarak uzaktan izlenebilen özel bir iç/dış bitki besleme sisteminin nasıl kurulacağını göstereceğiz
DIY Bitki Denetimi Bahçe Drone (Bütçeye Katlanır Trikopter): 20 Adım (Resimlerle)
Kendin Yap Bitki Denetimi Bahçe Uçağı (Bütçeye Göre Katlanır Trikopter): Hafta sonu evimizde bir sürü meyve ve sebzenin olduğu güzel bir küçük bahçemiz var ama bazen bitkilerin nasıl değiştiğine ayak uydurmak zor. Sürekli denetime ihtiyaçları var ve hava koşullarına, enfeksiyonlara, böceklere vb. karşı çok savunmasızlar… Ben