Anda di halaman 1dari 10

MOBIL REMOT DENGAN KONTROL

ANDROID ANTI TABRAK DENGAN FITUR


SEMI-AUTOPILOT

1st Dico Rio Sinaga 2nd Fahmi Hamdi Muhammad Iqbal


Program Studi Teknik Elektro Program Studi Teknik Elektro
Institut Teknologi Sumatera Institut Teknologi Sumatera
Bandar Lampung, Indonesia Bandar Lampung, Indonesia
dico.13116058@student.itera.ac.id fahmi.13115033@student.itera.ac.id

Abstract—Kemajuan zaman merupakan perjalanan biasanya dilakukan oleh programer untuk menggunakan
kehidupan manusia yang mengalami perkembangan maupun melakukan konfigurasi pada IC tersebut.
diantaranya ilmu pengetahuan dan teknologi, dewasa ini
perkembangan zaman menjadi sangat pesat utamanya menilik Salah satu board yang cukup terkenal yakni nodeMCU
perkembangan teknologi yang semakin pesat sehingga setiap dengan komponen utamanya yakni modul Wifi ESP8266
saatnya menuntut peningkatan efisiensi, optimalisasi performa yang dikonfigurasikan dengan IC CH3400 untuk
kerja, dan minimalisasi ukuran untuk mempermudah pelbagai
menciptakan perangkat mikrokontroler yang dapat dapat
kebutuhan manusia dengan cepat dan praktis pada kondisi
apapun. Sejalan dengan perkembangan berbagai perangkat diakses melalui jaringan Wifi. Dalam penginputan program
elektronika yang menunjang kemudahan dalam kehidupan yang akan disematkan di dalam nodeMCU ini dapat
sehari-hari berpengaruh pada bidang automasi. Oleh karena menggunakan aplikasi arduino IDE. Selain pada bidang IC
itu penelitian ini ditujukan sebagai proyek tugas besar untuk
mata kuliah Robotika dengan kode EL-4021, ini akan perkembangan automasi kendaraan juga mulai sangat ramai
membuat purnarupa dari suatu permasalahan berkaitan di perbincangkan. Perkembangan automasi kendaraan
dengan automasi robot dengan judul Mobil Remot dengan sangat erat kaitannya dengan keamanan, kenyamanan, dan
Kontrol Android Anti Tabrak Dengan Fitur Semi-Autopilot. ketepatan.
Penulis mengintegrasikan mobil kecil, motor servo, sensor
ultrasonic, motor dc, dan nodeMCU untuk membentuk suatu Oleh karena itu berdasarkan latar belakang di atas
sistem mobil remot kontrol berbasis android dilengkapi tim penulis moncoba merancang sebuah alat “Mobil Remot
dengan fitur auto pilot yang anti tabrak dengan dengan Kontrol Android Anti Tabrak dengan Fitur
memanfaatkan kemampuan sensor.
Autopilot” dengan memanfaatkan nodeMCU sebagai
Keywords—NodeMCU ESP8266, IC CH3400, smartphone, penghubung dengan android dan pusat kontrol dari
Arduino, automasi robot, sensor, android, auto-pilot. keputusan-keputusan yang akan diambil alat ini untuk
menghasilkan tujuan yang diharapkan.
I. PENDAHULUAN
Dalam penugasan ini kami memikirkan cara agar mobil
Berkembangnya teknologi secara pesat terkait
mini 4WD dapat di operasikan secara autopilot, kemudian
peningkatan optimalisasi kecepatan kerja dan minimalisasi
menghubungkan smartphone ke mikrokontroler Arduino
ukuran. Artinya berkembang pula perangkat perangkat
sebagai alat kendali elektronik yang di integrasikan mobil
elektronika yang dikomersilkan. Terutama pada komponen
mini 4WD dengan tujuan;
IC yang semakin lama semakin memiliki kemampuan akses
yang lebih cepat dengan ukuran yang semakin kecil dan 1. Menyelesaikan tugas besar Robotika dengan kode
fungsi yang semakin luas. Untuk mempermudah akses dan mata kuliah EL 4021 sebagai bagian dari komponen
pengembangan kontrol pada IC diciptakan pula board-board penilaian serta implementasi mata kuliah.
yang dapat mempermudah pengguna yang dalam hal ini

XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE


2. Memahami konsep, peran, dan cara kerja setiap
komponen yang ada dalam rancangan alat.
3. Memahami interkoneksi komponen melalui android
dan mikrokontroler yang diimplementasikan dalam
bentuk auto-pilot.
4. Memahami kegunaan alat yang dirancang dalam
kehidupan manusia.

II. LANDASAN TEORITIS

A. NodeMCU 0.9 (ESP-12 Module)


NodeMCU adalah sebuah platform IoT yang bersifat
opensource. Terdiri dari perangkat keras berupa System On Gambar 2.1 Posisi pin ESP-12E
Chip ESP8266 dari ESP8266 buatan Espressif System, juga
firmware yang digunakan, yang menggunakan bahasa
pemrograman scripting Lua. Istilah NodeMCU secara Tabel 2.1 Pin ESP-12E
default sebenarnya mengacu pada firmware yang digunakan
pada perangkat keras development kit. RST : berfungsi mereset
IO10 GBIO10
NodeMCU bisa dianalogikan sebagai board arduino-nya modul
ESP8266. Diperlukan beberapa teknik wiring serta ADC: Analog Digital
SCLK: Clock
tambahan modul USB to serial untuk mengunduh program. Converter
Namun NodeMCU telah me-package ESP8266 ke dalam EN: Chip Enable, Active
GND: Ground
sebuah board yang kompak dengan berbagai fitur layaknya High
mikrokontroler + kapabilitas akses terhadap Wifi juga chip IO16 :GPIO16, dapat
IO15: GPIO15;
komunikasi USB to serial. Sehingga untuk memprogramnya digunakan untuk
MTDO; HSPICS;
hanya diperlukan ekstensi kabel data USB persis yang membangunkan chipset
UART0_RTS
digunakan sebagai kabel data dan kabel charging dari mode deep sleep
smartphone android. IO14 : GPIO14; IO2 :
HSPI_CLK GPIO2;UART1_TXD
B. ESP-12E
IO12 : GPIO12:
Karena jantung dari NodeMCU adalah ESP8266 IO0 : GPIO0
HSPI_MISO
(khususnya seri ESP-12, termasuk ESP-12E) maka fitur –
IO13: GPIO13;
fitur yang dimiliki NodeMCU akan kurang lebih sama ESP-
HSPI_MOSI; IO4 : GPIO4
12 (juga ESP-12E untuk NodeMCU v.2 dan v.3) kecuali
UART0_CTS
NodeMCU telah dibungkus oleh API sendiri yang dibangun
VCC: Catu daya 3.3V
berdasarkan bahasa pemrograman eLua, yang kurang lebih IO5 : GPIO5
(VDD)
cukup mirip dengan javascript. Beberapa fitur tersebut antara
RXD : UART0_RXD;
lain: CS0 :Chip selection
GPIO3
 10 Port GPIO dari D0 – D10 MISO : Slave output, TXD : UART0_TXD;
Main input GPIO1
 Fungsionalitas PWM
MOSI: Main output
IO9 : GPIO9
 Antarmuka I2C dan SPI slave input
 Antarmuka 1 Wire

 ADC C. Tegangan Kerja


