## KONTROL POSISI ROBOT MOBIL MENGGUNAKAN LOGIKA FUZZY DENGAN SENSOR ULTRASONIK

## Darwison, M. Ilhamdi Rusydi dan  Rico Fajri
Laboratorium Elektronika Industri Jurusan Teknik Elektro Universitas Andalas

## ABSTRAK
Penelitian  ini  bertujuan membuat kontrol posisi  robot mobil dengan  menggunakan sensor  ultrasonik sebagai  pengukur  jarak dan encoder untuk  penghitung  kecepatan robot  mobil. Dengan  menerapkan metoda logika  fuzzy akan  membuat  pergerakan servomotor  DC dari robot  mobil  bergerak  lebih  halus. Logika fuzzy merupakan suatu hubungan ketidakpastian sesuatu yang tidak mempunyai suatu batas jelas kedalam suatu persamaan matematis yang mudah dimengerti. Fungsi keanggotaan menggunakan segitiga dan dinyatakan  secara  numerik serta Metoda inference yang digunakan  adalah metode  Mandani. Hasil- hasil percobaan menunjukkan bahwa semakin dekat jarak akan membuat pergerakan robot mobil semakin lebih  halus. Encoder  mempunyai rata-rata  persentase  kesalahan  sebesar  22.38% dan  sensor  ultrasonic mempunyai rata-rata perubahan waktu per 2 cm yaitu 0.114546 ms dengan kesalahan sebesar 4,14%.
Kata Kunci : robot mobil, logika fuzzy dan kontrol posisi.

## I. PENDAHULUAN

## 1.1 Latar Belakang
Robot  mobil  adalah  tipe  robot  yang paling  populer  dalam  dunia  penelitian  robot. Manfaat  robot  mobil  antara  lain  dapat membantu  manusia  dalam  melakukan  otomasi dalam  transportasi,  platform  bergerak  untuk robot  industri,  dan  eksplorasi  tanpa  awak. Menurut  Endra[1],  untuk  fokus  penelitian dalam  domain  robotik  dapat  dikelompokkan kedalam analisa dinamik yaitu untuk mendapatkan disain kontrol yang lasak (robust) yang  mampu  meredam  gangguan  dengan  baik dan  analisa  kinematik  yaitu  konfigurasi  robot yang  benar-benar  baru  dengan  mengkaji persamaan  kinematik  dan  kontrol  dasarnya. Namun pada penelitian terkini tentang kontrol robot  dengan aplikasi  kecerdasan  buatan  lebih banyak dilakukan dengan tujuan untuk memperoleh  kontrol  kinematik  yang  lebih canggih, seperti kemampuan untuk menghindari tabrakan sesama robot. Berdasarkan hal tersebut maka  dilakukan  penelititan  untuk  merancang dan Implementasi Kontrol  posisi  Robot Mobil Menggunakan  Logika  Fuzzy  dengan  Sensor Ultrasonik.

## 1.2 Tujuan Penelitian
Ada dua tujuan penelitian, yakni: 1. Agar  dapat  merancang dan  membuat sebuah sistem kontrol posisi servomotor DC.
2. Agar dapat robot mobil bergerak lebih halus dengan bantuan logika fuzzy.

## 1.3 Manfaat Penelitian
Penelitian  ini  adalah  suatu  usaha  untuk dapat  memberlakukan  servomotor  dc  sebagai pengendali  posisi  dengan  menerapkan logika fuzzy.  Keberhasilan  metoda  ini  sebagai  materi penelitian  diharapkan  dapat  memberikan  hasil yang lebih efektif tanpa membutuhkan formulasi matematis yang rumit dalam menyelesaikan masalah, sehingga dapat berguna  untuk  kemajuan  dunia  industri  dan khususnya  bidang  yang  berhubungan  dengan masalah kontrol servomotor dc.

