Kali ini kita akan
belajar membuat robot yang sangat sederhana - kita menyebutnya Robot
Pengikut Garis. Robot ini menggunakan mikrokontroler untuk mengontrol
algoritmanya. Proyek Robot Sederhana ini dapat menjadi proyek akhir
pekan yang mengasyikkan. Yuk kita pelajari bagaimana cara membuatnya.
Hardware yang dibutuhkan..
Pabrikan
Alternatif
Pada pembahasan
pembuatan Robot Line Follower ini, Cara penggunaan yang Pabrikan sama
dengan yang Alternatif..Cuma bentuknya aja yang keliatan beda. Yang
jelas aturan penghubungan pin-pin nya sama saja..
Blok Diagram
Blok diagram robot ini memberikan kita gambaran secara garis besar hubungan-hubungan antar pin yang kita gunakan.
Langkah Perakitan Hardwarenya..
Langkah Pertama
Siapkan badan robot kemudian pasangkan baterai 9 volt pada badan robot. Lalu, Lemkan ke badan robot.
note : Badan robotnya saya buat dari papan kayu dan pcb bolong untuk pasang sensor dan sudah saya pasangkan Motor DC 4 buah..
note : Badan robotnya saya buat dari papan kayu dan pcb bolong untuk pasang sensor dan sudah saya pasangkan Motor DC 4 buah..
Langkah kedua
Langkah selanjutnya,
pasangkan Arduino Uno di atas baterai..boleh di lem atau pakai spacer.
Usahakan agar bagian bawah dari Arduino Uno tidak bersinggungan langsung
dengan badan baterai agar tidak terjadi konsleting.
Langkah Ketiga
Kemudian, letakkan Driver DC Motor di atas arduino Uno.
note : Saya buat plastik alas untuk Driver DC Motor seperti shield Arduino
note : Saya buat plastik alas untuk Driver DC Motor seperti shield Arduino
Langkah Keempat
Selanjutnya, kita
pasangkan sensor di bagian depan robot. Sensor inilah yang nantinya
membaca adanya garis hitam sehingga, robot dapat mengikuti alur garis
yang ada.
Langkah Kelima
Langkah perakitan yang
terakhir yaitu, menghubungkan pin-pin yang ada sesuai dengan Blok
Diagram - Coba lihat dan perhatikan kembali hubungan pin-pin pada Blok
Diagram Berikut..
1. Hubungkan kedua Pin VCC Sensor dengan Pin 5V Arduino.
2. Hubungkan kedua Pin Gnd Sensor dengan Pin Gnd Arduino.
3. Hubungkan Pin Data Sensor Kanan dengan Pin A3 Arduino.
4. Hubungkan Pin Data Sensor Kiri dengan Pin A2 Arduino.
5. Hubungkan Pin En1 Driver DC Motor dengan Pin 5 Arduino.
6. Hubungkan Pin En2 Driver DC Motor dengan Pin 6 Arduino.
7. Hubungkan Pin En3 Driver DC Motor dengan Pin 10 Arduino.
8. Hubungkan Pin En4 Driver DC Motor dengan Pin 11 Arduino.
9. Hubungkan Out Kanan Driver DC Motor dengan DC Motor Kanan.
10. Hubungkan Out Kiri Driver DC Motor dengan DC Motor Kiri.
11. Hubungkan Pin 5v Arduino dengan Kutub Positif (+) Baterai 9volt (yang pertama).
12. Hubungkan Pin Gnd Arduino dengan Kutub Negatif (-) Baterai 9volt (yang pertama).
13. Hubungkan Pin 12 Volt Driver DC Motor dengan Kutub Positif Baterai 9volt (yang kedua).
14. Hubungkan pin Gnd Driver DC Motor dengan Kutub Negatif Baterai 9volt (yang kedua).
15. Hubungkan Pin 5volt Driver DC Motor dengan Pin 5v Arduino.
2. Hubungkan kedua Pin Gnd Sensor dengan Pin Gnd Arduino.
3. Hubungkan Pin Data Sensor Kanan dengan Pin A3 Arduino.
4. Hubungkan Pin Data Sensor Kiri dengan Pin A2 Arduino.
5. Hubungkan Pin En1 Driver DC Motor dengan Pin 5 Arduino.
6. Hubungkan Pin En2 Driver DC Motor dengan Pin 6 Arduino.
7. Hubungkan Pin En3 Driver DC Motor dengan Pin 10 Arduino.
8. Hubungkan Pin En4 Driver DC Motor dengan Pin 11 Arduino.
9. Hubungkan Out Kanan Driver DC Motor dengan DC Motor Kanan.
10. Hubungkan Out Kiri Driver DC Motor dengan DC Motor Kiri.
11. Hubungkan Pin 5v Arduino dengan Kutub Positif (+) Baterai 9volt (yang pertama).
12. Hubungkan Pin Gnd Arduino dengan Kutub Negatif (-) Baterai 9volt (yang pertama).
13. Hubungkan Pin 12 Volt Driver DC Motor dengan Kutub Positif Baterai 9volt (yang kedua).
14. Hubungkan pin Gnd Driver DC Motor dengan Kutub Negatif Baterai 9volt (yang kedua).
15. Hubungkan Pin 5volt Driver DC Motor dengan Pin 5v Arduino.
Logaritma Robotnya..
Pemrograman Robotnya...
- Sebelum mengisi program ada baiknya lepas hubungan baterai 9 volt yang ke Arduino, kemudian Hubungkan Arduino dengan Komputer atau Laptop menggunakan kabel USB.
- Bukalah IDE Arduino. Kemudian ketikkan Sketch atau Program berikut:
di COPAS juga boleh.Tapi, saya sarankan diketik ulang aja supaya lebih memahami alur programnya. Namanya juga belajar.. :)
//===================Blok Pertama Deklarasi dan Inisialisasi Variable=======================
int sensorKanan = 3;
int sensorKiri = 2;
int adaGaris = ... isi dengan angka dari hasil percobaan sensor
int motorKananA = 5;
int motorKananB = 6;
int motorKiriA = 10;
int motorKiriB = 11;
//=================Blok Kedua Seting Input dan Output=====================================
void setup()
{
pinMode (sensorKanan,INPUT);
pinMode (sensorKiri,INPUT);
pinMode (motorKananA,OUTPUT);
pinMode (motorKananB,OUTPUT);
pinMode (motorKiriA,OUTPUT);
pinMode (motorKiriB,OUTPUT);
}
//=======================================Blok Ketiga Program Utama=============================
void loop()
{
int sensorKanan = analogRead (sensorKanan);
delay (5);
int sensorKiri = analogRead (sensorKiri);
delay (5);
//-----------------------------------------------------------------------------------
if ( (sensorKanan >= adaGaris) && (sensorKiri >= adaGaris) )
{
mundur ();
}
//-----------------------------------------------------------------------------------
else if ( (sensorKanan >=adaGaris) && (sensorKiri < adaGaris) )
{
belokkiri ();
}
//-----------------------------------------------------------------------------------
else if ( (sensorKanan < adaGaris) && (sensorKiri >= adaGaris) )
{
belokkanan ();
}
//-----------------------------------------------------------------------------------
else
{
maju ();
}
//-----------------------------------------------------------------------------------
}
//===========================Blok Keempat Arah Gerakan Robot==================================
void mundur (void)
{
analogWrite (motorKananA,0);
analogWrite (motorKananB,255);
analogWrite (motorKiriA,0);
analogWrite (motorKiriB,255);
}
//------------------------------------------------------------------------------------------
void belokkiri (void)
{analogWrite (motorKananA,255);
analogWrite (motorKananB,0);
analogWrite (motorKiriA,0);
analogWrite (motorKiriB,255);
}
//------------------------------------------------------------------------------------------
void belokkanan (void)
{
analogWrite (motorKananA,0);
analogWrite (motorKananB,255);
analogWrite (motorKiriA,255);
analogWrite (motorKiriB,0);
}
//------------------------------------------------------------------------------------------
void maju (void)
{
analogWrite (motorKananA,255);
analogWrite (motorKananB,0);
analogWrite (motorKiriA,255);
analogWrite (motorKiriB,0);
}
int sensorKanan = 3;
int sensorKiri = 2;
int adaGaris = ... isi dengan angka dari hasil percobaan sensor
int motorKananA = 5;
int motorKananB = 6;
int motorKiriA = 10;
int motorKiriB = 11;
//=================Blok Kedua Seting Input dan Output=====================================
void setup()
{
pinMode (sensorKanan,INPUT);
pinMode (sensorKiri,INPUT);
pinMode (motorKananA,OUTPUT);
pinMode (motorKananB,OUTPUT);
pinMode (motorKiriA,OUTPUT);
pinMode (motorKiriB,OUTPUT);
}
//=======================================Blok Ketiga Program Utama=============================
void loop()
{
int sensorKanan = analogRead (sensorKanan);
delay (5);
int sensorKiri = analogRead (sensorKiri);
delay (5);
//-----------------------------------------------------------------------------------
if ( (sensorKanan >= adaGaris) && (sensorKiri >= adaGaris) )
{
mundur ();
}
//-----------------------------------------------------------------------------------
else if ( (sensorKanan >=adaGaris) && (sensorKiri < adaGaris) )
{
belokkiri ();
}
//-----------------------------------------------------------------------------------
else if ( (sensorKanan < adaGaris) && (sensorKiri >= adaGaris) )
{
belokkanan ();
}
//-----------------------------------------------------------------------------------
else
{
maju ();
}
//-----------------------------------------------------------------------------------
}
//===========================Blok Keempat Arah Gerakan Robot==================================
void mundur (void)
{
analogWrite (motorKananA,0);
analogWrite (motorKananB,255);
analogWrite (motorKiriA,0);
analogWrite (motorKiriB,255);
}
//------------------------------------------------------------------------------------------
void belokkiri (void)
{analogWrite (motorKananA,255);
analogWrite (motorKananB,0);
analogWrite (motorKiriA,0);
analogWrite (motorKiriB,255);
}
//------------------------------------------------------------------------------------------
void belokkanan (void)
{
analogWrite (motorKananA,0);
analogWrite (motorKananB,255);
analogWrite (motorKiriA,255);
analogWrite (motorKiriB,0);
}
//------------------------------------------------------------------------------------------
void maju (void)
{
analogWrite (motorKananA,255);
analogWrite (motorKananB,0);
analogWrite (motorKiriA,255);
analogWrite (motorKiriB,0);
}
- Upload Program ke Arduino menggunakan tombol Upload pada IDE Arduino.
- Jika program berjalan sebagaimana mestinya, barulah lepas kabel usb ke komputer, kemudian sambungkan lagi Arduino kita dengan baterai 9volt.
Terima kasih atas ilmunya.. ana newbie gan di codingnya ada adagaris = isi dengan percobaan sensor... itu nguji gmananya ya mksdnya terima ksh
BalasHapusTerima kasih atas ilmunya.. ana newbie gan di codingnya ada adagaris = isi dengan percobaan sensor... itu nguji gmananya ya mksdnya terima ksh
BalasHapus