## Rancang Bangun Robot Wall Follower Menggunakan Sensor Kamera
Boby Darmawansyah, Ahmad Zarkasih, Aditya P. P. Prasetyo Fakultas Ilmu Komputer Universitas Sriwijaya Palembang, Indonesia
Email: zarkasi98@gmail.com
Abstrak— Pengolahan  citra  adalah  suatu  proses  dari gambar  asli  menjadi  gambar  lain  yang  sesuai  dengan keinginan kita. Tujuan dalam penelitian ini yaitu untuk membuat  prototype  robot  mobile  wall  follower menggunakan  kamera  sebagai  sensor  kamera  yang digunakan  sebagai  pendeteksi  garis  jalan  pada  arena yang  dirancang.  Dan  dapat  menghasilkan  suatu prototype  robot  mobile  wall  follower  menggunakan kamera  sebagai  sensor  kamera.  Pada  sistem  pendeteksi objek  dinding  garis  berwarna  merah  atau  hitam menggunakan Bahasa pemrograman C# dengan software Microsoft Visual Studio 2010. Program untuk mendeteksi dinding garis ini menggunakan tehnik  pengolahan citra dengan kamera sebagai sensor inputannya, dimana pada perangkat  lunak  tersebut  terdapat  tahapan  -  tahapan proses  pengolahan  citra.  Objek  warna  yang  akan  diuji adalah warna merah atau hitam. Robot wall follower bisa digunakan  dilapangan  tanpa  susah  mengetahui  warna mana yang tidak mencapai angka 600(warna yang sudah buram)apabila warna yang diketahui buram maka robot akan stop/berhenti
Kata Kunci—pengikut dinding garis, pengolahan citra, robot mobile, sensor kamera )

## I. P ENDAHULUAN
Image  processing atau  sering  disebut  juga  dengan pengolahan citra adalah suatu proses dari gambar asli menjadi gambar  lain  yang  sesuai  dengan  keinginankita.  Contohnya: sebuah gambar yang kita dapatkan terlalu gelap maka dengan suatu image  processing gambar  tersebut  bisa  kita  proses sehingga  mempunyaispesifikasi  gambar  yang  sangat  jelas [1].
Image processing berfungsi untuk gambar sebagai salah satu  komponen multimedia  memegang  fungsi  yang  sangat penting  sebagai  bentuk  informasi visual. Image  processing memiliki  karakteristik  yang  berbeda  dengan  data  teks merupakan pengolahan citra kaya dengan sebuah informasi. Adapun  memiliki suatu  peribahasa  yang  berbunyi  “sebuah gambar bermakna lebih dari seribu kata” (a picture is more than a thousand words). Maksudnya tentu saja  suatu  gambar sehingga  memberikan  informasi  yang sangat  banyak  daripada  informasi  tersebut disajikan  dalam bentuk kata-kata (textual) [1].
Image processing untuk digunakan dalam gambar dua dimensi oleh perangkat komputer digital. Menurut Gonzalez dan  woods, image  processing atau pengolahan  citra  adalah proses  pengambilan  atribut-atribut  sebuah  gambar  yang memiliki  input  dan  outputnya. Image  processing memiliki beberapa  aplikasi  pada suatu  bidang  seperti:  penajaman gambar,  pendeteksian  objek  pada  gambar, pengurangan
noise ,  konversi  gambar  berwarna  ke grayscale dan sebaliknya, kompersi data pada gambar dan sebagainya [2].
Secara  harfiah, image  processing merupakan  gambar suatu  bidang  dwimatra (dua  dimensi).  Dilihat  dari  sudut pandang  matematis, image  processing memiliki sebuah fungsi secara terus menerus (continue ) dari intensitas cahaya dalam  suatu bidang  dwimatra.  Sumber  cahaya  menerangi suatu  objek,  objek  dapat memantulkan  kembali  beberapa bagian  dari  berkas  cahaya  tersebut.  Pantulan cahaya  ini ditangkap  oleh  alat-alat  optik,  contohnya:  mata  pada manusia,  kamera, pemindai (scanner ),  dan  sebagainya, sehingga  sebuah  bayangan  objek  yang disebut image processing tersebut terekam.
Image  processing merupakan  pengolahan  citra, khususnya  dengan menggunakan  komputer  sehingga memiliki image  processing agar  kualitasnya sangat  baik. Walaupun  suatu  pengolahan  citra  kaya  sebuah  informasi, meskipun sering kali pengolahan citra yang kita mempunyai mengalami penurunan mutu (degradasi), contohnya mungkin cacat atau derau (noise ), warnanya kurang terang atau gelap. Meskipun  pengolahan  citra  yang  mengalami  gangguan mudah diinterprestasi, maka pengolahan citra tersebut perlu dimanipulasi  menjadi pengolahan  citra  yang  lain  agar kualitasnya  sangat  baik. Image  processing bertujuan  agar dapat  memperbaiki  kualitas  yang  sangat  mudah diinterprestasi  oleh manusia  atau  mesin  (dalam  hal  ini komputer).  Image  yang  dari  kamera  digunakan  sebagai pendeteksi  garis  jalan  pada  arena  yang  dirancang  pada prototype robot mobile wall follower.