ESP8266 menggunakan standar tegangan JEDEC
Adapun bentuk dan lokasi pin ESP-12E sebagai berikut :
(tegangan 3.3V) untuk bisa berfungsi. Tidak seperti
mikrokontroler AVR dan sebagian besar board Arduino
yang memiliki tegangan TTL 5 volt. Meskipun begitu, node
mcu masih bisa terhubung dengan 5V namun melalui port
micro USB atau pin Vin yang disediakan oleh board-nya.
Namun karena semua pin pada ESP8266 tidak toleran
terhadap masukan 5V. Maka jangan sekali – kali langsung
mencatunya dengan tegangan TTL jika tidak ingin merusak
board anda. Anda bisa menggunakan Level Logic Converter Ketika lebar pulsa kendali telah diberikan, maka poros
untuk mengubah tegangan ke nilai aman 3.3v.[1] motor servo akan bergerak atau berputar ke posisi yang
telah diperintahkan, dan berhenti pada posisi tersebut dan
D. Motor Servo
akan tetap bertahan pada posisi tersebut. Jika ada kekuatan
Motor servo adalah sebuah perangkat atau aktuator putar
eksternal yang mencoba memutar atau mengubah posisi
(motor) yang dirancang dengan sistem kontrol umpan balik
tersebut, maka motor servo akan mencoba menahan atau
loop tertutup, sehingga dapat di set-up atau di atur untuk
melawan dengan besarnya kekuatan torsi yang dimilikinya
menentukan dan memastikan posisi sudut dari poros output
(rating torsi servo). Namun motor servo tidak akan
motor. motor servo merupakan perangkat yang terdiri dari
mempertahankan posisinya untuk selamanya, sinyal lebar
motor DC, serangkaian gear, rangkaian kontrol dan
pulsa kendali harus diulang setiap 20 ms (mili detik) untuk
potensiometer. Serangkaian gear yang melekat pada poros
menginstruksikan agar posisi poros motor servo tetap
motor DC akan memperlambat putaran poros dan
bertahan pada posisinya.[2]
meningkatkan torsi motor servo, sedangkan potensiometer
dengan perubahan resistansinya saat motor berputar E. Motor DC
berfungsi sebagai penentu batas posisi putaran poros motor Motor Listrik DC atau DC Motor ini menghasilkan
servo. sejumlah putaran per menit atau biasanya dikenal dengan
Motor servo biasa digunakan dalam aplikasi-aplikasi di istilah RPM (Revolutions per minute) dan dapat dibuat
industri, selain itu juga digunakan dalam berbagai aplikasi berputar searah jarum jam maupun berlawanan arah jarum
lain seperti pada mobil mainan radio kontrol, robot, jam apabila polaritas listrik yang diberikan pada Motor DC
pesawat, dan lain sebagainya. Terdapat dua jenis motor tersebut dibalikan. Motor Listrik DC tersedia dalam
servo, yaitu motor servo AC dan DC. Motor servo AC lebih berbagai ukuran rpm dan bentuk. Kebanyakan Motor Listrik
dapat menangani arus yang tinggi atau beban berat, DC memberikan kecepatan rotasi sekitar 3000 rpm hingga
sehingga sering diaplikasikan pada mesin-mesin industri. 8000 rpm dengan tegangan operasional dari 1,5V hingga
Sedangkan motor servo DC biasanya lebih cocok untuk 24V. Apabile tegangan yang diberikan ke Motor Listrik DC
digunakan pada aplikasi-aplikasi yang lebih kecil. Dan bila lebih rendah dari tegangan operasionalnya maka akan dapat
dibedakan menurut rotasinya, umumnya terdapat dua jenis memperlambat rotasi motor DC tersebut sedangkan
motor servo yang dan terdapat di pasaran, yaitu motor servo tegangan yang lebih tinggi dari tegangan operasional akan
rotation 180⁰ dan servo rotation continuous. membuat rotasi motor DC menjadi lebih cepat. Namun
Motor servo rotation continuous merupakan jenis motor ketika tegangan yang diberikan ke Motor DC tersebut turun
servo yang sebenarnya sama dengan jenis servo standard, menjadi dibawah 50% dari tegangan operasional yang
hanya saja perputaran porosnya tanpa batasan atau dengan ditentukan maka Motor DC tersebut tidak dapat berputar
kata lain dapat berputar terus, baik ke arah kanan dan kiri. atau terhenti. Sebaliknya, jika tegangan yang diberikan ke
Prinsip kerja motor servo adalah, pengendalian motor Motor DC tersebut lebih tinggi sekitar 30% dari tegangan
servo dengan memberikan sinyal modulasi lebar pulsa operasional yang ditentukan, maka motor DC tersebut akan
(Pulse Wide Modulation / PWM) melalui kabel kontrol. menjadi sangat panas dan akhirnya akan menjadi rusak.
Lebar pulsa sinyal kontrol yang diberikan akan menentukan Pada saat Motor listrik DC berputar tanpa beban, hanya
posisi sudut putaran dari poros motor servo. Sebagai contoh, sedikit arus listrik atau daya yang digunakannya, namun
lebar pulsa dengan waktu 1,5 ms (mili detik) akan memutar pada saat diberikan beban, jumlah arus yang digunakan akan
poros motor servo ke posisi sudut 90⁰. Bila pulsa lebih meningkat hingga ratusan persen bahkan hingga 1000% atau
pendek dari 1,5 ms maka akan berputar ke arah posisi 0⁰ lebih (tergantung jenis beban yang diberikan). Oleh karena
atau ke kiri (berlawanan dengan arah jarum jam), sedangkan itu, produsen Motor DC biasanya akan mencantumkan Stall
bila pulsa yang diberikan lebih lama dari 1,5 ms maka poros Current pada Motor DC. Stall Current adalah arus pada saat
motor servo akan berputar ke arah posisi 180⁰ atau ke kanan poros motor berhenti karena mengalami beban maksimal.
(searah jarum jam). Seperti ilustrasi di bawah ini Prinsip kerja motor DC ini terdapat dua bagian utama
pada sebuah Motor Listrik DC, yaitu rotor dan stator 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

