Anda di halaman 1dari 18

TUGAS 8 PENJELASAN PROJECT

“ARDUINO HUMAN FOLLOWING ROBOT” DAN MENJAWAB SOAL


MATA KULIAH MEKATRONIKA
Dosen Pengampu : Dr. Ir. Augustinus Sujono M.T

Disusun Oleh :

Ramadhan Prihantono
(I0718030)

UNIVERSITAS SEBELAS MARET


SURAKARTA
2020
2

Arduino Human Following Robot : Robot Arduino Pengikut Manusia

Pada kali ini, Penulis akan memaparkan tentang Arduino Human Following Robot : Robot
Arduino Pengikut Manusia yang telah dibuat oleh DIY Builder, seperti terdapat pada video
berikut ini : https://www.youtube.com/watch?v=yAV5aZ0unag ,yaitu sebuat robot berbentuk
mobil dengan pemrograman arduino yang dapat bergerak mengikuti kemana arah manusia
pergi.

A. Sistem Mekatronik
o Sensor: Sensor IR yang digunakan untuk mengikuti manusia atau objek dan
sensor ultrasonik digunakan untuk memindahkan kembali robot.

o Pengkondisian Sinyal: Sensor IR akan mendeteksi objek manusia = (1) , tidak


mendteksi manusia = (0), Sensor Ultrasonik mendeteksi jarak objek = NA.

o Prosesor : Bila Sensor IR mendeteksi objek manusia, maka servo dan motor
akan bergerak sesuai dengan kebutuhan yang diperintahkan melalui
mikrokontroler (Arduino). Bila Sensor Ultrasonik mendeteksi objek maka motor
akan bergerak sesuai jarak yang telah ditentukan melalui mikrokontroler.

B. Komponen

 Sensor Infared

Sensor infrared adalah komponen elektronika yang mampu mengidentifikasi


karakteristik tertentu yang berada disekitarnya dengan cara memancarkan atau
mendeteksi radiasi infrared. Kami jual sensor infrared yang dapat bekerja dengan
efektif pada jarak 3 – 80 cm. Adjustable infrared sensor ini mampu mendeteksi objek
transparan ataupun buram. Selain itu sensor infrared ini dapat bekerja pada temperatur
-25 C sampai 55 C.
Sensor infrared ini memiliki 3 buah kabel, yaitu:
– Coklat : 5V
– Biru : 0 V
– Hitam : Output signal

Adjustable infrared sensor ini menggunakan daya 5 V DC dengan suplai arus


DC 25mA. Sensor infrared ini dapat dugunakan untuk beberapa aplikasi peralatan,
antara lain:
– Alarm inframerah
– Termometer inframerah
– Remote control

 Sensor Ultrasonik
3

Sensor ultrasonik HC-SR04 menggunakan sonar untuk menentukan


jarak terhadap sebuah objek, seperti yang dilakukan Kelelawar atau Lumba-
lumba. Sensor ini memiliki akurasi yang cukup baik dan pembacaan yang cukup
stabil. Operasionalnya tidak dipengaruhi oleh cahaya matahari atau material
berwarna gelap, namun dipengaruhi oleh material akustik. Sensor ini memiliki
spesifikasi jangkauan 2 cm – 400 cm dengan resolusi 0.3 cm, serta jangkauan
sudut kurang dari 15 derajat.

Walaupun spesifikasi-nya seperti yang disebutkan di atas, namun dalam


praktik, kita perlu mencermatinya, khususnya ketika berhadapan dengan bidang
pantul yang tidak tegak lurus, misal permukaan yang spherical atau bersudut.
Dari sejumlah pengujian yang pernah dilakukan, perlu penempatan yang tepat
ketika di-aplikasikan dalam aplikasi wall following robot.

Hal kedua yang perlu dicermati adalah siklus pembacaan. Catatan dalam
datasheet, 60 ms. Jadi, perlu jeda 60 ms sebelum melakukan pengukuran
berikutnya. Ketika bekerja, HC-SR04 menarik arus ~ 15 mA dengan catu 5V.

 Arduino Uno

Arduino Uno adalah sebuah board minimum system mikrokontroller yang mana
di dalamnya terdapat mikrokontroller AVR seri ATmega 328 yang merupakan produk
dari Atmel.

Umumnya Arduino memiliki 14 pin input/output yang terdiri dari :


4

      6 pin dapat digunakan sebagai output PWM


           6 pin  sebagai analog input
      Osilator Kristal 16 MHz
      Sebuah koneksi USB
      Sebuah Power Jack
         Sebuah ICSP Header
         Dan tombol reset