## II. S TUDI P USTAKA
A. Pengolahan Citra ( Image Processing )
Pengolahan  citra  digital  menunjukkan  pada  suatu pemrosesan  gambar  dua  dimensi  yang  menggunakan komputer.  Dalam  sebuah  konteks  yang  lebih  luas, pengolahan  citra  digital  mengacu  pada  salah  satu pemerosesan  setiap  data  dua  dimensi  [3].  Pengolahan  citra merupakan  sebuah  larik  ( array) yang  berisi  nilai-nilai  real maupun kompleks yang direpresentasikan dengan deretan bit tertentu. Pengertian image processing itu sendiri merupakan salah satu jenis tipe dari pemrosesan informasi dimana input dan  outputnya  merupakan  pengolahan  citra  seperti  foto maupun video. Proses dasar terdiri dari beberapa jenis yaitu akuisisi citra, perbaikan citra dan penyimpanan citra.
B. Thresholding
Thresholding merupakan pembentukan untuk mengubah pengolahan  citra  berderajat  keabuan  menjadi  pengolahan citra  biner atau hitam putih maka  dapat  mengetahui daerah mana  yang  akan  masuk  objek  dan  background  dari
pengolahan  citra  secara  jelas.  Pengolahan  citra  hasil thresholding  biasanya  yang  digunakanlebih  lanjut  untuk pembentukan pengenalan objek serta ekstraksi fitur. Secara umum, cara kerja pengambangan pengolahan citra grayscale untuk menghasilkan pengolahan citra biner [4].
Cara prosedur thresholding secara umum terbagi menjadi dua sebagai berikut:
1. Thresholding global ( Global thresholding ) .
Thresholding yang dapat dilakukan melalui dengan mempartisi histogram yangdigunakan sebuah threshold (batas ambang) global T, yang berlaku untuk seluruh bagian pada pengolahan citra.
2. Thresholding  local  adaptif  (Locally  adaptive thresholding).
Thresholding  yang  dapat  dilakukan  melalui  dengan membagi  pengolahan  citra  yang  menggunakan beberapa bagian dari pengolahan citra. Kemudian pada setiap  bagian  dari  pengolahan  citra  yaitu  segmentasi yang dapat dilakukan dengan menggunakan thresholding yang berbeda.

