1. Pengenalan & Tujuan Proyek
Dalam praktikum teknik elektronika, mikrokontroler dan Internet of Things (IoT), penguasaan antarmuka perangkat MOTOR STEPPER 28BYJ merupakan salah satu kompetensi inti dalam Kurikulum Merdeka maupun perancangan sistem cerdas modern. Melalui artikel dan modul praktikum interaktif ini, kita akan mempelajari arsitektur antarmuka, protokol komunikasi data, skematik pengkabelan yang presisi, serta implementasi logika pemrograman Arduino C++ yang efisien.
🎯 Target Pembelajaran (Learning Outcomes):
- Memahami prinsip kerja dan arsitektur kelistrikan modul MOTOR STEPPER 28BYJ.
- Mampu melakukan pengkabelan (wiring) antara mikrokontroler ESP32 dengan sensor/aktuator secara benar dan aman.
- Menguasai fungsi pustaka (library) dan penulisan sketch firmware Arduino C++.
- Melakukan simulasi langsung serta debugging real-time di simulator DexMicro Virtual Lab.
2. Kebutuhan Komponen & Alat
Sebelum memulai proses perakitan sirkuit, pastikan semua komponen perangkat keras telah disiapkan atau dimuat dalam canvas DexMicro Virtual Lab:
📦 Daftar Komponen & Alat yang Dibutuhkan
- 1x Unit ESP32 DevKit V1 Microcontroller
- 1x Unit Stepper 28byj48
- 1x Unit Sumber Daya Baterai Eksternal 5V
- 1x Set Kabel Jumper Penghubung (Male-to-Male / Male-to-Female)
- 1x Unit DexMicro Virtual Simulator Engine
3. Skematik & Diagram Rangkaian
Berikut adalah gambar diagram skematik resmi untuk proyek MOTOR STEPPER 28BYJ yang dihasilkan secara akurat dari simulator DexMicro:
4. Tabel Panduan Pengkabelan (Pinout Connection)
Gunakan tabel referensi koneksi berikut untuk menghubungkan pin-pin modul ke board ESP32 secara tepat:
| No | Pin Modul / Komponen | Pin Mikrokontroler Target | Warna Kabel | Tipe Sinyal & Fungsi |
|---|---|---|---|---|
| 1 | Stepper 28byj48 → gnd |
GND2 |
#3b82f6 |
🔌 Ground Bersama (GND / 0V) |
| 2 | Stepper 28byj48 → in1 |
GPIO19 |
#f59e0b |
🔌 Jalur Sinyal Digital / Analog |
| 3 | Stepper 28byj48 → in2 |
GPIO18 |
#8b5cf6 |
🔌 Jalur Sinyal Digital / Analog |
| 4 | Stepper 28byj48 → in3 |
GPIO5 |
#f59e0b |
🔌 Jalur Sinyal Digital / Analog |
| 5 | Stepper 28byj48 → in4 |
GPIO17 |
#8b5cf6 |
🔌 Jalur Sinyal Digital / Analog |
| 6 | Sumber Daya Baterai Eksternal 5V → pos |
vcc |
#ef4444 |
⚡ Sumber Daya Positif (Power VCC) |
| 7 | Sumber Daya Baterai Eksternal 5V → neg |
GND2 |
#3b82f6 |
🔌 Ground Bersama (GND / 0V) |
5. Source Code Program (Firmware Sketch)
Salin atau jalankan source code sketch Arduino C++ di bawah ini. Kode ini telah dioptimalkan dengan penanganan error, inisialisasi pin yang aman, serta dokumentasi baris komentar:
#include <Stepper.h>
const int STEPS = 2048;
// Urutan pin ESP32 untuk ULN2003:
// IN1, IN3, IN2, IN4
Stepper myStepper(STEPS, 19, 5, 18, 17);
int direction = 0;
void setup() {
Serial.begin(115200);
myStepper.setSpeed(10); // 10 RPM
Serial.println();
Serial.println(F("================================"));
Serial.println(F(" ESP32 STEPPER CONTROLLER"));
Serial.println(F("================================"));
Serial.println(F("1 = Putar Kanan (CW)"));
Serial.println(F("2 = Putar Kiri (CCW)"));
Serial.println(F("3 = Stop"));
Serial.println(F("--------------------------------"));
Serial.println(F("Masukkan perintah:"));
}
void loop() {
// Membaca perintah dari Serial Monitor
if (Serial.available() > 0) {
char command = Serial.read();
// Putar kanan
if (command == '1') {
direction = 1;
Serial.println(F(">> STEPPER: PUTAR KANAN (CW)"));
}
// Putar kiri
else if (command == '2') {
direction = -1;
Serial.println(F(">> STEPPER: PUTAR KIRI (CCW)"));
}
// Stop
else if (command == '3') {
direction = 0;
Serial.println(F(">> STEPPER: STOP"));
}
}
// Jalankan motor sesuai arah
if (direction == 1) {
myStepper.step(1);
}
else if (direction == -1) {
myStepper.step(-1);
}
}
6. Penjelasan & Analisis Alur Program
Berikut adalah poin-poin krusial dalam struktur program sketch di atas:
- Inisialisasi & Deklarasi Pustaka: Mengikutsertakan header library yang dibutuhkan seperti
<Wire.h>untuk protokol komunikasi I2C dua arah (SDA & SCL) atau header khusus modul terkait. - Fungsi
setup(): Melakukan inisialisasi peripheral dengan menentukan baud rate Serial Monitor (misalnyaSerial.begin(9600)atau115200), mengonfigurasi mode pin I/O (pinMode), dan memanggil fungsibegin()pada modul untuk pengujian perangkat keras. - Fungsi
loop(): Berisi siklus utama pembacaan sinyal input, eksekusi pemrosesan data matematika/logika, dan pembaruan sinyal aktuasi ke layar atau motor secara periodik tanpa lagging.
Coba Langsung di Virtual Lab DexMicro
Buka proyek ini langsung di canvas simulator interaktif untuk merangkai kabel, mengubah baris kode, dan melihat animasi secara real-time tanpa perlu alat fisik.
7. Penerapan di Dunia Nyata & Industri
Konsep dan rangkaian MOTOR STEPPER 28BYJ ini memiliki aplikasi luas dalam berbagai sektor industri modern, antara lain:
- Sistem Smart Home & Otomasi Gedung: Monitoring parameter lingkungan, suhu, kelembaban, dan display status operasional.
- Robotika & Mesin Otomatis: Antarmuka navigasi robot, pembacaan rintangan, dan kontrol aktuator servo presisi.
- Peralatan Medis & Instrumentasi Laboratorium: Menampilkan pembacaan biometrik dan sinyal vital secara instan dan portabel.
8. Tips & Panduan Troubleshooting
- Layar Tidak Menyala / Blank: Periksa koneksi pin VCC dan GND. Pastikan alamat I2C (biasanya
0x3Cuntuk OLED atau0x27untuk LCD) telah sesuai. - Data Serial Tidak Muncul: Pastikan baud rate pada Serial Monitor sama persis dengan angka di
Serial.begin(). - Tegangan Drop: Jika menggunakan motor stepper atau multi-servo, selalu gunakan sumber daya eksternal (baterai/adaptor) dan hubungkan semua GND bersama (Common Ground).
💬 Diskusi & Tanya Jawab 0 Komentar