You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/id/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md

5.2 KiB

Mengukur Kelembapan Tanah - Raspberry Pi

Dalam bagian pelajaran ini, Anda akan menambahkan sensor kelembapan tanah kapasitif ke Raspberry Pi, dan membaca nilai dari sensor tersebut.

Perangkat Keras

Raspberry Pi membutuhkan sensor kelembapan tanah kapasitif.

Sensor yang akan Anda gunakan adalah Capacitive Soil Moisture Sensor, yang mengukur kelembapan tanah dengan mendeteksi kapasitansi tanah, sebuah sifat yang berubah seiring perubahan kelembapan tanah. Ketika kelembapan tanah meningkat, tegangan akan menurun.

Sensor ini adalah sensor analog, sehingga menggunakan pin analog, dan ADC 10-bit di Grove Base Hat pada Pi untuk mengonversi tegangan menjadi sinyal digital dari 1-1.023. Sinyal ini kemudian dikirim melalui I²C menggunakan pin GPIO pada Pi.

Hubungkan Sensor Kelembapan Tanah

Sensor kelembapan tanah Grove dapat dihubungkan ke Raspberry Pi.

Tugas - Hubungkan Sensor Kelembapan Tanah

Hubungkan sensor kelembapan tanah.

Sensor kelembapan tanah Grove

  1. Masukkan salah satu ujung kabel Grove ke soket pada sensor kelembapan tanah. Kabel hanya dapat masuk dengan satu arah.

  2. Dengan Raspberry Pi dalam keadaan mati, hubungkan ujung kabel Grove lainnya ke soket analog yang ditandai A0 pada Grove Base Hat yang terpasang di Pi. Soket ini adalah soket kedua dari kanan, pada baris soket di sebelah pin GPIO.

Sensor kelembapan tanah Grove terhubung ke soket A0

  1. Masukkan sensor kelembapan tanah ke dalam tanah. Sensor memiliki 'garis posisi tertinggi' - garis putih melintang pada sensor. Masukkan sensor hingga garis ini, tetapi jangan melebihi garis tersebut.

Sensor kelembapan tanah Grove di dalam tanah

Program Sensor Kelembapan Tanah

Raspberry Pi sekarang dapat diprogram untuk menggunakan sensor kelembapan tanah yang terpasang.

Tugas - Program Sensor Kelembapan Tanah

Program perangkat.

  1. Nyalakan Pi dan tunggu hingga selesai booting.

  2. Luncurkan VS Code, baik langsung di Pi, atau sambungkan melalui ekstensi Remote SSH.

    ⚠️ Anda dapat merujuk ke instruksi untuk menyiapkan dan meluncurkan VS Code di nightlight - pelajaran 1 jika diperlukan.

  3. Dari terminal, buat folder baru di direktori home pengguna pi bernama soil-moisture-sensor. Buat file di folder ini bernama app.py.

  4. Buka folder ini di VS Code.

  5. Tambahkan kode berikut ke file app.py untuk mengimpor beberapa pustaka yang diperlukan:

    import time
    from grove.adc import ADC
    

    Pernyataan import time mengimpor modul time yang akan digunakan nanti dalam tugas ini.

    Pernyataan from grove.adc import ADC mengimpor ADC dari pustaka Python Grove. Pustaka ini memiliki kode untuk berinteraksi dengan konverter analog ke digital pada Pi Base Hat dan membaca tegangan dari sensor analog.

  6. Tambahkan kode berikut di bawah ini untuk membuat instance dari kelas ADC:

    adc = ADC()
    
  7. Tambahkan loop tak terbatas yang membaca dari ADC ini pada pin A0, dan menulis hasilnya ke konsol. Loop ini kemudian dapat tidur selama 10 detik di antara pembacaan.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  8. Jalankan aplikasi Python. Anda akan melihat pengukuran kelembapan tanah ditulis ke konsol. Tambahkan air ke tanah, atau keluarkan sensor dari tanah, dan lihat nilai berubah.

    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
    

    Dalam contoh output di atas, Anda dapat melihat tegangan turun saat air ditambahkan.

💁 Anda dapat menemukan kode ini di folder code/pi.

😀 Program sensor kelembapan tanah Anda berhasil!


Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI Co-op Translator. Meskipun kami berusaha untuk memberikan hasil yang akurat, harap diingat bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa penerjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang keliru yang timbul dari penggunaan terjemahan ini.