## C. Kamera
Kamera  merupakan  suatu  alat  dapat  mengakuisi pengolahan citra. Pengolahan citra sehingga ditangkap oleh kamera tersebut yang melalui proses banyak parameter yang didapatkan oleh sistem pengendalian alat, diantaranya suatu parameter  posisi,  parameter  bentuk  bahkan  parameter kecepatan.  Kamera  merupakan  sebuah  alat  yang  bentuk untuk  menggunakan  menangkap  sebuah  gelombang  cahaya dapat  dipantulkan  oleh  beberapa  obyek,  meskipun  tersebut yang dapat dipetakan dalam bentuk pengolahan citra. Kamera webcam  memiliki  spesifikasi  5  mega pixel dengan  resolusi (320 x 240). Pada sebuah kamera dapat dihasilkan merupakan pengolahan citra dalam bentuk digital.Secara umum kamera digital terdiri dari yaitu lensa, sensor cahaya dan digitizer .
Lensa  pada  kamera  digunakan  untuk  memfokuskan cahaya  yang diterima supaya tepat mengenai bidang sensor cahaya. Sensor cahaya yang terdiri dari kamera adalah suatu kumpulan dapat dari banyak sensor cahaya (phototransistor / photodiode) yang dapat disusun oleh beberapa bentuk sebuah matrik  [5].  Sinyal  analog  yang  menghasilkan  sensor  agar dapat dikonversikan beberapa kedalam bentuk digital disusun oleh digitizer supaya sinyal digital inilah yang menghasilkan suatu kamera digital

## D. Mikrokontroler ATmega16
Mikrokontroler merupakan sebuah sistem komputer yang seluruh atau sebagian besar elemennya dikemas dalam satu chip,  sehingga  sering  disebut  Single  Chip  Microcomputer. Mikrokontroler  merupakan  sebuah  sistem  komputer  yang mempunyai  satu  atau  beberapa  tugas  yang  sangat  spesifik, berbeda dengan Personal Computer yang memiliki beragam fungsi.  Perbedaan  yang  lainnya  adalah  perbandingan  RAM dan  ROM  yang  sangat  berbeda  antara  Personal  Computer dengan  mikrokontroler.  Dalam  mikrokontroler  ROM  jauh lebih  besar  di  banding  RAM,  sedangkan  dalam  Personal Computer RAM jauh lebih besar dibanding ROM [1] [6].
Dalam penelitian ini digunakan mikrokontroler keluarga AVR yaitu Mikrokontroler ATmega16 AVR merupakan seri mikrokontroler  CMOS  8-bit  buatan  Atmel,  berbasis arsitektur RISC (Reduced Instruction Set Computer). Hampir semua  instruksi  dieksekusi  dalam  satu  siklus  Clock.  AVR mempunyai  32  register  general-purpose,  timer/counter fleksibel  dengan  mode  Compare,  Interrupt  Internal  dan Eksternal,  serial  UART,  Programmable  Watchdog  Timer, dan Mode Power Saving, ADC dan PWM Internal. AVR juga mempunyai  In-System  Programmable  Flash  on-chip  yang mengijinkan memori program untuk diprogram ulang dalam system  menggunakan  hubungan  serial  SPI  ATmega16. ATmega16 mempunyai  Throughput  mendekati 1 MIPS per MHz  membuat  disainer  sistem  untuk  mengoptimasi konsumsi daya versus kecepatan proses.

