Kelompok : 1
Arif Pamenang 13115014
Adlu Hakam Ramadhan 13115042
Dzaky Hilmi Raihan 13115023
Retno Aljumuah 13115029
Ihsan Prawirahutomo 13115015
Syarif Hidayatullah 13115037
Berkembangnya tekhnologi secara pesat terkait peningkatan optimalisasi kecepatan kerja dan
minimalisasi ukuran. Serta berkembang pula perangkat perangkat elektronika yang menunjang
kemudahan dalam kehidupan sehari-hari yang juga berpengaruh dalam bidang automasi. Oleh
karena itu Penelitian ini ditujukan sebagai proyek tugas besar untuk mata kuliah robotika ini
akan membuat purnarupa dari suatu permasalahan berkaitan dengan automasi robot dengan
judul Mobil Remot Kontrol Android Anti Tabrak Dengan Fitur Semi-Autopilot. Penulis
mengintegrasikan mobil kecil, motor servo, sensor ultrasonic, motor dc, dan nodeMCU untuk
membentuk suatu sistem mobil remot kontrol berbasis android dilengkapi dengan fitur auto
pilot yang anti tabrak dengan memanfaatkan kemampuan sensor.
BAB 1 PENDAHULUAN
1.3 Tujuan
Pada dasarnya tujuan utama tim penulis membuat alat ini yaitu untuk memenuhi
tugas besar mata kuliah embedded system. Disamping itu penulis ingin menguji keterampilan
dalam merealisasikan imajinasi penulis mengenai sistem kontrol dan cara kerja komponen-
komponen yang terlibat di dalamnya. Menambah wawasan dan membantu penerapan teori
yang dipelajari didalam perkuliahan.
Sedangkan untuk sementara ini kegunaan alat yang tim penulis buat yakni untuk menunjukkan
sistem autopilot sedarhana dan pengotrolan berbasis android serta dapat mengurangi tingkat
kerusakan yang terjadi pada mobil remot kontrol.
BAB 2 TEORI DASAR
2.2 ESP-12E
Karena jantung dari NodeMCU adalah ESP8266 (khususnya seri ESP-12,
termasuk ESP-12E) maka fitur – fitur yang dimiliki NodeMCU akan kurang lebih sama ESP-
12 (juga ESP-12E untuk NodeMCU v.2 dan v.3) kecuali NodeMCU telah dibungkus oleh API
sendiri yang dibangun berdasarkan bahasa pemrograman eLua, yang kurang lebih cukup mirip
dengan javascript. Beberapa fitur tersebut antara lain:
• 10 Port GPIO dari D0 – D10
• Fungsionalitas PWM
• Antarmuka I2C dan SPI
• Antarmuka 1 Wire
• ADC
Adapun bentuk dan lokasi pin ESP-12E sebagai berikut :
Tabel 2.1 ?
RST : berfungsi mereset modul IO10 GBIO10
ADC: Analog Digital Converter SCLK: Clock
EN: Chip Enable, Active High GND: Ground
IO16 :GPIO16, dapat digunakan untuk IO15: GPIO15; MTDO; HSPICS; UART0_RTS
membangunkan chipset dari mode deep sleep
IO14 : GPIO14; HSPI_CLK IO2 : GPIO2;UART1_TXD
IO12 : GPIO12: HSPI_MISO IO0 : GPIO0
IO13: GPIO13; HSPI_MOSI; UART0_CTS IO4 : GPIO4
VCC: Catu daya 3.3V (VDD) IO5 : GPIO5
CS0 :Chip selection RXD : UART0_RXD; GPIO3
MISO : Slave output, Main input TXD : UART0_TXD; GPIO1
IO9 : GPIO9 MOSI: Main output slave input
2.6 Motor DC
Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit atau
biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat berputar
searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik yang diberikan
pada Motor DC tersebut dibalikan. Motor Listrik DC tersedia dalam berbagai ukuran rpm dan
bentuk. Kebanyakan Motor Listrik DC memberikan kecepatan rotasi sekitar 3000 rpm hingga
8000 rpm dengan tegangan operasional dari 1,5V hingga 24V. Apabile tegangan yang
diberikan ke Motor Listrik DC lebih rendah dari tegangan operasionalnya maka akan dapat
memperlambat rotasi motor DC tersebut sedangkan tegangan yang lebih tinggi dari tegangan
operasional akan membuat rotasi motor DC menjadi lebih cepat. Namun ketika tegangan yang
diberikan ke Motor DC tersebut turun menjadi dibawah 50% dari tegangan operasional yang
ditentukan maka Motor DC tersebut tidak dapat berputar atau terhenti. Sebaliknya, jika
tegangan yang diberikan ke Motor DC tersebut lebih tinggi sekitar 30% dari tegangan
operasional yang ditentukan, maka motor DC tersebut akan menjadi sangat panas dan akhirnya
akan menjadi rusak.
Pada saat Motor listrik DC berputar tanpa beban, hanya sedikit arus listrik atau
daya yang digunakannya, namun pada saat diberikan beban, jumlah arus yang digunakan akan
meningkat hingga ratusan persen bahkan hingga 1000% atau lebih (tergantung jenis beban
yang diberikan). Oleh karena itu, produsen Motor DC biasanya akan mencantumkan Stall
Current pada Motor DC. Stall Current adalah arus pada saat poros motor berhenti karena
mengalami beban maksimal.
2.6.1 Prinsip Kerja Motor DC
Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan Rotor.
Stator adalah bagian motor yang tidak berputar, bagian yang statis ini terdiri dari rangka dan
kumparan medan. Sedangkan Rotor adalah bagian yang berputar, bagian Rotor ini terdiri dari
kumparan Jangkar. Dua bagian utama ini dapat dibagi lagi menjadi beberapa komponen
penting yaitu diantaranya adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding
(kumparan medan magnet), Armature Winding (Kumparan Jangkar), Commutator
(Komutator) dan Brushes (kuas/sikat arang).
Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk
bergerak, ketika arus listrik diberikan ke kumparan, permukaan kumparan yang bersifat utara
akan bergerak menghadap ke magnet yang berkutub selatan dan kumparan yang bersifat selatan
akan bergerak menghadap ke utara magnet. Saat ini, karena kutub utara kumparan bertemu
dengan kutub selatan magnet ataupun kutub selatan kumparan bertemu dengan kutub utara
magnet maka akan terjadi saling tarik menarik yang menyebabkan pergerakan kumparan
berhenti.
Untuk menggerakannya lagi, tepat pada saat kutub kumparan berhadapan dengan kutub
magnet, arah arus pada kumparan dibalik. Dengan demikian, kutub utara kumparan akan
berubah menjadi kutub selatan dan kutub selatannya akan berubah menjadi kutub utara. Pada
saat perubahan kutub tersebut terjadi, kutub selatan kumparan akan berhadap dengan kutub
selatan magnet dan kutub utara kumparan akan berhadapan dengan kutub utara magnet. Karena
kutubnya sama, maka akan terjadi tolak menolak sehingga kumparan bergerak memutar hingga
utara kumparan berhadapan dengan selatan magnet dan selatan kumparan berhadapan dengan
utara magnet. Pada saat ini, arus yang mengalir ke kumparan dibalik lagi dan kumparan akan
berputar lagi karena adanya perubahan kutub. Siklus ini akan berulang-ulang hingga arus listrik
pada kumparan diputuskan.[4]
Pada gambar 4.1 desain perangkat terdiri dari Mobil mini 4 WD sebagai sasis utama
sebagai tempat peletakkan dinamo, baterai, relay, motor DC, mikrokontroller, motor servo, dan
sensor ultrasonic. Desain perangkat tersebut telah dedesain secara compact, handal, dan efisien
4.2 Sistem Kerja Perangkat
4.3 Pembahasan
Implementasi penelitian memerlukan hardware yang akan dirakit dan software yang digunakan
untuk memprogram mikrokontroler. Software yang digunakan adalah Arduino IDE versi 1.6.3,
sedangkan hardware yang digunakan sebagai berikut:
1) Smartphone Android
2) Mikrokontroler Arduino Uno R3
3) Wi-Fi ESP8266
4) Relay
5) Project PCB board
6) Mobil Tamia bekas
7) Sensor Ultrasonik
8) Motor servo
9) Dinamo
Skema perakitan peralatan mengacu pada panduan Arduino modul ESP8266 untuk perakitan
mobil dengan penggerak dinamo di belakang (Gambar 4.3 ) hanya saja perubahan pada perakitan motor
yang disesuaikan dengan mobil tamia. Kode perintah android diterima melalui wifi, kemudian Arduino
Uno R3 akan menggerakkan motor melalui relay. Project board PCB digunakan sebagai sambungan
kabel antar alat supaya mudah untuk lepas dan pasang tanpa harus menggunakan solder.
Mobil Mobil mini 4 WD terintegrasi dengan mikrokontroller yang terhubung dengan modul
ESP 8266 sehingga mobil Mobil mini 4 WD dapat di kontrol dengan smartphone yang system
operasinya adalah android. Sensor yang digunakan adalah ultrasonic, dimana sensor ultrasonic
berfungsi memantulkan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi
(jarak) suatu benda dengan jarak ±20 cm. Digerakkann dengan motor DC atau dinamo sebagai
penggerak roda belakang Tamia yang dikendalikan oleh Arduino tersupply oleh baterai terpasang secara
seri. Motor servo digunakan sebanyak 2 buah, yaitu menggerakan sensor ultrasonic sebagai mencari
objek yang ada di depan, dan ketika ada objek didepan maka motor servo akan menggerakkan sensor
ultrasonic untuk mencari jalan untuk menghindari objek tersebut. Dan yang kedua motor servo berguna
untuk menggerakkan roda yang ada didepan untuk bergerak kekanan dan kiri yang tersensing oleh
sensor ultrasonic untuk menghindari objek.
#include <BlynkSimpleEsp8266.h>
#include <Servo.h>
int Vmaju;
int Vkanan;
int Vmundur;
int Vkiri;
int Vmode;
int touch=A0;
int tr;
int onoff=0;
int KIRI1=179;
int TENGAH=90;
int KANAN1=8;
int pos;
int ECHO = 5;
int ULTRA_KANAN;
int ULTRA_KIRI;
int maju=4;
int mundur=0;
int belok=0;
int KIRI2=50;
int KANAN2=120;
Servo myservo1;
Servo myservo2;
BLYNK_WRITE(V1) {
Vmaju = param.asInt();
BLYNK_WRITE(V2) {
Vkanan = param.asInt();
BLYNK_WRITE(V3) {
Vmundur = param.asInt();
BLYNK_WRITE(V4) {
Vkiri = param.asInt();
BLYNK_WRITE(V5) {
Vmode = param.asInt();
void setup() {
Serial.begin(9600);
pinMode(LED_BUILTIN, OUTPUT);
pinMode(maju, OUTPUT);
pinMode(mundur, OUTPUT);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
myservo1.attach(14);
myservo2.attach(12);
void loop() {
Blynk.run();
digitalWrite(LED_BUILTIN, onoff));
if(onoff==0){
digitalWrite(maju, LOW);
digitalWrite(mundur, LOW);
tr=analogRead(touch);
delay(500);
if (tr>=1020){
onoff=1;
delay(500);
else {
onoff=0;
else{
if(Vmode==1){
myservo1.write(TENGAH);
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
if(distance<20){
digitalWrite(mundur, Vmundur);
myservo2.write(KANAN2);
myservo2.write(KIRI2);
else{
myservo2.write(TENGAH);
digitalWrite(maju, Vmaju);
else{
digitalWrite(maju, 0);
else{
digitalWrite(maju, Vmaju);
digitalWrite(mundur, Vmundur);
myservo2.write(KANAN2);
myservo2.write(KIRI2);
else{
myservo2.write(TENGAH);
}
else{
digitalWrite(maju, HIGH);
digitalWrite(mundur, LOW );
delay(1);
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
BD = duration /58.2;
pos=TENGAH;
myservo1.write(pos);
myservo2.write(pos);
while(BD<=20){
digitalWrite(maju, LOW);
digitalWrite(mundur, LOW);
myservo1.write(KIRI1);
delay(1000);
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
ULTRA_KIRI=distance;
myservo1.write(KANAN1);
delay(1000);
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
ULTRA_KANAN=distance;
myservo1.write(TENGAH);
delay(1000);
BD=21;
belok=1;
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
myservo2.write(KIRI2);
digitalWrite(maju, HIGH);
digitalWrite(mundur, LOW );
belok=1;
else{
belok=0;
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
digitalWrite(TRIG, LOW);
delayMicroseconds(5);
digitalWrite(TRIG, HIGH);
delayMicroseconds(5);
digitalWrite(TRIG, LOW);
myservo2.write(KANAN2);
digitalWrite(maju, HIGH);
digitalWrite(mundur, LOW );
belok=1;
else{
belok=0;
tr=analogRead(touch);
if (tr>=1020){
onoff=0;
delay(500);
else {
onoff=1;
delay(500);
Serial.print(tr);
Serial.print("=>");
Serial.println(onoff);
}
BAB 5 KESIMPULAN DAN SARAN
Penelitian ini menghasilkan prototype model sebuah alat elektronik (mobil Mobil mini 4 WD ) yang
dikendalikan dengan smartphone Android dan ditarik kesimpulan sebagai berikut:
1) Mobil mini 4 WD NodeMCU dapat dikendalikan dengan baik menggunakan smartphone
Android
melalui koneksi wifi.
2) Jarak antara NodeMCU dengan Android tidak berpengaruh besar dengan kecepatan proses
pairing.
3) Kecepatan proses pairing lebih dipengaruhi oleh versi Android dibanding dengan hardware
yang terpasang.
4) Mobil mini 4 WD dapat dioperasikan dalam 2 mode yaitu mode manual yang dikendalikan oleh
android smartphone dan dikendalikan secara autopilot yang bergerak berdasarkan sistem robot
tersebut.
5) Mobil mini 4 WD dapat berjalan autopilot dengan cara mensensing ultrasonik agar Mobil mini
4 WD terhindar dari tabrakan.
6) Perangkat dapat melaksanakan semua perintah dengan baik, akan tetapi dalam
pengaplikasiannya belum dapat bekerja secara maksimal. Hal ini dikarenakan faktor mekanikal
sensing ultrasonik yang lambat dan masalah koneksi jaringan.
[1]. https://embeddednesia.com/v1/tutorial-nodemcu-pertemuan-pertama/
[2]. http://trikueni-desain-sistem.blogspot.com/2014/03/Pengertian-Motor-Servo.html
[3]. Sutanto, Dimas. dkk, Modul Praktikum IF3124 Sistem Tertanam, Institut Teknologi
Sumatera, V1.0, 2019.
[4]. https://teknikelektronika.com/pengertian-motor-dc-prinsip-kerja-dc-motor/
[5]. https://www.elangsakti.com/2015/05/sensor-ultrasonik.html