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/ms/2-farm/lessons/2-detect-soil-moisture/pi-soil-moisture.md

5.2 KiB

Ukur Kelembapan Tanah - Raspberry Pi

Dalam bahagian pelajaran ini, anda akan menambah sensor kelembapan tanah kapasitif pada Raspberry Pi anda, dan membaca nilai daripadanya.

Perkakasan

Raspberry Pi memerlukan sensor kelembapan tanah kapasitif.

Sensor yang akan anda gunakan ialah Capacitive Soil Moisture Sensor, yang mengukur kelembapan tanah dengan mengesan kapasitans tanah, satu sifat yang berubah apabila kelembapan tanah berubah. Apabila kelembapan tanah meningkat, voltan akan menurun.

Ini adalah sensor analog, jadi ia menggunakan pin analog, dan ADC 10-bit dalam Grove Base Hat pada Pi untuk menukar voltan kepada isyarat digital dari 1-1,023. Isyarat ini kemudian dihantar melalui I²C menggunakan pin GPIO pada Pi.

Sambungkan sensor kelembapan tanah

Sensor kelembapan tanah Grove boleh disambungkan ke Raspberry Pi.

Tugasan - sambungkan sensor kelembapan tanah

Sambungkan sensor kelembapan tanah.

Sensor kelembapan tanah Grove

  1. Masukkan satu hujung kabel Grove ke dalam soket pada sensor kelembapan tanah. Ia hanya boleh dimasukkan dalam satu arah sahaja.

  2. Dengan Raspberry Pi dimatikan, sambungkan hujung lain kabel Grove ke soket analog yang ditandakan A0 pada Grove Base Hat yang dipasang pada Pi. Soket ini adalah yang kedua dari kanan, pada barisan soket bersebelahan dengan pin GPIO.

Sensor kelembapan tanah Grove disambungkan ke soket A0

  1. Masukkan sensor kelembapan tanah ke dalam tanah. Ia mempunyai 'garis kedudukan tertinggi' - satu garis putih melintang pada sensor. Masukkan sensor sehingga ke garis ini tetapi jangan melebihi garis tersebut.

Sensor kelembapan tanah Grove dalam tanah

Programkan sensor kelembapan tanah

Raspberry Pi kini boleh diprogramkan untuk menggunakan sensor kelembapan tanah yang disambungkan.

Tugasan - programkan sensor kelembapan tanah

Programkan peranti.

  1. Hidupkan Pi dan tunggu sehingga ia selesai boot.

  2. Lancarkan VS Code, sama ada secara langsung pada Pi, atau sambung menggunakan sambungan Remote SSH.

    ⚠️ Anda boleh merujuk kepada arahan untuk menyediakan dan melancarkan VS Code dalam nightlight - pelajaran 1 jika diperlukan.

  3. Dari terminal, buat folder baru dalam direktori rumah pengguna pi yang dinamakan soil-moisture-sensor. Buat fail dalam folder ini yang dinamakan app.py.

  4. Buka folder ini dalam VS Code.

  5. Tambahkan kod berikut ke fail app.py untuk mengimport beberapa pustaka yang diperlukan:

    import time
    from grove.adc import ADC
    

    Pernyataan import time mengimport modul time yang akan digunakan kemudian dalam tugasan ini.

    Pernyataan from grove.adc import ADC mengimport ADC daripada pustaka Python Grove. Pustaka ini mengandungi kod untuk berinteraksi dengan penukar analog ke digital pada Pi Base Hat dan membaca voltan daripada sensor analog.

  6. Tambahkan kod berikut di bawah ini untuk mencipta satu instance kelas ADC:

    adc = ADC()
    
  7. Tambahkan gelung tak terhingga yang membaca daripada ADC ini pada pin A0, dan menulis hasilnya ke konsol. Gelung ini kemudian boleh berhenti selama 10 saat antara bacaan.

    while True:
        soil_moisture = adc.read(0)
        print("Soil moisture:", soil_moisture)
    
        time.sleep(10)
    
  8. Jalankan aplikasi Python. Anda akan melihat bacaan kelembapan tanah ditulis ke konsol. Tambahkan air ke tanah, atau keluarkan sensor daripada 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 boleh melihat voltan menurun apabila air ditambah.

💁 Anda boleh menemui kod ini dalam folder code/pi.

😀 Program sensor kelembapan tanah anda berjaya!


Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk memastikan ketepatan, sila ambil maklum bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.