## III. H ASIL D AN P EMBAHASAN
A. Block Diagram Sistem Robot
Blok  diagram  rangkaian  merupakan  salah  satu  bagian terpenting dalam perancangan suatu alat, kerena dari diagram blok  rangkaian  inilah  dapat  diketahui  cara  kerjarangkaian keseluruhan.
Gambar 1. Blok diagram system robot
Adapun masing - masing penjelasan dari blok rangkaian pada Gambar 1, dapat dilihat pada penjelasan di bawah ini:
1. Modul Kamera
Blok ini berfungsi sebagai pendeteksi dinding garis yang berwarna hitam atau merah. Posisi dinding garis berada disisi kannan dan kiri jalan yang dirancang. Modul kamera terdiri dari 2 komponen yaitu:
a. Kamera  yang  berfungsi  sebagai  pendeteksi lingkungan robot. Kamera yang mendapatkan data warna dari warna dinding garis akan mengirimkan  data  tersebut  ke  komputer  atau laptop.
b. Pc  berfungi  sebagai  pengolah  data  warna  yang diperoleh  dari  kamera.  Data  tersebut  merupakan data  warna  dinding  garis.  Data-data  ini  akan menentukan logika gerak robot. Logika gerak ini terdiri dari 3 gerakan  yaitu  maju, Gerak kiri dan Gerak kanan.
2.  Modul  Mekanik  Robot Blok  ini  berfungsi  sebagai mobile robot yang bergerak berdasarkan masukkan dari pc. Pc akan mengirimkan data gerakan robot. Modul ini terdiri dari dua komponen yaitu:
a. Blok  Mikrokontroler Blok  ini  berfungsi  sebagai pemeroses  semua  data  masukan  dari  pc  dan data  keluaran  yang  merupakan  data  gerak. ikrokontroler akan mengatur pergerakan motor dc
sehingga  sesuai  dengan kondisi  yang diinginkan.
Mikrokontroler yang digunakan
adalah mikrokontroler ATmega16. b. Blok Driver Motor  Blok  ini  berfungsi  sebagai pengatur  pergerakan  motor  dc.  Ic driver yang digunakan  adalah  L298D  yang  memiliki  rating arus 2A per saluran output. Driver akan mengatur pergerakan robot yang teridiri dari kondisi maju, Gerak kiri, Gerak kanan, dan berhenti. Sedangkan pengaturan kecepatan putaran motor
menggunakan  pengaturan  pwm  yang  ada  pada mikrokontroler.
B. Pengujian Mikrokontroler
Pada  pengujian  ini  mikrokontroler  difungsikan  sebagai keluaran,  dengan  memberikan  logika  tinggi  (1)  dan  rendah (0) pada masing-masing pin pada PD dengan menggunakkan program pengujian. Kemudian kondisi PD akan dihubungkan led  array.  Jika  terjadi  perubahan  pada  kondisi  port  sesuai dengan  program,  maka  port  mikrokontroler  dalam  kondisi baik.  Tabel  1  merupakan  pengujian  rangkaian  sistem minimum mikrokontroler.

## Tabel 1. Pengujian Port Pada Mikrokontroler ATmega16
Port Pengujian Data Awal (Pengujian) Data Hasil Pegujian (Hasil) P_1 P_2 H_1 H_2 PORTD 1111 1111b 1111 0000b 1111 1111b 1111 0000b
Dalam tabel 1 diatas, dilakukan 2  kali proses pengujian keseluruhan  pin  port  D  yang  tersedia  pada  mikrokontroler. Pada pengujian pin-pin tersebut difungsikan sebagai keluaran sedangkan  untuk  fungsi  masukkan  akan  langsung menggunakan  sensor  jarak.  Setiap  pin  diberikan  2  kondisi data pengujian yang berbeda dan menghasilkan 2 kondisi data hasil pengujian.
Pada  pengujian_1,  PD  diberikan  data  pengujian  1111 1111b dan pada pengujian 2 diberikan data 1111 0000b, yang menghasilkan  2  data  keluaran,  yaitu  1111  1111b  dan  1111 0000b. Semua data tersebut ditampilkan secara real pada led peraga, dengan kondisi menyala jika berlogika 1 dan kondisi padam jika berlogika 0. Dengan demikian kondisi ini dapat dikatakan bahwa mikrokontroler dalam keadaan baik
C. Pengujian Driver Motor
Pada  pengujian  ini  bertujuan  untuk  mengetahui  apakah motor  dc  dan  driver  motor  telah  berfungsi  dengan  baik. Pengujian  menitik  beratkan  pada  pengujian  aktivasi  motor dan driver motor dc. Pengujian aktivasi motor dc dilakukan hanya  untuk  memastikan  bahwa  motor  berfungsi  dengan baik, yaitu dengan memberikan logika tinggi (1) dan rendah (0) pada pin Enable_A dirangkaian driver. Dalam pengujian, terdapat  2  logika  motor  yaitu  motor  kanan  dan  motor  kiri. Kedua  driver  motor  diatur  oleh  sebuah  pin  Enable  yang masing- masing diwakili oleh EN_A (motor kiri) dan EN_B (motor  kanan).  Kondisi  logika  untuk  input  motor  yaitu IN_A1 (1), IN_A2 (0), IN_B1 (1) dan IN_B2 (0) adalah sama untuk semua pergerakan, yang menjadi perbedaannya adalah hanya  logika  Enable-nya  (lihat  tabel  berwarna  biru  muda).
Tabel  2  berikut  merupakan  tabel  hasil  pengujian  metode aktivasi driver motor.
Tabel 2. pengujian aktivasi driver motor Motor Kanan Motor Kiri Ket En_b  In_b2  In_b1  En_a  In_a2  In_a1 1 0 1 1 0 1 Maju 1 0 1 0 0 1 Gerak kiri 0 0 1 1 0 1 Gerak kana 0 0 1 0 0 1 berhenti
Untuk data aktivasi tegangan dari data pwm keseluruhan perhitungan dan pengukuran, dapat dilihat dalam Tabel 3.

