Anda di halaman 1dari 26

ROBOT GESTURE CONTROL

Disusun Oleh :
Selviana Desti Musdalipah
XII – EI

Guru Pengampu :
Evatia widianti, S.Pd

TEKNIK ELEKTRONIKA INDUSTRI


SMK PERGURUAN CIKINI 1
2020- 2023
COVER
LEMBAR PENGESAHAN
ROBOT GESTURE CONTROL

Robot Gesture Control ini disusun sebagai tugas mata pelajaran menyelesaikan
tugas produk kreatif.

Menyetujui, Mengetahui,
Guru Mata Pelajaran Wali Kelas

Evatia Widianti, S.Pd Ervan Ricardo, S.T

Jakarta, 12 September 2022


KATA PENGNTAR

Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa yang telah
menganugerahkan banyak nikmat sehingga kami dapat menyelesaikan tugas
perencanaan “ROBOT GESTURE CONTROL” Meskipun banyak hambatan dalam menulis
proposal ini serta dalam proses pengerjaannya, tapi saya berhasil menyelesaikan
proposal ini tepat pada waktunya.

Adapun penyusunan proposal ini ditujukan untuk memenuhi tugas Ibu Evatia
Widianti, S.Pd selaku Guru mata pelajaran … yang telah memberikan tugas ini.
Sehingga saya dapat mempelajari banyak pengetahuan baru tentang Robot gesture
conrol.

Tentunya ada hal-hal yang ingin kami berikan kepada masyarakat dari hasil
proposal ini. Karena itu saya berharap semoga proposal ini dapat menjadi sesuatu yang
berguna bagi kita bersama.

Saya menyadari bahwa dalam menyusun proposalini masih jauh dari


kesempurnaan, untuk itu saya sangat mengharapkan kritik dan saran yang bersifat
membangun guna sempurnanya proposal ini. Kami berharap semoga propossal ini bisa
bermanfaat bagi kami khususnya dan bagi pembaca pada umumnya.

Jakarta, 13 September 2022

Selviana Desti Musdalipah


DAFTAR ISI

COVER ........................................................................................................................................ 1
LEMBAR PENGESAHAN................................................................................................................. 2
KATA PENGNTAR .......................................................................................................................... 3
DAFTAR ISI .................................................................................................................................... 4
DAFTAR GAMBAR ......................................................................................................................... 5
BAB 1 ........................................................................................................................................... 6
PENDAHULUAN........................................................................................................................ 6
1.1 Latar belakang masalaah ........................................................................................... 6
1.2 Tujuan Penelitian ........................................................................................................ 6
1.3 Pembatasan masalah................................................................................................... 6
1.4 Manfaat ........................................................................................................................ 7
BAB 2 ........................................................................................................................................... 8
LANDASAN TEORI................................................................................................................... 8
2.1 Mikrokontroler.................................................................................................................. 8
2.2 Sensor ................................................................................................................................. 8
2.3 Gesture control .................................................................................................................. 9
BAB 3 ......................................................................................................................................... 10
PERANCANGAN DAN PERAKITAN ................................................................................... 10
3.1 Rancangan Proyek .......................................................................................................... 10
3.2 Alat dan Bahan ................................................................................................................ 10
3.2.1 Alat : .......................................................................................................................... 10
3.2.2 Bahan......................................................................................................................... 12
3.3 Proses Perakitan .............................................................................................................. 12
BAB 4 ......................................................................................................................................... 14
PENGAPLIKASIAN ................................................................................................................ 14
4.1 Bentuk Program .............................................................................................................. 14
4.2 Model Alat Proyek .......................................................................................................... 24
4.3 Cara Kerja Alat ............................................................................................................... 24
BAB 5 ......................................................................................................................................... 25
PENUTUP .................................................................................................................................. 25
5.1 Kesimpulan ...................................................................................................................... 25
DAFTAR PUSTAKA ................................................................................................................ 26
DAFTAR GAMBAR

Figure 1. Jenis - jenis Mikrokontroler .............................................................................. 8