Oleh karena itu arduino uno mampu mensupport mikrokontroller secara mudah terhubung
dengan kabel power USB atau kabel power supply adaptor AC ke DC maupun dengan batteray.
Sehingga untuk mendukung mikrokontroller  tersebut bekerja , cukup sambungkan ke powes
supply atau hubungkan melalui kabel USB ke PC, maka Arduino Uno telah siap bekerja.

Arduino Uno berbeda dengan semua jenis arduino sebelumnya, dimana dalam hal koneksi USB
to serial menggunakan fitur IC Atmega8U2, sementara pada board sebelumnya
menggunakan chip FDTI driver USB to serial. Arduino Uno R3 merupakan seri terakhir dan
terbaru dari seri arduino USB.
5

Spesifikasi lengkap :
Mikrokontroller ATmega328

Operating Voltage 5V

Input Voltage (recommended) 7 - 12V

Input Voltage (batas) 6-20 V

Digital I/O Pins 14 ( 6 sebagai output PWM)

Analog Input Pins 6

DC Current per I/O pin 40 mA

DC Current untuk 3.3 V pin 50 mA

Flash Memory 32 Kb (ATmega328) dengan 0,5 sebagai boothloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Clock Speed 16 MHz

Panjang 68.6 mm

Lebar 53.4 mm

Berat 25 g

 Motor Driver

IC L293D adalah IC yang dirancang secara khusus sebagai driver motor DC dan dapat
dikendalikan dengan rangkaian TTL maupun microcontroller. Motor DC yang dikendalikan
dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber tegangan positif
karena di dalam driver L293D sistem driver yang digunakan adalah totem pool. Dalam satu buah
IC L293D terdiri dari 4 buah driver motor DC yang berdiri sendiri-sendiri. Sehingga dapat
digunakan untuk membuat driver H-bridge untuk 2 buah motor DC.
Modul Arduino Motor Driver Shield 2-L293D ini menggunakan dua buah IC L293D sehingga
terdapat empat buah H-bridge yang dapat digunakan mengendalikan empat buah motor DC
secara dua arah. Dengan arus untuk setiap H-bridge ialah 0,6 A. Secara default tegangan kerja
motor yang dapat dikendalikan ialah berkisar antara 4,5 volt hingga 16 volt.
Selain motor DC, modul driver motor ini juga dapat digunakan untuk mengendalikan hingga dua
buah motor stepper dan juga dua buah motor servo.
6

Berikut ini ialah spesifikasi dari modul driver Arduino Motor Driver Shield 2-L293D.

 Four H-Bridges: Two L293D Motor driver chips


 L293D is rated at 0,6 A per bridge, 1,2 A peak, with thermal shutdown protection, internal
kickback protection diodes
 Motor voltages from 4,5 VDC to 16 VDC, up to 36 V if C6 and C7 are upgraded
 Up to 4 bi-directional DC motors with individual 8-bit speed selection, 256 speeds
 Up to 2 stepper motors, unipolar or bipolar
 Pull down resistors keep motors disabled during power-up
 Separate Logic and Motor power connections
 Terminal block connectors for motors and power
 2 connections for 5 V servos

 Servo

Motor servo dapat dimanfaatkan pada pembuatan robot, salah satunya sebagai
penggerak kaki robot. Motor servo dipilih sebagai penggerak pada kaki robot karena
motor servo memiliki tenaga atau torsi yang besar, sehingga dapat menggerakan kaki
robot dengan beban yang cukup berat. Pada umumnya motor servo yang digunakan
sebagai pengerak pada robot adalah motor servo 180 o.

Contoh motor servo 180o yang sering


digunakan untuk kaki robot

Komponen Penyusun Motor Servo


Motor servo pada dasarnya dibuat menggunakan motor DC yang dilengkapi
dengan controler dan sensor posisi sehingga dapat memiliki gerakan 0 o, 90o, 180o atau
360o. Berikut adalah komponen internal sebuah motor servo 180o.

Tiap komponen pada motor servo diatas masing-masing memiliki fungsi sebagai
controler, driver, sensor, girbox dan aktuator. Pada gambar diatas terlihat beberapa
bagian komponen motor servo. Motor pada sebuah motor servo adalah motor DC yang
dikendalikan oleh bagian controler, kemudian komponen yang berfungsi sebagai sensor
adalah potensiometer yang terhubung pada sistem girbox pada motor servo.
7

 TT DC Motor

Pada proyek alat ini menggunakan TT DC Motor sebagai penggerak


utama. Dimana memiliki spesifikasi sebagai berikut :

C. Proses Kerja
8

Secara keseluruhan sensor IR dan Ultrasonik akan mendeteksi objek manusia dan akan
mengirmkan sinyal elektrik ke prosesor sebagai input perintah untuk mengikuti objek
tersebut dalam jarak tertentu. Sebagai respon prosesor akan memproses sinyal tersebut dan
kemudian akan mengirimkan sinyal elektrik ke servo dan motor sebagai output sehingga
robot akan bergerak.