## Tabel 3. Aktivasi Pengaturan PWN Motor
Fungsi Keangotaan Keluaran Data pwm Perhitungan Tegangan Pengukuran Tegangan Aktivasi Motor Maju 50 des 1.45 Vdc 1.50 Vdc Gerak kiri 60 des 1.74 Vdc 1.80 Vdc Gerak kanan 60 des 1.74 Vdc 1.80 Vdc Berhenti 0 des 0 Vdc 0 Vdc
Dari  Tabel  3  diatas  dapat  ditentukan  besarnya  selisih tegangan hasil pengkuruan dengan tegangan hasil perhitungan secara berturut-turut adalah maju 0,05Vdc dengan persentase error  3.44%,  Sedangkan  untuk  0.06Vdc  dengan  prosentase error 3.44% untuk kondisi Gerak kanan/kiri.

## D. Pengujian Gerak Robot
Pengujian ini bertujuan untuk mengetahui gerakan Gerak robot  jika  terdeteksi  adanya  dinding  garis  .  Posisi  dinding garis  diletakkan  ditengah-tengan  dari  labirin.  Pengujian dilakukan dangan mencari data robot jika berada dalam posisi ditengah-tengah  labirin  dan  5cm  dari  labirin.  Hal  ini dilakukan  karena  posisi  jika  sedang  begerak  tidak  tepat berada  ditengah-tengah  labirin,  sehingga  di  perlukan  untuk mencari data dengan estimasi jarak terdekat ke labirin sebesar 5cm  dari  pinggir  kanan  dan  dan  5cm  dari  pinggir  kanan. Gambar 4.9 berikut merupakan gambar robot dalam berbagai posisi.

