5.1 KiB
Toprak Nemini Ölç - Raspberry Pi
Bu dersin bu bölümünde, Raspberry Pi'ye kapasitif bir toprak nem sensörü ekleyecek ve ondan değerler okuyacaksınız.
Donanım
Raspberry Pi, kapasitif bir toprak nem sensörüne ihtiyaç duyar.
Kullanacağınız sensör, toprağın kapasitansını algılayarak toprak nemini ölçen bir Kapasitif Toprak Nem Sensörü. Toprağın nemi değiştikçe bu özellik de değişir. Toprak nemi arttıkça, voltaj azalır.
Bu bir analog sensördür, bu nedenle bir analog pin kullanır ve Pi üzerindeki Grove Base Hat'teki 10-bit ADC, voltajı 1-1.023 arasında bir dijital sinyale dönüştürür. Bu sinyal daha sonra Pi üzerindeki GPIO pinleri üzerinden I²C ile gönderilir.
Toprak nem sensörünü bağlayın
Grove toprak nem sensörü Raspberry Pi'ye bağlanabilir.
Görev - Toprak nem sensörünü bağlayın
Toprak nem sensörünü bağlayın.
-
Grove kablosunun bir ucunu toprak nem sensöründeki sokete takın. Kablo yalnızca tek bir yönde takılabilir.
-
Raspberry Pi kapalıyken, Grove kablosunun diğer ucunu Pi'ye bağlı Grove Base Hat üzerindeki A0 olarak işaretlenmiş analog sokete bağlayın. Bu soket, GPIO pinlerinin yanındaki soket sırasının sağdan ikinci soketidir.
- Toprak nem sensörünü toprağa yerleştirin. Sensör üzerinde bir 'en yüksek pozisyon çizgisi' - beyaz bir çizgi bulunur. Sensörü bu çizgiye kadar, ancak çizgiyi geçmeyecek şekilde yerleştirin.
Toprak nem sensörünü programlayın
Raspberry Pi artık bağlı toprak nem sensörünü kullanacak şekilde programlanabilir.
Görev - Toprak nem sensörünü programlayın
Cihazı programlayın.
-
Pi'yi açın ve başlatılmasını bekleyin.
-
VS Code'u doğrudan Pi üzerinde veya Remote SSH uzantısı aracılığıyla bağlanarak başlatın.
⚠️ Gerekirse nightlight - ders 1'de VS Code'u kurma ve başlatma talimatlarına başvurabilirsiniz.
-
Terminalden,
pi
kullanıcısının ana dizinindesoil-moisture-sensor
adında yeni bir klasör oluşturun. Bu klasördeapp.py
adında bir dosya oluşturun. -
Bu klasörü VS Code'da açın.
-
Gerekli kütüphaneleri içe aktarmak için
app.py
dosyasına aşağıdaki kodu ekleyin:import time from grove.adc import ADC
import time
ifadesi, bu görevde daha sonra kullanılacak olantime
modülünü içe aktarır.from grove.adc import ADC
ifadesi, Grove Python kütüphanelerindenADC
'yi içe aktarır. Bu kütüphane, Pi base hat üzerindeki analog-dijital dönüştürücü ile etkileşim kurmak ve analog sensörlerden voltaj okumak için kod içerir. -
ADC
sınıfının bir örneğini oluşturmak için aşağıdaki kodu ekleyin:adc = ADC()
-
A0 pinindeki bu ADC'den okuma yapan ve sonucu konsola yazan sonsuz bir döngü ekleyin. Bu döngü, okumalar arasında 10 saniye bekleyebilir.
while True: soil_moisture = adc.read(0) print("Soil moisture:", soil_moisture) time.sleep(10)
-
Python uygulamasını çalıştırın. Toprak nem ölçümlerinin konsola yazıldığını göreceksiniz. Toprağa biraz su ekleyin veya sensörü topraktan çıkarın ve değerin değiştiğini gözlemleyin.
pi@raspberrypi:~/soil-moisture-sensor $ python3 app.py Soil moisture: 615 Soil moisture: 612 Soil moisture: 498 Soil moisture: 493 Soil moisture: 490 Soil Moisture: 388
Yukarıdaki örnek çıktıda, su eklendikçe voltajın düştüğünü görebilirsiniz.
💁 Bu kodu code/pi klasöründe bulabilirsiniz.
😀 Toprak nem sensörü programınız başarılı oldu!
Feragatname:
Bu belge, AI çeviri hizmeti Co-op Translator kullanılarak çevrilmiştir. Doğruluğu sağlamak için çaba göstersek de, otomatik çevirilerin hata veya yanlışlık içerebileceğini lütfen unutmayın. Belgenin orijinal dili, yetkili kaynak olarak kabul edilmelidir. Kritik bilgiler için profesyonel insan çevirisi önerilir. Bu çevirinin kullanımından kaynaklanan yanlış anlamalar veya yanlış yorumlamalar için sorumluluk kabul etmiyoruz.