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.
123 lines
5.6 KiB
123 lines
5.6 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "2bf65f162bcebd35fbcba5fd245afac4",
|
|
"translation_date": "2025-08-27T21:55:42+00:00",
|
|
"source_file": "2-farm/lessons/2-detect-soil-moisture/virtual-device-soil-moisture.md",
|
|
"language_code": "id"
|
|
}
|
|
-->
|
|
# Mengukur Kelembapan Tanah - Perangkat Keras IoT Virtual
|
|
|
|
Dalam bagian pelajaran ini, Anda akan menambahkan sensor kelembapan tanah kapasitif ke perangkat IoT virtual Anda, dan membaca nilai dari sensor tersebut.
|
|
|
|
## Perangkat Keras Virtual
|
|
|
|
Perangkat IoT virtual akan menggunakan simulasi sensor kelembapan tanah kapasitif Grove. Ini membuat lab ini tetap sama seperti menggunakan Raspberry Pi dengan sensor kelembapan tanah kapasitif Grove fisik.
|
|
|
|
Pada perangkat IoT fisik, sensor kelembapan tanah adalah sensor kapasitif yang mengukur kelembapan tanah dengan mendeteksi kapasitansi tanah, sebuah sifat yang berubah seiring dengan perubahan kelembapan tanah. Ketika kelembapan tanah meningkat, tegangan akan menurun.
|
|
|
|
Ini adalah sensor analog, sehingga menggunakan ADC 10-bit yang disimulasikan untuk melaporkan nilai dari 1-1.023.
|
|
|
|
### Menambahkan Sensor Kelembapan Tanah ke CounterFit
|
|
|
|
Untuk menggunakan sensor kelembapan tanah virtual, Anda perlu menambahkannya ke aplikasi CounterFit.
|
|
|
|
#### Tugas - Menambahkan Sensor Kelembapan Tanah ke CounterFit
|
|
|
|
Tambahkan sensor kelembapan tanah ke aplikasi CounterFit.
|
|
|
|
1. Buat aplikasi Python baru di komputer Anda dalam folder bernama `soil-moisture-sensor` dengan satu file bernama `app.py` dan lingkungan virtual Python, lalu tambahkan paket pip CounterFit.
|
|
|
|
> ⚠️ Anda dapat merujuk ke [instruksi untuk membuat dan mengatur proyek Python CounterFit di pelajaran 1 jika diperlukan](../../../1-getting-started/lessons/1-introduction-to-iot/virtual-device.md).
|
|
|
|
1. Pastikan aplikasi web CounterFit sedang berjalan.
|
|
|
|
1. Buat sensor kelembapan tanah:
|
|
|
|
1. Di kotak *Create sensor* pada panel *Sensors*, buka menu dropdown *Sensor type* dan pilih *Soil Moisture*.
|
|
|
|
1. Biarkan *Units* tetap diatur ke *NoUnits*.
|
|
|
|
1. Pastikan *Pin* diatur ke *0*.
|
|
|
|
1. Pilih tombol **Add** untuk membuat sensor *Soil Moisture* pada Pin 0.
|
|
|
|

|
|
|
|
Sensor kelembapan tanah akan dibuat dan muncul di daftar sensor.
|
|
|
|

|
|
|
|
## Memprogram Aplikasi Sensor Kelembapan Tanah
|
|
|
|
Aplikasi sensor kelembapan tanah sekarang dapat diprogram menggunakan sensor CounterFit.
|
|
|
|
### Tugas - Memprogram Aplikasi Sensor Kelembapan Tanah
|
|
|
|
Program aplikasi sensor kelembapan tanah.
|
|
|
|
1. Pastikan aplikasi `soil-moisture-sensor` terbuka di VS Code.
|
|
|
|
1. Buka file `app.py`.
|
|
|
|
1. Tambahkan kode berikut di bagian atas `app.py` untuk menghubungkan aplikasi ke CounterFit:
|
|
|
|
```python
|
|
from counterfit_connection import CounterFitConnection
|
|
CounterFitConnection.init('127.0.0.1', 5000)
|
|
```
|
|
|
|
1. Tambahkan kode berikut ke file `app.py` untuk mengimpor beberapa pustaka yang diperlukan:
|
|
|
|
```python
|
|
import time
|
|
from counterfit_shims_grove.adc import ADC
|
|
```
|
|
|
|
Pernyataan `import time` mengimpor modul `time` yang akan digunakan nanti dalam tugas ini.
|
|
|
|
Pernyataan `from counterfit_shims_grove.adc import ADC` mengimpor kelas `ADC` untuk berinteraksi dengan konverter analog ke digital virtual yang dapat terhubung ke sensor CounterFit.
|
|
|
|
1. Tambahkan kode berikut di bawah ini untuk membuat instance dari kelas `ADC`:
|
|
|
|
```python
|
|
adc = ADC()
|
|
```
|
|
|
|
1. Tambahkan loop tak terbatas yang membaca dari ADC ini pada pin 0 dan menuliskan hasilnya ke konsol. Loop ini kemudian dapat berhenti selama 10 detik di antara pembacaan.
|
|
|
|
```python
|
|
while True:
|
|
soil_moisture = adc.read(0)
|
|
print("Soil moisture:", soil_moisture)
|
|
|
|
time.sleep(10)
|
|
```
|
|
|
|
1. Dari aplikasi CounterFit, ubah nilai sensor kelembapan tanah yang akan dibaca oleh aplikasi. Anda dapat melakukannya dengan dua cara:
|
|
|
|
* Masukkan angka di kotak *Value* untuk sensor kelembapan tanah, lalu pilih tombol **Set**. Angka yang Anda masukkan akan menjadi nilai yang dikembalikan oleh sensor.
|
|
|
|
* Centang kotak *Random*, dan masukkan nilai *Min* dan *Max*, lalu pilih tombol **Set**. Setiap kali sensor membaca nilai, sensor akan membaca angka acak antara *Min* dan *Max*.
|
|
|
|
1. Jalankan aplikasi Python. Anda akan melihat pengukuran kelembapan tanah ditulis ke konsol. Ubah pengaturan *Value* atau *Random* untuk melihat perubahan nilai.
|
|
|
|
```output
|
|
(.venv) ➜ soil-moisture-sensor $ python app.py
|
|
Soil moisture: 615
|
|
Soil moisture: 612
|
|
Soil moisture: 498
|
|
Soil moisture: 493
|
|
Soil moisture: 490
|
|
Soil Moisture: 388
|
|
```
|
|
|
|
> 💁 Anda dapat menemukan kode ini di folder [code/virtual-device](../../../../../2-farm/lessons/2-detect-soil-moisture/code/virtual-device).
|
|
|
|
😀 Program sensor kelembapan tanah Anda berhasil!
|
|
|
|
---
|
|
|
|
**Penafian**:
|
|
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/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. |