## Gambar 2. Robot Pendeteksi Dinding Garis
1) Kondisi Maju
Pengujian ini bertujuan untuk mengetahui data thresholding yang  diperoleh  robot  apakah  sesuai  dengan  data statechart untuk posisi dinding garis pada kondisi maju. Pengujian yang pertama  adalah  meletakkan  posisi  robot  ditengan-tengah labirin dengan dinding garis menunjuk arah kedepan. Untuk jelasnya dapat dilihat dalam Gambar 3.
Gambar 3. Pada saat kondisi maju data segmentasi 11000011
Jika  terdeteksi  gangguan  pada  dinding track maka  robot akan  diperintahkan  untuk  berhenti,  dengan  memberikan karakter  ‘a’  pada  mikokontoler.  Karakter  ‘a’  ini  akan memberikan  nilai  0  untuk  kedua  pin  Enable  pada  driver motor. Setelah berhenti, maka data hasil pembacaan dinding garis  akan  dikirim  ke  komputeruntuk  di  analisa.  Setalah melalui  proses  pengolahan  citra,  maka  hasil  yangdiperoleh adalah bilangan biner dengan dua kombinasi 11000011 dan 10000001.hasil ini sesuai dengan data dalam tabel statechart untuk maju.
Dengan diketahui hasil tersebut, maka robot diperintahkan untuk majudengan memberikan karakter ‘a’ yang dikrimkan melalui komunikasimenggunakan kabel USB ke mikrokontroler.  Maka  secara  otomatis  robot  akanmaju. Untuk  kondisi  maju  sistem  telah  berkerja  dengan  baik. Kondisi yang dilakukan saat maju dapat dilihat pada Gambar 4.
Gambar 4. Posisi saat maju
2) Gerak Kanan
Pengujian  ini  bertujuan  untuk  mengetahui  data thresholding yang diperolehrobot apakah sesuai dengan data statechart  untuk  posisi  dinding  garis  gerakkekanan. Pengujian  yang  pertama  adalah  meletakkan  posisi  robot ditengantengah labirin dengan dinding garis menunjuk arah kekanan.  Untuk  jelasnya  dapatdilihat  dalam  Gambar  5 dibawah.
Gambar 5 Pada saat kondisi gerak kanan data segmentasi 11100001
Jika  terdeteksi  gngguan  pada  dinding  track  maka  robot akan  diperintahkanuntuk  berhenti,  dengan  memberikan karakter  ‘b’  pada  mikokontoler.  Karakter  ‘b’ini  akan memberikan  nilai  0  untuk  kedua  pin  Enable  pada  driver motor. Setelah berhenti, maka data hasil pembacaan dinding garis  akan  dikirim  ke  komputeruntuk  di  analisa.  Setalah melalui proses pengolahan citra, maka  hasil yang diperoleh adalah  bilangan  biner  dengan  empat  kombinasi 10000000, 11000000, 11100000 dan 11100001. hasil ini sesuai dengan data  dalam tabel  statechart  untuk  gerak  kekanan.  Dengan diketahui  hasil  tersebut,  maka  robot diperintahkan  untuk bergerak kearah kanan dengan memberikan karakter ‘b’ yang dikrimkan melalui komunikasi menggunakan kabel USB ke mikrokontroler.  Maka secara  otomatis  robot  akan  bergerak kearah  kanan.  Untuk  pergerakan  robot  gerak kanan  sistem telah  berkerja  dengan  baik.  Posisi  saat  gerak  kanan  dapat dilihat pada Gambar 6 dibawah ini.

## Gambar 6. Posisi gerak kanan
3) Gerak Kiri
Pengujian ini bertujuan untuk mengetahui data thresholding yang  diperoleh  robot  apakah  sesuai  dengan  data  statechart untuk  posisi  dinding  garis  gerak  ke kiri.  Pengujian  yang pertama  adalah  meletakkan  posisi  robot  ditengan-tengah labirin  dengan  dinding  garis  menunjuk  kearah  kiri.  Untuk jelasnya dapat dilihat dalam Gambar 7 dibawah ini.
Gambar 7 . Pada saat kondisi gerak kiri data segmentasi 10000111
Jika  terdeteksi  gngguan  pada  track  maka  robot  akan diperintahkan  untuk  berhenti,  dengan  memberikan  karakter ‘c’  pada  mikokontoler.  Karakter  ‘c’  ini  akan  memberikan nilai  0  untuk  kedua  pin  Enable  pada  driver  motor.  Setelah berhenti,  maka  data  hasil  pembacaan  dinding  garis  akan dikirim ke komputer untuk di analisa. Setalah melalui proses pengolahan citra, maka hasil yang diperoleh adalah bilangan biner  dengan  lima  kombinasi  00000001,  00000011, 00000111, 10000111, dan 00001111. hasil ini sesuai dengan data  dalam  tabel  statechart  untuk  gerak  ke  kiri.  Dengan diketahui  hasil  tersebut,  maka  robot  diperintahkan  untuk bergerak  kearah  kiri  dengan  memberikan  karakter  ‘c’  yang dikrimkan melalui komunikasi menggunakan kabel USB ke mikrokontroler.  Maka  secara  otomatis  robot  akan  bergerak kearah  kiri.  Untuk pergerakan robot gerak kiri sistem  telah
berkerja dengan baik. Pergerakan robot pada saat gerak kiri dapat dilihat Gambar 8.