## 1.4 Batasan Masalah
Adapun  masalah  yang  akan  diteliti yaitu Bagaimana  merancang  kontrol  posisi  (melibatkan sensor  ultrasonik  dan  encoder)  agar  dapat  menjadi input logika fuzzy, sehingga menghasilkan pergerakan robot mobil yang lebih halus.

## II. TINJAUAN PUSTAKA
Sebagai  bahan  perbandingan  antara  lain oleh Muhammad  I.R. (2004)  dengan  judul penelitian “ Perancangan  Dan  Implementasi Sistem  Kendali  PID  Adaptif  Pada  Pergerakan SYNCBOT” dengan encoder sebagai penentuan kecepatan motor. Dan penelitian tentang kontrol posisi  yaitu oleh  Ahmad  Rivai  (2008)  dengan judul  “ Perancangan  Dan  Implementasi  Kendali Cerdas  Logika Fuzzy Pada  Kontrol  Posisi Motor  Servo  AC”. Serta  penelitian  dengan menggunakan  sensor  ultrasonik oleh  Febry Yadi  Z  (2009)  dengan  judul “Robot  Cerdas Pengangkut Box dengan  Sensor  Ultrasonik Sebagai Navigasi  Berbasis Mikrokontroller” .

## 2.1 Logika Fuzzy
Teori  tentang fuzzy  set atau  himpunan samar  pertama  kali  dikemukakan  oleh  Lotfi Zadeh sekitar tahun 1965 pada sebuah makalah yang  berjudul  ”Fuzzy  Sets” yaitu dapat merepresentasikan  dan  menangani  masalah ketidakpastian  yang  dalam  hal  ini  bisa  berarti keraguan,
ketidakpastian, kekurangan lengkapan  informasi,  dan  kebenaran  yang bersifat sebagian[5].

## Fungsi-fungsi Keanggotaan
Fungsi    keanggotaan memakai  fungsi segitiga untuk  merepresentasikan  masalah  dan menghasilkan  keputusan  yang  akurat,  seperti gambar 1.
 U
Gambar 1 Fungsi segitiga
                       c x b b c c x b x a a b a x c x a x c b a x Triangular