Figure 2 Jenis - jenis sensor .............................................................................................. 9
Figure 3 Gesture Control................................................................................................... 9
Figure 4 ArduinoUno....................................................................................................... 10
Figure 5 Module Bluetooth ............................................................................................. 10
Figure 6. Motor Driver L298N ......................................................................................... 11
Figure 7 Gy-521 Mpu 6050 ............................................................................................. 11
Figure 8 Gy-521 Mpu 6050 ............................................................................................. 11
Figure 9 Gy-521 Mpu 6050 ............................................................................................. 11
Figure 10 Gy-521 Mpu 6050 ........................................................................................... 11
Figure 11 Gy-521 Mpu 6050 ........................................................................................... 12
Figure 12 Wheels ............................................................................................................ 12
Figure 13 Geaarbox ......................................................................................................... 12
Figure 14 Laptop ............................................................................................................. 12
Figure 15 Contoh Robot Gesture Control ....................................................................... 24
BAB 1
PENDAHULUAN
1.1 Latar belakang masalaah
Robot kini sudah memasuki hampir seluruh lini kehidupan manusia. Di luar
industri, robot telah banyak digunakan di berbagai bidang. Mulai dari manufaktur,
rumah, agrikultur, kesehatan, lingkungan, transportasi, komunikasi, customer service,
edukasi hingga keamanan. Penelitian mengenai perkembangan robot telah banyak
dilakukan di berbagai belahan dunia. Seiring perkembangannya yang pesat,
konsentrasi penelitian juga merambah ke ranah pengendalian. Bagaimana
menciptakan kendali dan kontrol yang lebih akurat, mudah dan dapat digunakan
senatural mungkin.
Para peneliti menyadari bahwa gerakan yang terinspirasi oleh bahasa isyarat dapat
digunakan sebagai perintah sederhana untuk antarmuka komputer. Hal ini menjadi
cikal bakal metodologi Hand Gesture Recognition untuk menawaran interaksi manusia
dengan komputer yang lebih mudah dan natural (Premaratne, 2014). Oleh karena itu
metodologi ini bisa digunakan untuk menjawab tantangan penemuan kendali robot
yang lebih akurat, mudah dan dapat digunakan senatural mungkin. Metode ini terus
berkembang dengan penggunaan dan pengembangan accelerometer yang jauh lebih
akurat, penggunaan berbagai macam kamera dan bahkan sensor serat optik yang
dapat ditekuk (optical geniometers).

1.2 Tujuan Penelitian


Pelaksanaan penelitan in dilakukan untuk dijadikan proposal sebagai tujuan
memenuhi syarat pengembangan profesi dan keahlian dalam bidang Elektronika
Industri. Terutama dalam hal membuat program "ROBOT GESTURE CONTROL".

1.3 Pembatasan masalah


Mengingat demikian luasnya masalah yang berkaitan dengan tujuan penelitian
Dalam hal tersebut pembatasan masalah meliputi, mencegah terjadinya masalah yang
akan terjadi dalam memprogram Mikrokontroler Arduino, menempatkan kabel jumper
pada tempt yang salah, memasang pin header yang belum tersambung pada Arduino
agar dapat dipasang dengan motor driver. Hal in berfungsi untuk mencegah terjadinya
masalah atau eror ketika program sudah selesai.

1.4 Manfaat
Manfaat penelitian bertujuan untuk mengurangi terjadinya kesalahan dalam
proposal serta Tahap-tahap pembuatan program "ROBOT GESTURE CONTROL" dalam
hal penelitian bertujuan untuk mengembangkan profesi dalam bidang Elektronika
Industri.
BAB 2
LANDASAN TEORI
2.1 Mikrokontroler
Mikrokontroler adalah sebuah komputer kecil yang dikemas dalam bentuk chip
IC (Integrated Circuit) dan dirancang untuk melakukan tugas atau operasi tertentu.
Pada dasarnya, sebuah IC Mikrokontroler terdiri dari satu atau lebih Inti Prosesor
(CPU), Memori (RAM dan ROM) serta perangkat INPUT dan OUTPUT yang dapat
diprogram.
Dalam pengaplikasiannya, Pengendali Mikro yang dalam bahasa Inggris disebut
dengan Microcontroller ini digunakan dalam produk ataupun perangkat yang
dikendalikan secara otomatis seperti sistem kontrol mesin mobil, perangkat medis,
pengendali jarak jauh, mesin, peralatan listrik, mainan dan perangkat-perangkat yang
menggunakan sistem tertanam lainnya.

Figure 1. Jenis - jenis Mikrokontroler