Gambar 2.2 Pengaruh PWM terhadap motor servo


(Kumparan Jangkar), Commutator (Komutator) dan Brushes listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada
(kuas/sikat arang). prinsip dari pantulan suatu gelombang suara sehingga dapat
Pada prinsipnya motor listrik DC menggunakan dipakai untuk menafsirkan eksistensi (jarak) suatu benda
fenomena elektromagnet untuk bergerak, ketika arus listrik dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik
diberikan ke kumparan, permukaan kumparan yang bersifat karena sensor ini menggunakan gelombang ultrasonik
utara akan bergerak menghadap ke magnet yang berkutub (bunyi ultrasonik).
selatan dan kumparan yang bersifat selatan akan bergerak Gelombang ultrasonik adalah gelombang bunyi yang
menghadap ke utara magnet. Saat ini, karena kutub utara mempunyai frekuensi sangat tinggi yaitu 20.000 Hz. Bunyi
kumparan bertemu dengan kutub selatan magnet ataupun ultrasonik tidak dapat di dengar oleh telinga manusia. Bunyi
kutub selatan kumparan bertemu dengan kutub utara magnet ultrasonik dapat didengar oleh anjing, kucing, kelelawar,
maka akan terjadi saling tarik menarik yang menyebabkan dan lumba-lumba. Bunyi ultrasonik nisa merambat melalui
pergerakan kumparan berhenti. zat padat, cair dan gas. Reflektivitas bunyi ultrasonik di
Untuk menggerakannya lagi, tepat pada saat kutub permukaan zat padat hampir sama dengan reflektivitas
kumparan berhadapan dengan kutub magnet, arah arus pada bunyi ultrasonik di permukaan zat car. Akan tetapi,
kumparan dibalik. Dengan demikian, kutub utara kumparan gelombang bunyi ultrasonik akan diserap oleh tekstil dan
akan berubah menjadi kutub selatan dan kutub selatannya busa.
akan berubah menjadi kutub utara. Pada saat perubahan Prinsip kerja pada sensor ultrasonic adalah, gelombang
kutub tersebut terjadi, kutub selatan kumparan akan ultrasonik dibangkitkan melalui sebuah alat yang disebut
berhadap dengan kutub selatan magnet dan kutub utara dengan piezoelektrik dengan frekuensi tertentu.
kumparan akan berhadapan dengan kutub utara magnet. Piezoelektrik ini akan menghasilkan gelombang ultrasonik
Karena kutubnya sama, maka akan terjadi tolak menolak (umumnya berfrekuensi 40kHz) ketika sebuah osilator
sehingga kumparan bergerak memutar hingga utara diterapkan pada benda tersebut. Secara umum, alat ini akan
kumparan berhadapan dengan selatan magnet dan selatan menembakkan gelombang ultrasonik menuju suatu area atau
kumparan berhadapan dengan utara magnet. Pada saat ini, suatu target. Setelah gelombang menyentuh permukaan
arus yang mengalir ke kumparan dibalik lagi dan kumparan target, maka target akan memantulkan kembali gelombang
akan berputar lagi karena adanya perubahan kutub. Siklus tersebut. Gelombang pantulan dari target akan ditangkap
ini akan berulang-ulang hingga arus listrik pada kumparan oleh sensor, kemudian sensor menghitung selisih antara
diputuskan. [3] waktu pengiriman gelombang dan waktu gelombang pantul
diterima.
F. Arduino IDE
Arduino IDE (Integrated Development Environment) H. Bang-bang Control
adalah sebuah perangkat lunak yang digunakan untuk Dalam teori kontrol , pengendali bang-bang ( pengendali
mengembangkan aplikasi mikrokontroler mulai dari 2 langkah atau on-off), juga dikenal sebagai pengendali
menuliskan source program, kompilasi, upload hasil histeresis yang berarti pengendali umpan balik yang beralih
kompilasi dan uji coba secara terminal serial. Icon menu secara tiba-tiba antara dua kondisi. Kontroler ini dapat
verify yang bergambar ceklis berfungsi untuk mengecek diwujudkan dalam hal elemen apa pun yang menyediakan
program yang ditulis apakah ada yang salah atau error. histeresis. Mereka sering digunakan untuk mengontrol
Icon menu upload yang bergambar panah ke arah kanan pabrik yang menerima input biner, misalnya tungku yang
berfungsi untuk memuat / transfer program yang dibuat di benar-benar hidup atau benar-benar mati. Termostat hunian
software arduino ke hardware arduino. Icon menu New yang yang paling umum adalah pengendali bang-bang. Fungsi
bergambar sehelai kertas berfungsi untuk membuat halaman langkah Heaviside dalam bentuk diskritnya adalah contoh
baru dalam pemrograman. sinyal kontrol bang-bang . Karena sinyal kontrol terputus ,
Icon menu Open yang bergambar panah ke arah atas sistem yang menyertakan bang-bang controller adalah
berfungsi untuk membuka program yang disimpan atau sistem struktur variabel, dan bang-bang controller adalah
membuka program yang sudah dibuat dari pabrikan pengontrol struktur variabel.
software arduino. Icon menu Save yang bergambar panah ke
III. METODOLOGI PENELITIAN
arah bawah berfungsi untuk menyimpan program yang telah
dibuat atau dimodifikasi. Icon menu serial monitor yang Perancangan merupakan proses yang dilakukan
bergambar kaca pembesar berfungsi untuk mengirim atau terhadap alat, mulai dari rancangan kerja rangkaian hingga
menampilkan serial komunikasi data saat dikirim dari hasil jadi yang akan difungsikan. Perancangan dan
hardware arduino.[4] pembuatan alat merupakan bagian terpenting dari seluruh
pembuatan tugas besar ini. Perancangan dan sistematik yang
G. Sensor Ultrasonik baik memberikan kemudahan dalam proses pembuatan alat.
Sensor ultrasonik adalah sebuah sensor yang berfungsi Pada tahap ini yang dilakukan adalah membuat perancangan
untuk mengubah besaran fisis (bunyi) menjadi besaran
dan pembuatan sistem yaitu membuat flowchart, hardware B. Sistem Kerja Perangkat
interface, software interface, implementasi perancangan
Hardware.
A. Prosedur Pembuatan
Berikut adalah langkah-langkah dalam proses pembuatan
perangkat :
1. Menyiapkan alat dan bahan
2. Perancangan sistem dan desain perangkat
3. Proses pembuatan perangkat.