; ) ( ; , ; 0 , , ,

## Sistem Berbasis Aturan Fuzzy
Sistem berbasis aturan fuzzy terdiri dari tiga komponen  utama yaitu Fuzzification,  Inference dan Defuzzification.

## Fuzzification
Fuzzification mengubah masukan- masukan yang nilai kebenarannya bersifat pasti (crisp input) ke dalam fuzzy input, yang berupa nilai  linguistik  yang  semantiknya  ditentukan berdasarkan fungsi keanggotaan tertentu.

## Inference
Inference melakukan penalaran menggunakan fuzzy  input dan fuzzy  rules yang telah  ditentukan  sehingga  menghasilkan fuzzy output.  Secara  sintaks,  suatu  aturan fuzzy dituliskan sebagai:
IF antecendent THEN consequent. Terdapat  dua  model  aturan fuzzy dan  pada penelitian ini memakai model Mamdani.

##  Model Mamdani
Pada  model  ini,  aturan fuzzy didefinisikan sebagai:
IF x 1 is A 1 AND ... AND x n is A n THEN y is B dimana A 1 , ..., A n , dan B adalah nilai-nilai linguistik  dan  ”x 1 is  A 1 ”  menyatakan bahwa  nilai  variabel  x 1 adalah  anggota fuzzy set A 1 .

## Defuzzification
Defuzzification mengubah fuzzy  output menjadi crisp value berdasarkan fungsi keanggotaan  yang  telah  ditentukan.  Terdapat berbagai  metode defuzzification yang  telah berhasil  diaplikasikan  untuk  berbagai  macam masalah dan  pada  penelitian  ini  menggunakan metoda weigthed average.
 Weigthed Average
Metode  ini  mengambil  nilai  rata-rata dengan  mengunakan  pembobotan  berupa derajat keanggotaan. Sehingga y* didefinisikan sebagai:
  ) ( ) ( * y y y y  
dimana  y  adalah  nilai crisp dan  µ(y) adalah  derajat  keanggotaan  dari  nilai crispy.

## 2.2 Komponen Utama Robot
Aktutor  yang  sesungguhnya  hanya  dapat dioperasikan  dalam  ketelitian  gerak  hingga sekian  derajat  saja  dan  dengan  linieritas  yang sangat  terbatas.  Sensor  riil  juga  selalu  tidak sempurna  seperti  definisi  teoritisnya.  Noise, non-linieritas,  dan  keterbatasan  jangkauan operasi  hampir  selalu  mengiringi  instalasi sensor  dalam  rangkaian (Endra  Pitowarno, 2006).

## 2.2.1 Sistem Aktuator
Aktuator adalah perangkat elektromekanik yang
digunakan untuk melakukan  gerakan,  seperti  servomotor  DC pada gambar 2.

## Servomotor DC
Servomotor DC adalah  motor  DC dengan torsi besar yang memiliki kemampuan yang  baik  dalam  hal  posisi,  kecepatan  dan akselerasi.
Secara  umum  terdapat  2  jenis  motor servo.  Yaitu  motor  servo  standard  dan  motor servo  Continous.  Motor  servo  standard  sering dipakai  pada  sistim  robotika  misalnya  untuk membuat  “  Robot  Arm”  (  Robot  Lengan  ) sedangkan  motor  servo  Continous  sering dipakai untuk robot mobil[6].
= 1,5ms < 1,5ms 18ms – 20ms > 1,5ms berhenti putar kanan putar kiri Gambar 2 Penggunaan motorsevo DC

## III. METODOLOGI PENELITIAN

## 3.1 Garis Besar Perancangan Sistem
Adapun  diagram  blok  penelitian  seperti gambar 3,  yang  terdiri  dari sensor kecepatan yaitu  encoder  dan  sersor  jarah  yaitu  sensor ultrasonik SRF04.  Robot dikendalikan  oleh
mikrokontroler  Renesas  R8C/Tiny  yang  dapat dioperasikan  dalam  bahasa  C  dan  Assembly. Dan  penggerak  robot  digunakan  2  servomotor continiuos GWS  S35 pada  masing-masing roda[7].

## Gambar 3 Perancangan sistem

## 3.2 Perancangan Perangkat Keras

## 3.2.1 Perancangan Mekanik
Perancangan  robot  ini  menggunakan  dua buah  roda  aktif  yang  digerakkan  oleh servomotor continious serta dua roda pasif yang dapat  bergerak  ke  segala  arah  sebagai  penahan keseimbangan  robot.  Sebagai  penentu  jarak digunakan  sebuah  sensor  jarak  ultrasonik  yang terletak  tepat  di  depan  robot.  Sebagai penghitung  kecepatan  diletakkan  encoder  pada salah  satu  roda  penggerak  pada  robot,  seperti gambar 4.

## Gambar 4 Foto robot mobil

## Perancangan Rangkaian Encoder
Pada  penelitian  ini  encoder  digunakan sebagai  penghitung  kecepatan real dari  motor sehingga  encoder  yang  tepat  digunakan  adalah
incremental  encoder.  Encoder  dibagi  kedalam 100  divisi  yang  terdiri  dari  50  divisi  yang transparan dan 50 divisi tidak transparan seperti gambar 5 dan 6.
Gambar 5 Letak encoder U? Optoisolator1 U1 INV Renesas P3_2 Res2 Res1 VCC VCC
Gambar 6 Schematic rangkaian encoder

## 3.2.2 Perancangan Sistem Minimum
Mikrokontroller  Atmel  digunakan  pada penelitian  ini sebagai  penggerak  dari  motor servo  continious, seperti  gambar 7 dan sebagai pembantu  mikrokontroler  utama  yaitu  Renesas R8C/13, seperti gambar 8.
40 39 38 37 36 35 34 33 32 31 31 30 29 28 27 26 25 24 23 23 22 22 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 AT89C51 Motor Sevo 1 2 20 MHz 30pF 30pF VCC RST 100uF Res2 Diode VCC Motor Kanan Motor Kiri Renesas P1_1 Renesas P1_0 Renesas P1_2 Renesas P1_3
Gambar 7 Schematic rangkaian mikrokontroler AT89C51[8]
16 16 15 15 14 14 13 13 12 12 11 11 10 10 9 9 1 7 8 1 8 1 9 2 0 2 1 2 2 2 3 2 4 7 6 5 4 3 2 1 25 26 27 28 29 30 31 32 1 2 Q1 20 MHz 30pF C2 30pF C1 TX RX VCC Res3 2 3 1 S1 MODE Echo Trigger MCS51 A P2.0 MCS51 A P2.1 MCS51 A P2.2 MCS51 A P2.3 R8C/13 VCC R1 Res1 RST 100uF C4 100nF C3 R2 Res2 Encoder
Gambar 8 Schematic rangkaian mikrokontroler renesas[9]

## 3.3 Perancangan Perangkat Lunak
Dalam  penulisan program,  Renesas  telah menyediakan program developer terpadu berbasis  Windows  yang  diberi  nama HEW (High-performance  Embedded  Workshop). Seluruh  fasilitas HEW versi  gratis  berfungsi sepenuhnya untuk permrograman mikrokontrol- er  R8C/13. HEW memadukan  seluruh  fasilitas program  seperti  fasilitas  untuk  pembuatan kerangka  program,  penyetingan compiler, pengeditan program, manajemen file, download, dan pelacakan kesalahan.
Pada  mikrokontroler slave yang  digunakan yaitu  keluaran  Atmel, assembly merupakan bahasa pemrograman yang digunakan. Program ditulis  pada notepad,  kemudian  di-compile dan didownload ke  dalam  mikrokontroler  yang digunakan.
Berikut  merupakan  perancangan  program yang digunakan seperti gambar 9.

## 3.3.1 Perancangan Program Perhitungan Jarak dan Kecepatan
Sensor encoder dan sensor ultrasonik digunakan untuk  memperoleh  data kecepatan  dan  jarak. Berikut perancangan program perhitungan jarak dan kecepatan seperti gambar 10.
Start Deklarasi Variabel, Inisialisasi Fungsi, Interupsi, dsb Hitung jarak penghalang dengan sensor ultrasonik dan kecepatan roda dengan encoder Logika Fuzzy Kirim keluaran Fuzzy ke mikrokontroler penggerak motor servo A B C D Keluaran kecepatan motor servo Gambar 9 Diagram alir robot
Gambar 10 Diagram alir perhitungan jarak dan kecepatan

## 3.3.2 Perancangan Program Fuzzy Logic
Fuzzy  Logic merupakan  kendali  cerdas yang digunakan untuk mengendalikan
kecepatan robot mobil.  Berikut  diagram  alir yang  digunakan  untuk fuzzy  logic seperti gambar 11.
Gambar 11 Diagram alir fuzzy logic

## 3.3.3 Perancangan Program Keluaran
Dari  pengolahan fuzzy,  hasil  keluaran akan  dikirim  ke  mikrokontroler  penggerak servomotor. Berikut diagram alir yang digunakan  untuk  mengirimkan  keluaran  ke mikrokontroler Atmel seperti gambar 12.

## Gambar 12 Diagram alir pengiriman keluaran

## 3.3.4 Perancangan Program Penggerak Motor Servo
Sebagai penggerak motor servo continuous  digunakan  mikrokontroler  yang berbeda  dari  mikrokontroler  pengolah fuzzy. Berikut diagram alir pada mikrokontroler Atmel sebagai penggerak  motor  servo seperti  gambar 13.
Ga
mbar 13 Diagram alir penggerak motor servo

## 3.4 Kontrol Logika Fuzzy
Pada  penelitian  ini  digunakan  kontrol logika fuzzy sebagai  pengendali  dari robot mobil dengan diagran blok seperti gambar 14.
Gambar 14 Diagram blok kendali fuzzy
Pada  sistem fuzzy terdapat  beberapa langkah atau proses yang digunakan, yaitu:

## a. Fuzzification
Pada  langkah  ini, input yang  diterima yaitu  jarak  dan  kecepatan real masing-masing dibagi kedalam empat fungsi keanggotaan. Pada jarak,  fungsi  keanggotaannya  yaitu: Berhenti (BI),  Pelan  (PI),  Normal  (NI),  Cepat  (CI), a1, a2, a3 & a4 serta merupakan nilai variabel pada fungsi keanggotaan sepert gambar 15.
Gambar 15 Himpunan fuzzy kecepatan riil

##  
           2 1 ; 1 2 ) 2 ( 1 ; 1 a x a a a a x a x x BI                        3 2 ; 2 3 ) 3 ( 2 1 ; 1 2 1 3 , 1 ; 0 a x a a a a x a x a a a a x a x a x x PI                        4 3 ; 3 4 ) 4 ( 3 2 ; 2 3 2 4 , 2 ; 0 a x a a a a x a x a a a a x a x a x x NI                4 ; 1 4 3 ; 3 4 3 3 ; 0 a x a x a a a a x a x x CI
Sedangkan pada
kecepatan, fungsi
keanggotaanya  terbagi  kedalam Sangat  Dekat (SD),  Dekat  (DE),  Cukup  (CU), dan Jauh  (JA) serta b1, b2, b3 & b4 sebagai nilai variable dari fungsi keanggotaan seperti gambar 16.
Gambar 16 Himpunan fuzzy jarak
             2 1 ; 1 2 ) 2 ( 1 ; 1 b x b b b b x b x x SD
                       3 2 ; 2 3 ) 3 ( 2 1 ; 1 2 1 3 , 1 ; 0 b x b b b b x b x b b b b x b x b x x DE
 
                     4 3 ; 3 4 ) 4 ( 3 2 ; 2 3 2 4 , 2 ; 0 b x b b b b x b x b b b b x b x b x x CU               
4 ; 1 4 3 ; 3 4 3 3 ; 0 b x b x b b b b x b x x JA

## b. Inference
Pada  proses  ini,  terdapat  aturan-aturan yang  digunakan  menghubungkan  input  dan output  dari  sistem fuzzy.  Output  pada  sistem kendali fuzzy ini  adalah  kendali  kecepatan  dari servomotor  continious.  Tabel  aturan  dapat dilihat pada tabel 1 berikut.

## Tabel 1 Tabel aturan fuzzy

## c. Defuzzification
Pada  proses  defuzzifikasi  dilakukan pengubahan output fuzzy menjadi output berupa nilai crisp yaitu  nilai  yang  mewakili  besarnya kecepatan servomotor continiuous yang dikendalikan.  Pada  penelitian  ini,  defuzzifikasi menggunakan Height  Method seperti pada gambar 17.
Gambar 17 Himpunan fuzzy keluaran
Pada  metode  ini,  output  nilai crisp hanya bernilai  satu  pada  fungsi  keanggotaan  tertentu. Dan  keluaran  yang  digunakan  sebagai  kendali motor yaitu nilai keanggotaan tertinggi diantara fungsi keanggotaan yang didapat sebagai output dari output fuzzy.

## IV. HASIL DAN PEMBAHASAN
Data rata-rata hasil waktu ukur jarak dari sensor ultrasonik per 2 cm adalah 0.114546 ms. Bila  dihitung menggunakan teori dimana  s adalah  jarak  (cm),  t in adalah  waktu  kembali gelombang ultrasonic atau lamanya waktu pulsa high  pada  sensor  ultrasonik,  dengan  kecepatan bunyi 344m/s maka didapat persamaan:
Jarak (s) = (t in x 344 m/s)/2 atau
          344 10 2 2 s t IN
maka rata-rata perubahan waktu ultrasonic per 2 cm  yaitu  0.115020  ms.  Dari  kedua  rata-rata yang  didapat,  maka  diperoleh  selisih  waktu rata-rata per 2 cm yaitu 0.114546 ms - 0.115020 ms = 0.000474  ms atau kesalahan  sebesar 4,14%.

## 4.1 Hasil Pengujian Encoder
Dalam menghitung kecepatan pada robot, digunakan  encoder  yang  terletak  pada  motor kanan  mobil  robot.  Dengan  asumsi  kecepatan motor  servo  kanan  dan  kiri  adalah  sama serta beban adalah nol. Untuk menghitung kecepatan linear  motor  dari  encoder,  yang  perlu diperhatikan  adalah  waktu  dari  encoder  untuk menghasilkan  satu  gelombang,  yaitu  sebuah pulsa “1” dan sebuah pulsa “0”. Pada penelitian digunakan  encoder  100  divisi  yang  berarti terdapat 50 gelombang. Dari waktu pada setiap gelombang  didapatkan  kecepatan  sudut  ( ω ), yaitu:
t rad   dimana  : 1 rad = 
180
ω = kecepatan sudut, dan
t = waktu yang diperoleh (s)
sedangkan hubungan kecepatan sedut dan kecepatan linier dapat dilihat sebagai berikut:
v = ω · r
dimana : v = kecepatan motor (cm/s) r = jari-jari roda (cm)
Dari hubungan diatas dan dari kecepatan yang  diperoleh  dari  variasi  pemberian  pulsa pada motor servo maka data encoder untuk satu gelombang didapatkan rata-rata  persentase kesalahan sebesar 22.38%. Hal ini dapat terjadi karena  banyak  faktor,  antara  lain  gear  yang kurang  bagus  pada  motor  servo  continuous yang  digunakan  sehingga  perputaran  roda kurang  baik  mengakibatkan  kecepatan  sudut tidak konstan yang kemudian membuat pengukuran  encoder  untuk  satu  gelombang kurang baik.

## 4.2 Kontrol  Kecepatan  dengan  Logika
Fuzzy Pengujian pengontrolan kecepatan dengan logika fuzzy dilakukan dengan menentukan  jarak  menggunakan  sensor  jarak robot mobil  terhadap  penghalang,  dimana kondisi beban adalah nol.

## 4.2.1 Variasi Jarak Menggunakan Sensor Ultrasonik
Berikut  jarak  diambil  menggunakan sensor ultrasonik dan dengan jarak 0.8m seperti gambar 18.
0 1 2 3 4 5 6 7 8 9 1 6 11 16 21 26 31 36 41 46 Waktu (x 0,1s) K e c e p a ta n ( c m /s ) 0 10 20 30 40 50 60 70 80 90 J a ra k ( c m ) Kecepatan Jarak
Gambar 18 Grafik kecepatan dan jarak terhadap waktu pengotrolan logika fuzzy pada jarak penghalang 0.8 meter
Dari  grafik  diatas  dapat  dilihat  perubahan yang terjadi pada perhitungan jarak pada sensor ultrasonik serta perhitungan kecepatan riil pada encoder.  Dengan  menggunakan  logika fuzzy dapat  dilakukan  perubahan  kecepatan  yang bertahap  untuk  menghindari  slip  pada  roda akibat perubahan yang tiba-tiba.

## 4.2.2 Variasi  Jarak  dengan  Kondisi  Jarak Penghalang Berubah-ubah
Pada penelitian  ini,  dikondisikan  mobil robot  mendapat  perubahan  jarak  yang  semakin dekat  dimana  penghalang  dimulai  berada  pada jarak  1.8m  dan  terus  mendekat  hingga kecepatan  motor  mencapai    0  cm/s seperti gambar 19.
0 5 10 15 20 25 1 11 21 31 41 51 61 71 81 91 101 111 Waktu (x 0,1s) K e c e p a ta n ( c m /s ) 0 50 100 150 200 250 300 J a r a k ( c m )
Kecepatan Jarak
Gambar 19 Grafik kecepatan dan jarak dengan jarak penghalang terus mendekat

## V. KESIMPULAN
1. Penggunaan  logika fuzzy pada  robot mobil dapat  membuat  pergerakan  robot mobil  lebih  halus  dalam  memulai bergerak hingga berhenti.
2. Encoder  mempunyai rata-rata  persentase kesalahan sebesar 22.38% dan
3. Sensor  ultrasonic  mempunyai rata-rata perubahan  waktu  per  2 cm  yaitu
0.114546  ms dengan  kesalahan  sebesar 4,14%.

## .

## DAFTAR PUSTAKA
[1] Pitowarno,  Endra., Robotika  Disain,
Kontrol,  dan  Kecerdasan  Buatan, Andi Yogyakarta (2006).
[2] Muhammad  I.R., Perancangan  Dan Implementasi Sistem Kendali PID Adaptif  Pada  Pergerakan  SYNCBOT , Tugas Akhir (2004). [3] Ahmad Rivai, Perancangan Dan Implementasi  Kendali  Cerdas  Logika Fuzzy Pada  Kontrol  Posisi  Motor  Servo
AC, Tugas Akhir (2008).
[4] Febry Yadi Z, Robot Cerdas Pengangkut Box dengan  Sensor  Ultrasonik  Sebagai Navigasi    Berbasis  Mikrokontroller, Tugas Akhir (2009).
[5] Kuswadi,  Son., Kendali  Cerdas  Teori dan  Aplikasinya, ANDI  Yogyakarta (2007).
[6] Malik,  Moh.  Ibnu., Pengantar  Membuat Robot, Gava Media Yogyakarta (2006).
[7] Sigit,  Rianto., Robotika,  Sensor  dan Aktuator, Graha Ilmu Yogyakarta (2007).
[8] Nalwan, Paulus Andi., Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51, PT  Elex  Media  Komputindo: Jakarta (2003). [9] Sulistiyanto, Nanang., Pemrograman
Mikrokontroler  R8C/13, PT  Elex  Media
Komputindo: Jakarta (2008).

## Biodata Penulis
Darwison, dilahirkan di Payakumbuh, Sumatera Barat Indonesia. Pendidikan SD sampai SMA dilalui  di  kota  Padang  Sumatera  Barat.  Lulus  SMA  melanjutkan  S1  Teknik  Elektro  bidang  studi Elektronika ke ITS Surabaya. Selama mengikuti perkuliahan di ITS banyak pengalaman praktik yang didapat  melalui  sebagai  asisten  Praktikum,  lomba  dan  Tugas  AkhirPernah  mendapat  pengalaman elektronika di beberapa perusahaan yang memproduksi antara lain semen, plastik, obat nyamuk bakar dan lain-lain.  Tahun 1995 diterima sebagai dosen S1 Teknik Elektro di Universitas Andalas Padang sampai sekarang. Tahun 2002 menyelesaikan S2 Teknik Elektro bidang studi Sistem Isyarat Elektronik di  UGM  Yogyakarta.  Aktif  di  laboratorium  untuk  penelitian  di  bidang  kontrol,  mekatronika  dan biomedika, pembimbing penelitian PKMT mahasiswa. Tahun 2002 sebagai kepala labor Elektronika Industri sampai sekarang. Mata kuliah yang diajarkan di Jurusan Teknik Elektro dan Fakultas lain di Unand  adalah  Elektronika,  Sistem  kontrol,  Interface,  Operasional  Amplifier,  Sistem  Digital  dan Mikroprosesor  &  Mikrokontroller.  Penelitian  yang  dilakukan  masih  berkaitan  dengan mikrokontroller, antara lain kontrol PLTB (Bayu), akses Moving Sign via HP, robot, petir dan gempa. Pengabdian  di  KKN,  mengadakan  pelatihan  interface  &  Mikrokontroller  untuk  mahasiswa  /  umum, dan pembinaan & pelatihan perancangan & pembuatan moving sign.