Sistem Monitoring Kelembapan Tanah Menggunakan Soil Moisture Sensor

| Simak vidio selengkapnya

Dalam panduan praktis kali ini, kami menyajikan video mentahan tutorial langkah demi langkah mengenai cara melakukan konfigurasi dan pengujian Servo SG90 menggunakan ESP32 dan LCD 16×2. Melalui simulasi rangkaian, Anda akan melihat proses pemasangan dan penghubungan Servo SG90, LCD 16×2, push button, dan ESP32. Ketika push button ditekan, servo akan bergerak secara bertahap ke posisi 0°, 45°, dan 90°, sementara LCD 16×2 menampilkan sudut servo yang sedang aktif. Tutorial ini juga menunjukkan proses pengujian setiap posisi servo untuk memastikan pergerakan servo dan tampilan LCD dapat berfungsi dengan baik sesuai kebutuhan.

| Alat dan Bahan

servo_800x1026_crop_center@2x

Servo SG90

LCD 16x2

PushButtonKomponen-removebg-preview

Push Bottom

|Design Wiring

| Implementasi

Tabel koneksi ESP32 dengan buzzer & lcd 16×2
ESP-32 SERVO SG90
VIN
VCC
GND
GND
D13
Signal
ESP-32 LCD 16x2
VIN
VCC
GND
GND
D21
SDA
D22
SCL

Berikut langkah-langkah untuk Wiring dan Upload Kode Program:

Hardware

  1. Siapkan alat dan bahan yang akan digunakan untuk wiring.

  2. Hubungkan pin ESP32 dengan Servo SG90 seperti pada tabel di atas.

  3. Pastikan semua komponen terhubung dengan benar.

  4. Hubungkan Servo SG90 dengan ESP32 untuk melakukan pengujian pergerakan servo.

  5. Software

  6. Buka aplikasi Arduino IDE.

  7. Pilih Board ESP32 Dev Module dan pilih port ESP32 yang sesuai.

  8. Jika Board ESP32 belum tersedia, buka File > Preferences.

  9. Tambahkan URL berikut pada Additional Boards Manager URLs:
    https://dl.espressif.com/dl/package_esp32_index.json

  10. Klik Tools > Board > Boards Manager, cari ESP32, kemudian klik Install.

  11. Salin kode program berikut dan tempelkan pada sketch di Arduino IDE.

  12. Klik Verify (✓) untuk memeriksa kesalahan pada program.

  13. Setelah tidak ada kesalahan, klik Upload (→) untuk mengunggah program ke ESP32.

  14. Setelah program berhasil di-upload, lakukan pengujian dengan menggerakkan servo pada posisi 0°, 45°, dan 90°.

  15. Amati pergerakan Servo SG90 dan tampilan sudut pada LCD 16×2.

| Hasil Akhir

Projek implementasi ini berhasil mengintegrasikan Servo SG90 dengan ESP32 dan LCD 16×2 sebagai sistem pengendalian posisi servo. Melalui pengujian pada rangkaian, servo mampu bergerak sesuai dengan sudut yang telah ditentukan, yaitu 0°, 45°, dan 90°.

Hasil pengujian menunjukkan bahwa sistem dapat mengatur pergerakan servo dengan baik dan LCD 16×2 dapat menampilkan informasi sudut servo sesuai dengan posisi yang sedang aktif. Dengan demikian, penggunaan Servo SG90, ESP32, dan LCD 16×2 dapat menjadi solusi sederhana untuk sistem pengendalian servo serta dapat dikembangkan untuk berbagai proyek robotik dan otomatisasi.

| Code

➕➕
EmergencyCode.cpp
Link Library:

ESP32Servo
By: Kevin Harrington / John K. Bennett
ESP32Servo – https://madhephaestus.github.io/ESP32Servo/annotated.html

LiquidCrystal_I2C
By: Frank de Brabander
LiquidCrystal_I2C – https://github.com/markub3327/LiquidCrystal_I2C


#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <ESP32Servo.h>