a. Alat dan Bahan


Tabel 3.1 Alat dan Bahan
Alat/Komponen Bahan Gambar 3.2 Flowchart sistem kerja alat
Motor Servo Solder
Pengoperasian mobil Mobil mini 4 WD dengan langkah
Motor DC Timah awal melakukan menekan tombol on/off dan
Baterai Baut menghubungkan Mobil mini 4 WD dengan smartphone, dan
dimana terdapat aplikasi berbasis android sebagai controller
Mini 4 WD Lem
mobil Mobil mini 4 WD tersebut. Di aplikasi tersebut
Stik Es Krim Tang potong memberikan 2 opsi mode pengoperasian, yaitu mode manual
Jumper Male to Male Gunting dan mode otomatis. Mode manual dikendalikan oleh user
Jumper Female to Female Bread Board secara penuh lewat aplikasi berbasis android, dan mode
otomatis dikendalikan berdasarkan keputusan sistem mobil
Sensor Ultrasonik Laptop/PC
Mobil mini 4 WD tersebut..
Arduino ESP8266 Smart Phone
Relay 2 chanel IV. PEMBAHASAN
Mini PCB Implementasi penelitian memerlukan hardware yang
Dudukan Baterai akan dirakit dan software yang digunakan untuk
memprogram mikrokontroler. Software yang digunakan
b. Desain Perancangan adalah Arduino IDE versi 1.6.3, sedangkan hardware yang
Adapun desain rancangan dari perangkat yang dibuat digunakan sebagai berikut:
adalah seperti 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.1) hanya saja
Gambar 3.1 Desain perangkat perubahan pada perakitan motor yang disesuaikan dengan
Pada gambar 3.1 desain perangkat terdiri dari Mobil mobil tamia. Kode perintah android diterima melalui wifi,
mini 4 WD (four-wheel drive) sebagai sasis utama kemudian Arduino Uno R3 akan menggerakkan motor
sebagai tempat peletakkan dinamo, baterai, relay, motor melalui relay. Project board PCB digunakan sebagai
DC, mikrokontroller, motor servo, dan sensor ultrasonic. sambungan kabel antar alat supaya mudah untuk lepas dan
Desain perangkat tersebut telah dedesain secara pasang tanpa harus menggunakan solder.
compact, handal, dan efisien.
Gambar 4.1 Skema perencanaan alat
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 Gambar 4.2 Mode kendali otomatis pada aplikasi berbasis
secara seri. Motor servo digunakan sebanyak 2 buah, yaitu android
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 atau kekiri yang tersensing
oleh sensor ultrasonic untuk menghindari objek.

