Simulator Interaktif Arduino Uno R3 & ESP32: Litar Robotik Smart Car dan Pengaturcaraan Visual
Platform Simulasi Interaktif Arduino Uno R3 & ESP32: Virtual Prototyping Litar Smart Car & Pengekodan Robotik
Alat pemodelan interaktif berasaskan web yang direka khas untuk simulasi visual litar mikropengawal Arduino Uno R3 dan ESP32. Uji kawalan pemacu motor L298N, pergerakan penderia ultrasonik HC-SR04, mod pengesanan laluan, dan penjanaan kod C++ automatik secara intuitif.
[STATUS] Bekalan Kuasa: 7.4V Li-ion Bateri dikesan OK.
[DRIVER] L298N H-Bridge Status: Aktif. Kelajuan PWM Left: 200, Right: 200.
[SENSOR] Ultrasonik HC-SR04: Distance = 25cm. Tiada Halangan Kritikal.
[VERDICT] Litar berfungsi normal tanpa lebihan beban arus.
// Kod Pengaturcaraan Automatik STEMSimulator oleh Ir. MD Nursyazwi
// Kod Sumber Dijana Otomatik untuk Smart Car Arduino Uno R3
#include <Servo.h>
const int PIN_ENA = 5;
const int PIN_IN1 = 6;
const int PIN_IN2 = 7;
const int PIN_IN3 = 8;
const int PIN_IN4 = 9;
const int PIN_ENB = 10;
const int PIN_TRIG = A0;
const int PIN_ECHO = A1;
Servo ultrasonicServo;
void setup() {
pinMode(PIN_ENA, OUTPUT);
pinMode(PIN_ENB, OUTPUT);
pinMode(PIN_IN1, OUTPUT);
pinMode(PIN_IN2, OUTPUT);
pinMode(PIN_IN3, OUTPUT);
pinMode(PIN_IN4, OUTPUT);
pinMode(PIN_TRIG, OUTPUT);
pinMode(PIN_ECHO, INPUT);
ultrasonicServo.attach(3);
ultrasonicServo.write(90);
Serial.begin(9600);
}
void loop() {
long duration, distance;
digitalWrite(PIN_TRIG, LOW);
delayMicroseconds(2);
digitalWrite(PIN_TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(PIN_TRIG, LOW);
duration = pulseIn(PIN_ECHO, HIGH);
distance = duration * 0.034 / 2;
if(distance < 15) {
// Halangan dikesan - Pusing Kanan
analogWrite(PIN_ENA, 180);
analogWrite(PIN_ENB, 180);
digitalWrite(PIN_IN1, HIGH);
digitalWrite(PIN_IN2, LOW);
digitalWrite(PIN_IN3, LOW);
digitalWrite(PIN_IN4, HIGH);
} else {
// Ke Hadapan
analogWrite(PIN_ENA, 200);
analogWrite(PIN_ENB, 200);
digitalWrite(PIN_IN1, HIGH);
digitalWrite(PIN_IN2, LOW);
digitalWrite(PIN_IN3, HIGH);
digitalWrite(PIN_IN4, LOW);
}
}
Panduan Kejuruteraan Litar Robotik Smart Car: Arduino Uno R3 dan ESP32
Pembangunan sistem robotik mudah alih berasaskan mikropengawal seperti Arduino Uno R3 dan ESP32 memerlukan kefahaman mendalam mengenai interaksi antara peranti tegar (hardware) dan perisian (software). Dalam arena pendidikan STEM (Science, Technology, Engineering, and Mathematics), penggunaan simulator berasaskan web memberikan ruang simulasi yang selamat bagi mengelakkan kerosakan komponen fizikal akibat kesilapan sambungan polariti atau lebihan beban arus elektrik.
Seni Bina Mikropengawal & Pemprosesan Isyarat Digital
Papan rekaan Arduino Uno R3 dikuasakan oleh mikropengawal 8-bit ATmega328P yang beroperasi pada frekuensi jam 16 MHz. Ia dilengkapi dengan 14 pin input/output digital (di mana 6 daripadanya menyokong Modulasi Lebar Denyut atau PWM) serta 6 pin input analog. Sebagai perbandingan, platform ESP32 menawarkan keupayaan pemprosesan 32-bit dwi-teras dengan sambungan Wi-Fi dan Bluetooth terbina dalam, menjadikannya pilihan utama bagi aplikasi Kawalan Jauh IoT (Internet of Things) dan teleoperasi robotik termaju.
Apabila mengawal motor DC menggunakan pemacu L298N Dual H-Bridge, pin PWM memainkan peranan kritikal dalam mengawal kadar voltan purata yang dibekalkan kepada gegelung motor. Pemacu L298N membolehkan kawalan arah putaran (ke hadapan, ke belakang, atau brek) melalui konfigurasi pin logik IN1, IN2, IN3, dan IN4, manakala pin ENA dan ENB menerima isyarat PWM dari pemproses untuk melaraskan kelajuan sudut roda.
Prinsip Pengesan Halangan Ultrasonik HC-SR04 & Motor Servo
Pengesan ultrasonik HC-SR04 berfungsi berdasarkan prinsip pantulan gelombang akustik frekuensi tinggi (40 kHz). Proses pengukuran jarak dimulakan apabila pin Trigger menerima denyut logik HIGH selama sekurang-kurangnya 10 mikrosaat. Sensor akan memancarkan 8 denyut gelombang ultrasonik dan mengaktifkan pin Echo ke tahap HIGH. Tempoh masa pin Echo kekal HIGH diukur untuk mengira jarak sasaran menggunakan formula fizikal berdasarkan kelajuan bunyi di udara (kira-kira 343 meter sesaat):
Jarak (cm) = (Tempoh Masa Mikrosaat x 0.0343) / 2
Dengan menggabungkan HC-SR04 di atas motor servo micro SG90, robot dapat melakukan imbasan sudut dari 0 hingga 180 darjah. Pengimbasan ini membolehkan algoritma sistem menentukan laluan terbaik yang bebas daripada halangan sebelum mengarahkan pemacu motor menukar arah pergerakan.
Sistem Pengesan Laluan Inframerah (Line Tracking)
Mod pengesan laluan menggunakan tatasusunan modul pengesan inframerah (IR) yang mengandungi LED pemancar dan fototransistor penerima. Permukaan putih atau terang akan memantulkan sebahagian besar sinar inframerah kembali ke penerima, manakala garisan hitam akan menyerap sinar tersebut. Perbezaan keupayaan pantulan ini menghasilkan perubahan voltan analog yang ditukar kepada isyarat digital melalui pembanding (comparator) LM393. Melalui maklumat ini, algoritma kawalan bertingkat dapat melaraskan perbezaan kelajuan motor kiri dan kanan bagi memastikan robot sentiasa berada di atas garisan panduan.
Diagnostik Keputusan & Keselamatan Litar (Verdict Analysis)
Sebelum memuat naik kod C++ ke dalam mikropengawal fizikal, proses penilaian atau verdict analisis litar adalah penting. Beberapa aspek keselamatan kejuruteraan yang perlu disahkan termasuk:
- Pengasingan Kuasa: Memastikan bekalan kuasa motor (7.4V hingga 12V Li-ion) diasingkan daripada bekalan kuasa logik 5V mikropengawal untuk mengelakkan hingar elektrik (electrical noise) merosakkan cip ATmega328P.
- Penyambungan Bumi Sepunya (Common Ground): Menyambungkan talian GND bateri pemacu motor L298N bersama GND Arduino bagi memastikan rujukan voltan isyarat kawalan adalah konsisten.
- Pelesapan Haba L298N: Memastikan sinki haba aluminium pada L298N mencukupi apabila mengendalikan beban arus berterusan melebihi 1.2 Ampere.

Ulasan
Catat Ulasan