Assalamualaikum wr wb
Kali ini kita coba baca sensor tanah dengan komunikasi i2c..
Soil sensor i2c..
saya carikan wujud sensornya...
seperti gambar disamping sensornya
parameter yang diukur
Deskripsi Sensor Tanah/Soil Sensor Industrial Grade untuk Suhu, Kelembaban, & EC Sensor tanah untuk kelas industri. Cocok untuk perkebunan maupun lahan pertanian secara umum.
Keterangan:
- Dust and waterproof (IP67)
- Raspberry Pi compatible
- Calibration functions for EC
- Cable length : +-100 cm
Parameter yang diukur a. Suhu tanah Range measurement : -20 to 60°C b. Kelembaban tanah Range measurement : 0 – 100% c. Electrical Conductivity (EC) Resolution: 0.01 dS/m
untuk kabelnya
- merah = vcc 3.3v
- hitam = gnd
- hijau = SDA
- putih = SCL
sambungkan ke port Nucleo-32 STM32L432KC
merah - vcc hitam - gnd hijau - PA10 putih - PA9
-
buka stm32cubeide nya..
-
buat project baru
-
tentukan USART2 aktifkan, lalu koneksi pin: 1 PA2 = TX 2 PA15 = RX
-
tentukan Pin I2C berdasarkan yang kita tentukan tadi
- PA10 = SDA
- PA9 = SCL
-
save all
-
buka main.c
-
masukkan register2 berikut
static const uint8_t ADDR = 0x63<<1; static const uint8_t REG_READ_START = 0x01; static const uint8_t REG_READ_EC = 0x03; static const uint8_t REG_READ_TEMP = 0x04; static const uint8_t REG_READ_VWC = 0x05;
diantara USER CODE BEGIN PD */ dan USER CODE END PD */
- tentukan variabel variabelnya
mulai dari buffer sampai variabel setiap parameter
-
masukkan fungsi untuk printf
-
masukkan syntax untuk melakukan checking(inisialisasi) sensor;
-
coba build.. OOPS ada warning.. oh.. tenang.. variabel tsb belum kita pakai..
-
Coba upload dulu ke Nucleo-32
-
tekan tombol reset di board..
-
keluar tulisan "SOIL SENSOR READY" artinya sensor terkoneksi dengan baik..
-
Selanjutnya kita buat program untuk membaca parameter sensor.
-
dimulai dari starting sensor dulu..
-
next kita baca soil volumetric water content (vwc)
-
disini kita perlu mengatur agar formating float bisa berjalan dengan baik fi printf klik kanan project > "Properties" > "C/C++ Build" > "Setting" > "Tool Settings" > Check di "Use float with printf ... " > "Apply" > "Apply and Close"
-
Coba kita jalankan dulu..
-
kita percepat delay lalu jalankan lagi..
-
coba saya pegang sensornya. terjadi pertambahan value
-
next kita coba baca temperaturenya caranya sama hanya beberapa yang perlu diganti.. kita copast aja biar cepet..
-
jalanin lagi.. wkwk error... cb cek ah.. ternyata kabelnya lepas.. HAHA sudah normal...
-
next kita baca Electrical Conductivity
-
coba kita jalankan lagi
-
oke data sudah didapatkan semua...
Sekian tutorial pembacaan soil sensor i2c, semoga bermanfaat, terimakasih...
Wassalamualaikum wr wb