D. Flowchart

Mulai

TIDAK Sensor IR TIDAK


Sensor mendeteksi
Ultrasonik Objek
mendeteksi
Objek Manusia
Manusia

Tidak
Tidak YA Bergerak
Bergerak YA

Prosesor
Prosesor

Servo
Bergerak
Motor sesuai arah
Bergerak objek

Selesai
9

E. Program

#include<Servo.h>
#include<AFMotor.h>
#define LEFT A0
#define echopin A1 // echo pin
#define trigpin A2 // Trigger pin
#define RIGHT A3

AF_DCMotor Motor1(1,MOTOR12_1KHZ);
AF_DCMotor Motor2(2,MOTOR12_1KHZ);
AF_DCMotor Motor3(3,MOTOR34_1KHZ);
AF_DCMotor Motor4(4,MOTOR34_1KHZ);

Servo myservo;

int pos =0;


long time;

void setup(){

Serial.begin(9600);
myservo.attach(10);

for(pos = 90; pos <= 180; pos += 1){


myservo.write(pos);
delay(15);
}

for(pos = 180; pos >= 0; pos-= 1) {


myservo.write(pos);
delay(15);
}

for(pos = 0; pos<=90; pos += 1) {


myservo.write(pos);
delay(15);
}

pinMode(RIGHT, INPUT);
pinMode(LEFT, INPUT);

pinMode(trigpin, OUTPUT);
1
0

pinMode(echopin, INPUT);

void loop(){
unsigned int distance = read_cm();

int Right_Value = digitalRead(RIGHT);


int Left_Value = digitalRead(LEFT);

Serial.print("R= ");
Serial.print(Right_Value);
Serial.print(" L= ");
Serial.print(Left_Value);
Serial.print(" D= ");
Serial.println(distance);

if((Right_Value==1) && (distance>=10 && distance<=30)&&(Left_Value==1))


{forword();}
else if((Right_Value==0) && (Left_Value==1)){turnRight();}
else if((Right_Value==1) && (Left_Value==0)){turnLeft();}
else if((Right_Value==1) && (Left_Value==1)){stop();}
else if(distance > 5 && distance < 10){stop();}
else if(distance < 5){backword();}

delay(50);
}

long read_cm(){
digitalWrite(trigpin, LOW);
delayMicroseconds(2);
digitalWrite(trigpin, HIGH);
delayMicroseconds(10);
time = pulseIn (echopin, HIGH);
return time / 29 / 2;
}

void forword(){// turn it on going forward


Motor1.setSpeed(120);
Motor1.run(FORWARD);
Motor2.setSpeed(120);
Motor2.run(FORWARD);
Motor3.setSpeed(120);
Motor3.run(FORWARD);
Motor4.setSpeed(120);
Motor4.run(FORWARD);
}

void backword(){ // the other way


1
1

Motor1.setSpeed(120);
Motor1.run(BACKWARD);
Motor2.setSpeed(120);
Motor2.run(BACKWARD);
Motor3.setSpeed(120);
Motor3.run(BACKWARD);
Motor4.setSpeed(120);
Motor4.run(BACKWARD);
}

void turnRight(){ // the other right


Motor1.setSpeed(200);
Motor1.run(FORWARD);
Motor2.setSpeed(200);
Motor2.run(FORWARD);
Motor3.setSpeed(100);
Motor3.run(BACKWARD);
Motor4.setSpeed(100);
Motor4.run(BACKWARD);
}

void turnLeft(){ // turn it on going left


Motor1.setSpeed(100);
Motor1.run(BACKWARD);
Motor2.setSpeed(100);
Motor2.run(BACKWARD);
Motor3.setSpeed(200);
Motor3.run(FORWARD);
Motor4.setSpeed(200);
Motor4.run(FORWARD);
}

void stop(){ // stopped


Motor1.setSpeed(0);
Motor1.run(RELEASE);
Motor2.setSpeed(0);
Motor2.run(RELEASE);
Motor3.setSpeed(0);
Motor3.run(RELEASE);
Motor4.setSpeed(0);
Motor4.run(RELEASE);
}
1
2

F. Instalasi

Skematik Rangkaian

PROGRESS PROJECT

Sampai saat ini progress masih dalam tahap pengumpulan alat dan bahan. Sementara
itu juga saya melakukan pengecekan pada program code dan kesesuaiannya pada alat. Dalam
pengerjaan terjadi kendala pada alat yang masih belum lengkap dan dana yang kurang.
1
3

LATIHAN SOAL
1
4
1
5
1
6
1
7

6.
1
8

8.

10.

Anda mungkin juga menyukai