Gambar 4.3 Mode kendali manual pada aplikasi berbasis


android
int touch=A0;
int tr;
int onoff=0;
int KIRI1=179;
int TENGAH=90;
int KANAN1=8;
int pos;
int TRIG = 16;
int ECHO = 5;
int ULTRA_KANAN;
int ULTRA_KIRI;
unsigned long duration;
unsigned int distance;
unsigned int BD;

int belok=0;
int KIRI2=50;
int KANAN2=120;

Servo myservo1;
Servo myservo2;

BLYNK_WRITE(V1) {
Vmaju = param.asInt();
}
Gambar 4.3 Penamaan variable pada aplikasi berbasis
android BLYNK_WRITE(V2) {
Vkanan = param.asInt();
}
Dalam sistem kerja Tamiya ini menerapkan sistem
kerja bang – bang control, yang terlihat pada kodingan BLYNK_WRITE(V3) {
Arduino, menerapkan fungsi if else ketika maju, mundur, Vmundur = param.asInt();
kekiri, dan kekanan yang mempunyai nilai range yang telah }
ditentukan yang telah disensing oleh sensor sensor yang
telah diprogram Arduino. Singkatnya, kontrol bang-bang BLYNK_WRITE(V4) {
sebenarnya kontrol optimal dalam beberapa kasus, Vkiri = param.asInt();
}
meskipun mereka juga sering diimplementasikan karena
kesederhanaan atau kenyamanan. BLYNK_WRITE(V5) {
Vmode = param.asInt();
Dan berikut adalah source program yang telah diaplikasikan }
pada mobil Mobil mini 4 WD
void setup() {
Serial.begin(9600);
#include <ESP8266WiFi.h> Blynk.begin(auth, ssid, pass);
#define BLYNK_PRINT Serial pinMode(LED_BUILTIN, OUTPUT);
#include <BlynkSimpleEsp8266.h> pinMode(maju, OUTPUT);
#include <Servo.h> `
pinMode(ECHO, INPUT);
char auth[] = "0rChd1P- myservo1.attach(14);
mNWzb5UX0M18uCHa6xTmsiEi"; myservo2.attach(12);
char ssid[] = "tubes";
char pass[] = "tugasbesar"; }
void loop() {
int Vmaju; Blynk.run();
int Vkanan; digitalWrite(LED_BUILTIN, onoff));
int Vmundur; if(onoff==0){
int Vkiri; digitalWrite(maju, LOW);
int Vmode; digitalWrite(mundur, LOW);
else{
digitalWrite(maju, HIGH);
tr=analogRead(touch); digitalWrite(mundur, LOW );
delay(500); delay(1);
if (tr>=1020){
onoff=1; digitalWrite(TRIG, LOW);
delay(500); delayMicroseconds(5);
} digitalWrite(TRIG, HIGH);
else { delayMicroseconds(5);
onoff=0; digitalWrite(TRIG, LOW);
} duration = pulseIn(ECHO, HIGH);
} BD = duration /58.2;
pos=TENGAH;
else{ myservo1.write(pos);
if(Vmode==1) myservo2.write(pos);
{
myservo1.write(TENGAH); while(BD<=20){
digitalWrite(TRIG, LOW); digitalWrite(maju, LOW);
delayMicroseconds(5); digitalWrite(mundur, LOW);
digitalWrite(TRIG, HIGH); myservo1.write(KIRI1);
delayMicroseconds(5); delay(1000);
digitalWrite(TRIG, LOW); digitalWrite(TRIG, LOW);
duration = pulseIn(ECHO, HIGH); delayMicroseconds(5);
distance = duration /58.2; digitalWrite(TRIG, HIGH);
if(distance<20){ delayMicroseconds(5);
digitalWrite(mundur, Vmundur); digitalWrite(TRIG, LOW);
if(Vkanan==1 && Vkiri==0) duration = pulseIn(ECHO, HIGH);
{ distance = duration /58.2;
myservo2.write(KANAN2); ULTRA_KIRI=distance;
} myservo1.write(KANAN1);
delay(1000);
else if(Vkiri==1 && Vkanan==0){ digitalWrite(TRIG, LOW);
myservo2.write(KIRI2); delayMicroseconds(5);
} digitalWrite(TRIG, HIGH);
else{ delayMicroseconds(5);
myservo2.write(TENGAH); digitalWrite(TRIG, LOW);
} duration = pulseIn(ECHO, HIGH);
if(Vmaju==1 && (Vkiri==1 || Vkanan==1)){ distance = duration /58.2;
digitalWrite(maju, Vmaju); ULTRA_KANAN=distance;
}
else{ myservo1.write(TENGAH);
digitalWrite(maju, 0); delay(1000);
}
} BD=21;
else{ belok=1;
digitalWrite(maju, Vmaju); }
digitalWrite(mundur, Vmundur); while(BD==21 && belok==1){
if(Vkanan==1 && Vkiri==0){ while(ULTRA_KIRI > ULTRA_KANAN &&
myservo2.write(KANAN2); belok==1){
} digitalWrite(TRIG, LOW);
delayMicroseconds(5);
else if(Vkiri==1 && Vkanan==0){ digitalWrite(TRIG, HIGH);
myservo2.write(KIRI2); delayMicroseconds(5);
} digitalWrite(TRIG, LOW);
else{ duration = pulseIn(ECHO, HIGH);
myservo2.write(TENGAH); distance = duration /58.2;
}

.
if (distance<=20){
digitalWrite(TRIG, LOW); V. KESIMPULAN DAN SARAN
delayMicroseconds(5);
digitalWrite(TRIG, HIGH); Penelitian ini menghasilkan prototype model sebuah alat
delayMicroseconds(5); elektronik (mobil Mobil mini 4 WD ) yang dikendalikan
digitalWrite(TRIG, LOW); dengan smartphone Android dan ditarik kesimpulan sebagai
duration = pulseIn(ECHO, HIGH); berikut:
distance = duration /58.2;
myservo2.write(KIRI2); 1. Mobil mini 4 WD NodeMCU dapat dikendalikan
digitalWrite(maju, HIGH); dengan baik menggunakan smartphone Android
digitalWrite(mundur, LOW ); melalui koneksi wifi.
belok=1;
} 2. Jarak antara NodeMCU dengan Android tidak
else{ berpengaruh besar dengan kecepatan proses pairing.
belok=0;
} 3. Kecepatan proses pairing lebih dipengaruhi oleh
} versi Android dibanding dengan hardware yang
while(ULTRA_KANAN > ULTRA_KIRI && terpasang.
belok==1){
4. Mobil mini 4 WD dapat dioperasikan dalam 2 mode
digitalWrite(TRIG, LOW); yaitu mode manual yang dikendalikan oleh android
delayMicroseconds(5); smartphone dan dikendalikan secara autopilot yang
digitalWrite(TRIG, HIGH); bergerak berdasarkan sistem robot tersebut.
delayMicroseconds(5);
digitalWrite(TRIG, LOW); 5. Mobil mini 4 WD dapat berjalan autopilot dengan
duration = pulseIn(ECHO, HIGH); cara mensensing ultrasonik agar Mobil mini 4 WD
distance = duration /58.2; terhindar dari tabrakan.
if (distance<=20){
digitalWrite(TRIG, LOW); 6. Perangkat dapat melaksanakan semua perintah
delayMicroseconds(5); dengan baik, akan tetapi dalam pengaplikasiannya
digitalWrite(TRIG, HIGH); belum dapat bekerja secara maksimal. Hal ini
delayMicroseconds(5); dikarenakan faktor mekanikal sensing ultrasonik
digitalWrite(TRIG, LOW); yang lambat dan masalah koneksi jaringan.
duration = pulseIn(ECHO, HIGH);
distance = duration /58.2; Adapun saran untuk penyempurnaan perangkat adalah
sebagai berikut :
myservo2.write(KANAN2);  Alat penelitian dikembangkan dengan alat yang
digitalWrite(maju, HIGH); lain dan media transmisi data menggunakan Wi-Fi
digitalWrite(mundur, LOW );
belok=1; yang memiliki jarak yang jauh.
}
else{
REFERENCES
belok=0;
}
} [1] Samsugi, dkk. 2018. Arduino dan Modul Wifi ESP8266
Sebagai Media Kendali jarak Jauh dengan Antarmuka
} Berbasis Android. Jurnal TEKNOINFO, Vol. 12, No. 1,
} 2018, 23-27. ISSN 1693-0010
tr=analogRead(touch); [2] Irawan, Dede. 2019. Perancangan Siatem Pemantau dan
if (tr>=1020){ Pengendali Alat Rumah Tangga Menggunakan
onoff=0; NodeMCU. JTERA (Jurnal Teknologi Rekayasa), Vol.
4, No. 1, Juni 2019.
delay(500);
[3] https://embeddednesia.com/v1/tutorial-nodemcu-
} pertemuan-pertama/
else { [4] http://trikueni-desain-
onoff=1; sistem.blogspot.com/2014/03/Pengertian-Motor-
delay(500); Servo.html
}} [5] Sutanto, Dimas. dkk, Modul Praktikum IF3124 Sistem
Tertanam, Institut Teknologi Sumatera, V1.0, 2019.
Serial.print(tr);
Serial.print("=>"); [6] Yuliansyah, Herry. Uji Kinerja Pengiriman Data Secara
Wireless Menggunakan Modul ESP8266 Berbasis Rest
Serial.println(onoff); Architecture. Vol 10, No 2. 2016.
} [7] https://teknikelektronika.com/pengertian-motor-dc-
prinsip-kerja-dc-motor/
[8] https://www.elangsakti.com/2015/05/sensor-
ultrasonik.html

Anda mungkin juga menyukai