Penggunaan Mikrokontroler ini semakin populer karena kemampuannya yang


dapat mengurangi ukuran dan biaya pada suatu produk atau desain apabila
dibandingkan dengan desain yang dibangun dengan menggunakan mikroprosesor
dengan memori dan perangkat input dan output secara terpisah

2.2 Sensor
Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah
besaran fisis (bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini
didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai
untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut
sebagai sensor ultrasonik karena sensor ini menggunakan gelombang ultrasonik (bunyi
ultrasonik).

Figure 2 Jenis - jenis sensor

Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi


sangat tinggi yaitu 20.000 Hz. Bunyi ultrasonik tidak dapat di dengar oleh telinga
manusia. Bunyi ultrasonik dapat didengar oleh anjing, kucing, kelelawar, dan lumba-
lumba. Bunyi ultrasonik nisa merambat melalui zat padat, cair dan gas. Reflektivitas
bunyi ultrasonik di permukaan zat padat hampir sama dengan reflektivitas bunyi
ultrasonik di permukaan zat cair. Akan tetapi, gelombang bunyi ultrasonik akan diserap
oleh tekstil dan busa.

2.3 Gesture control


Gesture control sedang popular sekarang ini, dengan mengikuti kinerja seperti Kinect
Microsoft, berbagai perusahaan telah menciptakan device gesture control seperti Leap
Motion, MYO dan yang terbaru adalah Camboard Pico. Gesture Control merupakan teknologi
pengendalian dengan mengenali pergerakan manusia sebagai inputnya. Sama halnya dengan
touch screen, hanya saja dengan input yang berbeda, yakni pergerakan manusia.
BAB 3
PERANCANGAN DAN PERAKITAN

3.1 Rancangan Proyek


Hand Gesture Pengontrol Robot dirancang sebagai alt yang dapat di gunakan
untuk mengontrol robot dari jarak yang cukup jauh untuk memudahkan pekerjaan.
Terdapat rangkaian Driver Motor DC dimana berfungsi sebagai penentu aksi gerak
motor yang di kemas dengan bantuan mikrokontroller dan gy-521 Mpu 6050.
Tegangan input berasal dari batere 9V. Ketika gy-521 Mpu 6050 di miringkan kedepan,
maka nilai axis y akan bergeser menuju skala positif (+), sebaliknya, jika kemiringan
dicondongkan ke arah belakang maka sensor accelerometer menuju skala negatif (-)
dan hal yang sama juga berlaku pada axis x. Data hasil pembacaan ini akan di teruskan
mikrokontroler yang mana sebagai unit pengolah data. Untuk menghasilkan isyarat
perintah yang akan dikirimkan menuju robot. Pengiriman perintah ini melibatkan fungi
port pada mikrokontroler sebagai saluran komunikasi paralel terhadap remote control.

3.2 Alat dan Bahan

3.2.1 Alat :
1. Arduino Uno
Arduino Uno adalah papan mikrokontroler open-source
berdasarkan mikrokontroler Microchip ATmega328P dan dikembangkan
oleh Arduino.cc dan awalnya dirilis pada tahun 2010. Papan ini dilengkapi
dengan set pin input/output digital dan analog yang dapat dihubungkan
ke berbagai papan ekspansi dan sirkuit lainnya. Figure 4 ArduinoUno

2. Module Bluetooth HC-05


HC-05 Adalah sebuah modul Bluetooth SPP (Serial Port Protocol)
yang mudah digunakan untuk komunikasi serial wireless (nirkabel) yang
mengkonversi port serial ke Bluetooth. HC-05 menggunakan modulasi
bluetooth V2.0 + EDR (Enchanced Data Rate) 3 Mbps dengan
memanfaatkan gelombang radio berfrekuensi 2,4 GHz. Figure 5 Module Bluetooth
3. Motor Driver L298N
Driver motor L298N merupakan module driver motor DC
yang paling banyak digunakan atau dipakai di dunia elektronika
yang difungsikan untuk mengontrol kecepatan serta arah

perputaran motor DC. Figure 6. Motor Driver


L298N
4. Gy-521 Mpu 6050
GY-521 adalah sebuah modul Inertial Measurement Unit
(IMU) yang menggunakan chip MPU-6050 dari InvenSense. MPU-
6050 sendiri adalah chip dengan 3-axis accelerometer (sensor
percepatan) dan 3-axis Gyroscope (pengatur keseimbangan),

atau dengan kata lain 6 degrees of freedom (DOF) IMU. Figure 7 Gy-521 Mpu
6050
5. Arduino Nano
Arduino Nano adalah salah satu board mikrokontroler
yang berukuran kecil, lengkap dan mendukung penggunaan
breadboard. Arduino Nano diciptakan dengan basis

microcontroler ATmega328 (untuk Arduino Nano versi 3.x) atau Figure 8 Gy-521 Mpu 6050

Atmega 16(untuk Arduino versi 2.x).


6. Kabel Jumper
Kawat lompat adalah kawat listrik, atau kelompoknya
dalam kabel, dengan konektor atau pin di setiap ujungnya, yang
biasanya digunakan untuk menghubungkan komponen papan
tempat memotong roti atau prototipe lain atau rangkaian uji,

secara internal atau dengan peralatan atau komponen lain , tanpa Figure 9 Gy-521 Mpu 6050

solder.
7. Baterai Polimer
Baterai polimer litium adalah baterai yang dapat diisi ulang
dari teknologi lithium-ion menggunakan elektrolit polimer sebagai
pengganti elektrolit cair. Polimer semipadat konduktivitas tinggi

Figure 10 Gy-521
Mpu 6050
membentuk elektrolit ini.
8. Chassis
Sasis adalah kerangka internal yang menjadi dasar produksi sebuah
objek, sebagai penyokong bagian-bagian seperti mesin atau alat elektronik
objek tersebut. Sasis dapat dianalogikan dengan kerangka tulang pada
binatang. Figure 11 Gy-521 Mpu 6050

9. Wheels
Roda adalah objek berbentuk lingkaran, yang bersama dengan
sumbu, dapat menghasilkan suatu gerakan dengan gesekan kecil
dengan cara bergulir. Contoh umum ditemukan dalam penerapan
dalam transportasi. Istilah roda juga sering digunakan untuk objek-
objek berbentuk lingkaran lainnya yang berputar seperti kincir air. Figure 12 Wheels

10. Gearbox
Gearbox atau transmisi adalah salah satu komponen utama
motor yang disebut sebagai sistem pemindah tenaga, transmisi
berfungsi untuk memindahkan dan mengubah tenaga dari motor yang
berputar, yang digunakan untuk memutar spindel mesin maupun Figure 13 Geaarbox

melakukan gerakan feeding.

3.2.2 Bahan
1. Laptop
Wiilliam mengemukakan pendapat dalam bukunya yang
berjudul The Bisnis bahwa komputer adalah sebuah pemroses data
yang dapat menjalankan perintah secara cepat dan melakukan

perhitungan yang besar dan cepat, seperti aritmatika dan logika Figure 14 Laptop

tanpa campur tangan manusia dalam memproses sebuah data.

3.3 Proses Perakitan


➢ Untuk di Mobil
1. Sediakan alat-alat dan bahannya
2. Sambungkan kabel positif dan minus di setiap Gear Box
3. Pasang setiap Gear Box di papan Chassis
4. Pasang Wheels di setiap Gear Box
5. Pasang Arduino Uno di papan Chassis
6. Pasang Module Bluetootch HC-05 di papan Chassis
7. Pasang Motor Driver L298N di atas Arduino dan sesuaikan pin nya
8. Pasang kabel positif minus Gear Box di Motor Driver
9. Pasang Baterai ke Holdernya, pasang kabel untuk positif dan minus
10. Pasang kabel positif minus dari Baterai ke Motor Driver
11. Sambungkan Kabel Arduino, dari Arduino ke Laptop
12. Mulai Memprogram
13. Upload kode ke Arduino
14. Jalankan

➢ Untuk di Tangan
1. Pasang Module Bluetooth HC-05 di Sarung Tangan atau lainnya
2. Pasang Gy-521 Mpu 6050
3. Sambung kabel di setiap pin yang di butuhkan
BAB 4
PENGAPLIKASIAN

4.1 Bentuk Program


Dalam pembuatan robot pastinya ada bentuk program yang mana program itu
di buat untuk menjalankan sebuah perintah. Dengan menggunakan software Arduino
IDE kita dapat membuat program. Berikut adalah program Robot Gesture Control.

1. Receiver
#include <SoftwareSerial.h>
SoftwareSerial module_bluetooth(0, 1); // pin RX | TX
char data = 0;
#define enA 3
#define in1 4
#define in2 5
#define enB 11
#define in3 13
#define in4 12
int motorSpeedA = 0;
int motorSpeedB = 0;
int state;
int Speed = 130;

void setup()
{
Serial. begin(38400);
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);

pinMode(in1, OUTPUT):
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
]
void loop()
{
if(Serial.available() > 0)
{
masuk
Serial.print("\n");
state = Serial.read();
if(state > 10)(Speed = state;
}
data = Serial.read():Serial.print(data); //Pembacaan dan ditampilkan data yang masuk

// //Kondisi Data yang masuk


if(data == 'B'X
motorSpeedA = 150; //Pengatur kecepatan motor; 0-255
motorSpeedB = 150; //Pengatur kecepatan motor; 0-255
analogWrite(enA, state); // Send PWM signal to motor A
analogWrite(enB, state); // Send PW/M signal to motor B
// Set Motor A backward
digita/Write(in1, HIGH);
digitalWrite(in2, LOW);
// Set Motor B backward
digitalWrite(in3, HIGH);
digita/Write(in4, LOW);

{
else if(data == 'F'X
motorSpeedA = 150; //Pengatur kecepatan motor: 0-255
motorSpeed8 = 150; //Pengatur kecepatan motor; 0-255
analogWrite(enA, state); // Send PWM signal to motor A analogWrite(enB, state); //
Send PW/M signal to motor B
digitalWrite(in1, LOW);
digita/Write(in2, HIGH);
// Set Motor B forward
digitalWrite(in3, LOW);
digita/Write(in4, HIGH);
}
else if(data == 'R'X
motorSpeedA = 80; //Pengatur kecepatan motor; 0-255
motorSpeedB = 80; //Pengatur kecepatan motor; 0-255
analogWrite(enA, state); // Send PM signal to motor A analogWrite(enB, state); //
Send PWM signal to motor B
digitalWrite(in1, HIGH);
digita/Write(in2, LOW);
// Set Motor B RIGHT
digitalWrite(in3, LOW);
digita/Write(in4, HIGH);
]
else if(data == 'L'k
motorSpeedA = 80; //Pengatur kecepatan motor; 0-255
motorSpeedB = 80; //Pengatur kecepatan motor; 0-255
analogWrite(enA, state); // Send PWM signal to motor A analogWrite(enB, state); //
Send PWM signal to motor B

digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
// Set Motor B LEFT
digita/Write(in3, HIGH);
digitalWrite(in4, LOW);
}
else if(data == 'S'_
motorSpeedA = 255; //Pengatur kecepatan motor; 0-255
motorSpeedB = 255; //Pengatur kecepatan motor; 0-255
analogWrite(enA, state); // Send PWM signal to motor A analogWrite(enB, state); //
Send PWM signal to motor B digita/Write(in1, LOW);
digita/Write(in2, LOW);
// Set Motor B STOP
digitalWrite(in3, LOW);
digita/Write(in4, LOW);
}
}
2. Transmitter
// 12Cdev and MPU6050 must be installed as libraries, or else the cp/.h files
// for both classes must be in the include path of your project
#include "12Cdev.h"
#include "MPU6050_6Axis_MotionApps20.h"
// Arduino Wire library is required if 12Cdev I2CDEV _ARDUINO_WIRE
implementationis used in 12Cdev.h
#include "Wire.h"
#include <SoftwareSerial.h>

/=== INTERRUPT DETECTION ROUTINE ===\


//=====================================================================

volatile bool mpuinterrupt = false; // indicates whether MPU interrupt pin has
gone
high
void dmpDataReady() {
mpulnterrupt = true;
]
//=====================================================================
//==I NITIAL SETUP =====
//=====================================================================

void setup() {
// join 12C bus (12Cdev library doesn't do this automatically)
#if 12CDEV_IMPLEMENTATION == 12CDEV_ARDUINO_WIRE
Wire.begin();
Wire.setClock(400000); // 400kHz 12C clock. Comment this line if having
compilation
difficulties
#elif 12CDEV_IMPLEMENTATION == 12CDEV_BUILTIN_FASTWIRE
Fastwire::setup(400, true);
#endif
// initialize serial communication
// (115200 chosen because it is required for Teapot Demo output, but it's
// really up to you depending on your project)
Serial. begin(115200);

SoftwareSerial BTSerial(10, 11); // CONNECT BT RX PIN TO ARDUINO 11 PIN |


CONNECT BT TX PIN TO ARDUINO 10 PIN
#define OUTPUT_READABLE_YAWPITCHROLL.
#define INTERRUPT PIN 2 // use pin 2 on Arduino Uno & most boards
#define LED PIN 13 // (Arduino is 13, Teensy is 11, Teensy++ is 6)
MPU6050 mpu;
bool blinkState = false;
// MPU control/status vars
bool dmpReady = false; // set true if DMP init was successful
uint8_t mpulntStatus; // holds actual interrupt status byte from MPU
uint8_t devStatus; // return status after each device operation (0 = success, 10 =
error)
uint16_t packetSize; // expected DMP packet size (default is 42 bytes) uint16_t
fifoCount; // count of all bytes currently in FIFO uint8_t fifoBuffer [64]; // FIFO storage
buffer
// orientation/motion vars
Quaternion q;
// [w, x, y, z]
VectorFloat gravity; // [x, y, z] quaternion container
gravity vector
float ypr[3];
// [yaw, pitch, roll] yaw/pitch/roll container and gravity vector
float pitch = 0;
float roll = 0;
float yaw = 0;
int X;
int y;
//=====================================================================

BTSerial.begin(38400); // HC-05 default speed in AT command more


while (ISerial); // wait for Leonardo enumeration, others continue immediately
// NOTE: 8MHz or slower host processors, like the Teensy @ 3.3V or Arduino
// Pro Mini running at 3.3V, cannot handle this baud rate reliably due to
// the baud timing being too misaligned with processor ticks. You must use
// 38400 or slower in these cases, or use some kind of external separate
// crystal solution for the UART timer.

// initialize device
Serial.printIn(F("Initializing I2C devices..."));
mpu.initialize();
pinMode(INTERRUPT_PIN, INPUT);

// verify connection
Serial.printin(F("Testing device connections..."));
Serial.printin(mpu.testConnection() ? F("MPU6050 connection successful") :
F("MPU6050 connection failed"));

// load and configure the DMP


Serial.printIn(F("Initializing DMP…."));
devStatus = mpu.dmpinitialize ();

// supply your own gyro offsets here, scaled for min sensitivity
mpu.setXGyroOffset(126);
mpu.setYGyroOffset(57);
mpu.setZGyroOffset(-69);
mpu.setZAccelOffset(1869); // 1688 factory default for my test chip

// make sure it worked (returns 0 if so)


if (devStatus == 0) {

// turn on the DMP, now that it's ready


Serial.printin(F("Enabling DMP..."));
mpu.setDMPEnabled(true);

// enable Arduino interrupt detection


Serial.printin(F("Enabling interrupt detection (Arduino external interrupt 0)...")):
attachInterrupt(digitalPinTolnterrupt(INTERRUPT_PIN), dmpDataReady, RISING);
mpulntStatus = mpu.getintStatus();

/l set our DMP Ready flag so the main loop() function knows it's okay to use it
Serial.printin(F("DMP ready! Waiting for first interrupt..."));
dmpReady = true;

// get expected DMP packet size for later comparison


packetSize = mpu.dmpGetFIFOPacketSize();
] else {
// ERROR!
// 1 = initial memory load failed
//2 = DMP configuration updates failed
// (if it's going to break, usually the code will be 1)
Serial.print(F("DMP Initialization failed (code "));
Serial.print(devStatus);
Serial.printin(F(")"));

// configure LED for output


pinMode(LED_PIN, OUTPUT
}
//=====================================================================
//==== MAIN PROGRAM LOOP ====\\
//=====================================================================
void loop() {
//if programming failed, don't try to do anything if (IdmpReady) return;
// wait for MPU interrupt or extra packet(s) available
while (Impulnterrupt && fifoCount < packetSize) {
// other program behavior stuff here
// if you are really paranoid you can frequently test in between other
// stuff to see if mpulnterrupt is true, and if so, "break;" from the
// while() loop to immediately process the MPU data
//.
//.
//.
}

// reset interrupt flag and get INT STATUS byte


mpulnterrupt = false;
mpulntStatus = mpu.getintStatus();
// get current FIFO count
fifoCount = mpu.getFIFOCount();
// check for overflow (this should never happen unless our code is too
Inneficient)
if ((mpulntStatus & 0x10) || fifoCount == 1024) {

// reset so we can continue cleanly


mpu.resetFIFO();
Serial.printin(F("FIFO overflow!"));
// otherwise, check for DMP data ready interrupt (this should happen
Frequently)
} else if (mpulntStatus & 0x02){

/ wait for correct available data length, should be a VERY short wait
while (fifoCount < packetSize) fifoCount = mpu.getFIFOCount();
// read a packet from FIFO
mpu.getFIFOBytes(fifoBuffer, packetSize);
// track FIFO count here in case there is > 1 packet available
// (this lets us immediately read more without waiting for an interrupt)
fifoCount -= packetSize;
#ifdef OUTPUT_READABLE_YAWPITCHROLL

// display Euler angles in degrees


mpu.dmpGetQuaternion(&g, fifoBuffer);
mpu.dmpGetGravity(&gravity, &q);
mpu.dmpGetYawPitchRoll(ypr, &q, &gravity);

yaw = ypr[0] * 180 / M_PI;


pitch = ypr(1] * 180 / M_PI;
roll = ypr(2] * 180 / M_PI;
if (roll s -100 && roll < 100)
x= map (roll, -100, 100, 0, 100);
55
if (pitch > -100 && pitch < 100)
y = map (pitch, -100, 100, 100, 200);
Serial.print(x);
Serial.print("\t");
Serial.printin(y);
if((x>=48 && x<=50) && (y>=148 && y <=152))(
BTSerial.write('S');
Serial.print("stop");
}else if(x>53X(
BTSerial.write('R');
Serial.print("kanan");
}else if(x<46)
BTSerial.write('L');
Serial.print("kiri");
Jelse if(y>154)(
BTSerial.write('F');
Serial.print("mundur");
]else if(y<148)
BTSerial.write('B');

Serial.print("maju");
}
#endif
// blink LED to indicate activity
blinkState = IblinkState;
digitalWrite(LED_PIN, blinkState);
}
}
4.2 Model Alat Proyek
Ini adalah salah satu model dari Robot Gesture Control, gambar di atas adalah
Robot Gesture Control yang akan saya buat, bedanya adalah bagian penempatan
bahan, model Chassis.

Figure 15 Contoh Robot Gesture Control

4.3 Cara Kerja Alat


1. Pasang sarung tangan yang sudah ditambahkan bahan-bahan Robot Gesture Control
2. Robot Gesture Control siap digunakan
BAB 5

PENUTUP

5.1 Kesimpulan
Kendali gerak robot telah berhasil diimplementasikan dengan menggunakan
Hand Gesture Recognition berbasis Neural Network Backpropagation. Robot mampu
dikenadalikan sesuai dengan instruksi yang diberikan melalui isyarat tangan. Terdapat
beberapa catatan mengenai penelitian ini yakni keberhasilan pengenalan insruksi
gesture tangan sangat bergantung terhadap cara pengguna memberikan contoh
instruksi gesture ketika pada proses latih. Robot mampu merespon hasil instruksi
dengan cukup cepat
DAFTAR PUSTAKA

Arga.2019. Jenis Jenis Mikrokontroler Yang Paling Umum Digunakan.


https://pintarelektro.com/jenis-jenis-mikrokontroler/. .[di akses 13 September 2022].
Fungkyking. 2020. Jenis-jenis Sensor Ultrasonic.
http://fungkynotes.blogspot.com/2020/08/jenis-jenis-sensor-ultrasonic.html.[di akses
13 September 2022].
SELAMATPAGI.ID.2020.PengertianLaptop.https://www.selamatpagi.id/pengerti
an-laptop/. [di akses 13 September 2022].
Tidak ada nama. 2013. Kendalikan Komputer Anda dengan Gesture Control.
http://www.tahupedia.com/content/show/92/Kendalikan-Komputer-Anda-dengan-
Gesture-
Control#:~:text=Gesture%20Control%20merupakan%20teknologi%20pengendalian,ya
ng%20berbeda%2C%20yakni%20pergerakan%20manusia.[di akses 13 September
2022].

Anda mungkin juga menyukai