## Gambar 8. Posisi gerak kiri
4) Kondisi Berhenti
Pengujian ini bertujuan untuk mengetahui data thresholding yang  diperoleh  robot  apakah  sesuai  dengan  data  statechart untuk posisi dinding garis pada saat robot berhenti. Pengujian yang  keempat  adalah  meletakkan  posisi  robot  ditengan  – tengah labirin dengan dinding garis pada saat  berhenti. Untuk jelasnyadapat dilihat dalam Gambar 9.

## Gambar 9. Pada saat kondisi berhenti data segmentasi 11111111
Jika  terdeteksi  gngguan  pada  track  maka  robot  akan diperintahkan  untuk  berhenti, dengan  memberikan  karakter ‘d’  pada  mikokontoler.  Karakter  ‘d’  ini  akan memberikan nilai  0  untuk  kedua  pin  Enable  pada  driver  motor.  Setelah berhenti,  maka  data  hasil  pembacaan  dinding  garis  akan dikirim ke komputer untuk di analisa. Setalah melalui proses pengolahan  citra,  maka  hasil  yang  diperoleh  adalah bilangan  biner  dengan  tiga  kombinasi  00000000  dan 11111111, hasil ini sesuai dengan data dalam tabel statechart untuk kondisi berhenti. Dengan diketahui hasil tersebut, maka robot  diperintahkan  untuk  berhenti dengan  memberikan karakter‘d’ (Gambar 10) yang dikrimkan melalui komunikasi menggunakan  kabel  USB  ke  mikrokontroler.  Maka  secara otomatis  robot  akan berhenti.  Untuk  pergerakan  robot berhenti sistem telah berkerja dengan baik.
Gambar 10. Posisi Berhenti

## IV. K ESIMPULAN
Robot wall follower berfungsi untuk membaca garis yang berwarna  hitam  atau  merah  pada track yang  telah  dibuat. Robot  ini  dapat  mendeteksi  objek  pada  suatu  wilayah mengguanakan  sensor  kamera  lalu  sensor  kamera  akan mendeteaksi sebuah objek, selanjutnya sensor akan mengirim data ke mikrokontroler ATmega 16 lalu data tersebut akan di eksekusi sehingga robot dapat bergerak Robot wall follower bergerak  dengan  cara  mengetahui  warna  hitam  atau  merah pada track yang telah dibuat, apabila warna  yang diketahui buram maka robot akan berhenti.

## D AFTAR P USTAKA
[1] E. Pitowarno, Robotika: Desain, Kontrol, dan Kecerdasan Buatan . Yogyakarta: Penerbit ANDI, 2006.
[2] S.  B.  Raharjo  and  B.  Sutopo,  “Robot  Pengikut  Garis  Berbasis Mikrokontroler  AT89C51  Menggunakan  Sensor  Infra  Merah,” Makal. ilmiah. Tek. Elektro UGM, Yogyakarta. Indones. , 2004.
[3] D. Putra, Pengolahan Citra Digital . Yogyakarta: Penerbit ANDI, 2010.
[4] S. I. Syafi’i, R. T. Wahyuningrum, and A. Muntasa, “Segmentasi Obyek  Pada  Citra  Digital  Menggunakan  Metode  Otsu Thresholding,” J. Inform. , vol. 13, no. 1, pp. 1–8, 2015.
[5] H. Kristianto, “TA: Automatic Mobile Robot Menggunakan Data Kamera  Sebagai  Pengambil  Gambar  Jalan  Robot,”  STIKOM Surabaya, 2012.
[6] A.  Winoto, Mikrokontroler  AVR  ATMega8/32/16/8535  dan Pemrogramannya  dengan  Bahasa  C  pada  WinAVR .  Bandung: Penerbit Informatika, 2008.