Pengendalian Motor Servo SG90 Menggunakan ESP32
Video 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.
ESP32
LCD 16x2
SERVO SG90
|Design Wiring
| Implementasi
Implementasi sistem Servo SG90 dilakukan dengan menggunakan servo sebagai output untuk mengatur posisi sudut. Servo dihubungkan dengan ESP32 untuk menerima perintah dan mengatur pergerakannya.
Ketika push button ditekan, sistem akan mengubah posisi servo secara bertahap, yaitu 0°, 45°, dan 90°. Pada saat yang sama, LCD 16×2 menampilkan informasi mengenai sudut servo yang sedang aktif.
Sistem ini dapat diterapkan pada berbagai kebutuhan, seperti robotik, otomatisasi, sistem kontrol, dan proyek elektronika. Dengan menggunakan ESP32, pergerakan servo dan tampilan sudut pada LCD dapat dikontrol sesuai dengan kebutuhan sistem.
| 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
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, Servo SG90 dengan ESP32 dan LCD 16×2 berhasil dirancang dan dapat berfungsi dengan baik. Servo mampu bergerak ke posisi 0°, 45°, dan 90°, sedangkan LCD 16×2 dapat menampilkan informasi sudut sesuai posisi servo.
Sistem ini dapat menjadi dasar untuk berbagai penerapan robotik, otomatisasi, dan sistem kontrol.
Kami Siap Bantu Kamu
Jasa IoT Industri
Integrasi IoT untuk efisiensi industri.
- ✔ Solusi custom
- ✔ Implementasi profesional
- ✔ Support berkelanjutan
Web Dashboard IoT
Monitoring data real-time & modern.
- ✔ Real-time
- ✔ UI modern
- ✔ Aman & scalable
Sertifikasi IoT BNSP
Upgrade skill + sertifikat resmi.
- ✔ Sertifikasi BNSP
- ✔ Praktik langsung
- ✔ Untuk profesional
| FAQ (Frequently Asked Questions)
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.
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°.
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.