LiquidCrystal_I2C lcd(0x27, 16, 2);
Servo servo;

#define SERVO_PIN 13
#define BUTTON_PIN 27

int posisi = 0;
int sudut[] = {0, 90, 180, 90, 0};

bool tombolSebelumnya = HIGH;

void setup() {
  servo.attach(SERVO_PIN, 1000, 2000);
  servo.write(sudut[posisi]);

  pinMode(BUTTON_PIN, INPUT_PULLUP);

  lcd.init();
  lcd.backlight();

  lcd.setCursor(0, 0);
  lcd.print("SERVO SG90");
  lcd.setCursor(0, 1);
  lcd.print("Sudut: 0");
}

void loop() {
  bool tombol = digitalRead(BUTTON_PIN);

  if (tombolSebelumnya == HIGH && tombol == LOW) {

    posisi++;

    if (posisi >= 5) {
      posisi = 0;
    }

    servo.write(sudut[posisi]);

    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("SERVO SG90");
    lcd.setCursor(0, 1);
    lcd.print("Sudut: ");
    lcd.print(sudut[posisi]);

    delay(300);
  }

  tombolSebelumnya = tombol;
}

| Kesimpulan

Berdasarkan hasil implementasi dan pengujian, sistem Servo SG90 dengan ESP32 dan LCD 16×2 berhasil dirancang dan dapat berfungsi dengan baik sebagai perangkat untuk mengatur posisi sudut servo. Ketika sistem dijalankan, servo dapat bergerak ke posisi 0°, 45°, dan 90° sesuai dengan perintah yang diberikan.

Implementasi ini menunjukkan bahwa penggunaan Servo SG90 dengan ESP32 dan LCD 16×2 dapat memberikan informasi mengenai posisi sudut servo secara jelas dan mudah dipantau. Dengan demikian, sistem ini dapat digunakan sebagai salah satu solusi sederhana untuk berbagai kebutuhan robotik, otomatisasi, maupun sistem pengendalian elektronika.

Kami Siap Bantu Kamu

Jasa IoT Industri

Integrasi IoT untuk efisiensi industri.

  • ✔ Solusi custom
  • ✔ Implementasi profesional
  • ✔ Support berkelanjutan
Konsultasi Gratis

Web Dashboard IoT

Monitoring data real-time & modern.

  • ✔ Real-time
  • ✔ UI modern
  • ✔ Aman & scalable
Hubungi Kami

Sertifikasi IoT BNSP

Upgrade skill + sertifikat resmi.

  • ✔ Sertifikasi BNSP
  • ✔ Praktik langsung
  • ✔ Untuk profesional
Daftar Sekarang

| FAQ (Frequently Asked Questions)

Apa yang terjadi jika push button ditekan berulang kali dengan cepat?

Jika push button ditekan berulang kali, sistem akan menerima beberapa input dari tombol tersebut. Servo kemudian dapat berpindah ke posisi berikutnya sesuai urutan yang telah ditentukan dalam program. Karena itu, penekanan tombol perlu dilakukan dengan baik agar setiap perubahan posisi servo dapat berjalan sesuai urutan.

Apakah LCD 16x2 akan langsung menampilkan perubahan sudut servo?

Ya, LCD 16×2 digunakan untuk menampilkan informasi mengenai posisi sudut servo. Ketika servo berpindah dari satu posisi ke posisi berikutnya, informasi pada LCD juga akan diperbarui sesuai dengan sudut yang sedang aktif, misalnya 0°, kemudian 45°, lalu 90°.

Apakah Servo SG90 dapat digunakan untuk menggerakkan beban yang berat?

Servo SG90 lebih cocok digunakan untuk proyek dengan beban ringan karena ukurannya relatif kecil. Jika digunakan untuk beban yang terlalu berat, servo dapat kesulitan bergerak atau tidak mampu mempertahankan posisi dengan baik. Untuk beban yang lebih besar, sebaiknya digunakan servo dengan torsi yang lebih sesuai.