Sabtu, 09 Mei 2009

Sensor IR dengan ADC pada robot line follower

Ups… nggak ngerjain tugas kuliah malah ngupdate blog, padahal tugas kuliah lagi banyak-banyaknya. Wokey, buat kalian yang tersesat diblog ini, met tersesat aja deh, kalian tersesat di tempat yang bener, efek samping tersesat diblog ini adalah menjadi pinter atow malah jadi pusing 9 keliling. Kalo kamu belum tahu tentang ADC wajib baca blog ini, tapi kalo kamu udah tahu, tetep wajib..he..he..
Kita akan mulai membahas tentang sensor robot line follower yang pake ADC yang sudah tersedia di mikrokontroller sebagai pengganti komparator misalnya komparator yang pake IC LM 324, LM 339 dll. Tujuan kita memakai sensor yang pake ADC adalah untuk memangkas rangkaian elektrikal pada robot, pada rangkaian sensor kita hanya menggunakan Photodioda yang dihubungkan seri dengan resistor variable (trimpot) dan langsung masuk ke port ADC pada mikrokontroller (catatan: Mikro harus ada ADC internalnya, misal: ATMega 16) , kita tidak membutuhkan komparator untuk mengolah keluaran sensor sehingga rangkaian elektrikalnya menjadi lebih simple, tetapi kita perlu tambahan koding
.

Rangkaian sensor yang simpel (menggunakan ADC)

Pada dasarnya rangkaian diatas hanyalah dua buah komponen yang punya resistansi dan dapat membagi tegangan diantara 5v dan ground. Sebagai contoh kita memakai 8 sensor untuk robot yang dimasukkan ke Port ADC (misal PORT A pada ATMega 16), lalu kita baca keluaran tegangan sensor dengan menggunakan ADC, lalu kita bandingkan dengan set-point yang telah kita set, misal jika tegangan sensor <> 2.5 volt maka termasuk logika 1, tapi dalam ADC 8 bit tegangan akan dikonversi menjadi bilangan 0-255 (unsigned char) misal tegangan 2.5 volt dikenali dengan nilai 128. Selanjutnya kita baca semua sensor satu per-satu dan keseluruhan logika sensor kita masukkan dalam sebuah variable
Contoh program:


klik gambar kode diatas untuk memperjelas

Nah program diatas adalah untuk mendeteksi tegangan sensor dengan ADC sekaligus menampilkannya ke LCD dan keluarannya disimpan dalam variable bernama sensore yang bertipe data unsigned char, misal jika hanya sensor paling kanan yang terkena garis maka variable sensore akan bernilai 00000001 apabila 2 sensor tengah yang terkena garis maka nilai variable sensore akan bernilai 00011000 dan lain lain. Pada program diatas kita butuh variable array barnama peka, variable tersebut menentukan kepekaan sensor kita, dan sudah harus kita set terlebih dahulu, variable Epeka merupakan variable dari EEPROM (kalo pake EEPROM) agar setelah diset variable tidak hilang. Kita juga bisa menggunakan tombol-tombol untuk mengeset variable peka, atau juga bisa dengan auto scanning (robot berputar mencari garis dan mengukur kepekaan dengan sendirinya).



33 komentar:

  1. Wah... itu kodeku...
    ha..ha..ha...

    BalasHapus
  2. mas contoh programnya kuk gak keliatan ya?
    muangkin bisa minta contah programnya mas.
    email:agus_8819@yahoo.co.id
    thank.

    BalasHapus
  3. Silahkan diklik gambar contoh kode untuk memperbesar...

    BalasHapus
  4. mas kalo program kalibrasinya gmn ya mas? Syukran

    BalasHapus
  5. kalo kalibrasinya bisa kita cari nilai rata-ratanya.
    misal salah satu sensor kita berikan garis hitam maka nilainya 220, lalu sensornya kita berikan warna putih maka nilainya 50.
    nah dari sini dapat kita cari nilai rata-rata yaitu:
    kalibrasi = (220 + 50) / 2 = 135

    BalasHapus
  6. ow.... begitu...

    tapi misal hasil kalibrasi kita simpan di eeprom, berarti gak perlu kalibrasi lagi ya...

    BalasHapus
  7. Iya...

    Tapi jika nilai kalibrasi tidak valid lagi, perlu dikalibrasi ulang.
    misal kalibrasi pertama di track A, dan berhasil. tapi di track B gagal (mungkin karena perbedaan konsentrasi warna garis/debu).
    maka harus di kalibrasi lagi..

    BalasHapus
  8. matur suwun atas penjelasannya... ^_^

    BalasHapus
  9. mas tanya lagi, aku punya ref sensor tapi pake komparator, peletakan photo diodanya tho reverse, tapi kalo pake adc yang punya mas forward biasa, bedanya apa mas? thanx atas penjelasannya....

    BalasHapus
  10. maskud anda susunannya dibalik?
    vcc-P.diode-R-GND??
    bisa koq pake ADC,
    tinggal diInvers aja...

    BalasHapus
  11. buka tapi arah katoda potodioda mengarah ke vcc (reverse/kebalik), gitu mas...?

    BalasHapus
  12. Wah, kalo susunannya seperti itu kayaknya nggak bisa..
    soalnya saya pernah coba susunan seperti itu tapi nggak detect..
    ya mungkin dicoba-coba aja, siapa tahu mungkin bisa..

    BalasHapus
  13. Kalo bole aku juga mita programnya,
    ku mau belajar lebih lanjut
    m4215AR@yahoo.com

    BalasHapus
  14. koclok programe, ra ketok ndes

    BalasHapus
  15. assalamualaikum
    bang, klo boleh minta programnya ya...
    all_about_faizal@yahoo.com
    maturnuwun... =)

    BalasHapus
  16. klo bisa profil yang punya blog ini di show jg ya, ini klo bisa ya... ^_^

    BalasHapus
  17. mas itu berarti ADCnya d baca satu per satu ya?

    tolong donk kasih contoh programnya...

    jhonsonproduce@gmail.com

    BalasHapus
  18. Iya, benar..
    ADCnya dibaca satu persatu secara bergantian..
    setelah semua terbaca, keluarannya di masukkan kedalam variabel "sensore"..

    BalasHapus
  19. mas..tolong banget donk...program lengkapnya kayak apa????
    di emailin...

    email :yudza_88@yahoo.com
    trimakasih sbelumnya......

    BalasHapus
  20. mas q lom paham, tolong donk q kirimi program yg lengkap..di emailin ya...

    email:punky_copral@ymail.com
    q tunggu ya mas........

    thks...............

    BalasHapus
  21. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  22. mas sy mo nanya...
    untuk ADC 10bit gmn perhitungan'y...
    maksi sblum'y.... :)

    BalasHapus
  23. salam kenal sebelumnya mas...
    mantep mas,saya sangat tertarik buat belajar ADC IR dengan multipleksing. bisa minta skematik sensor sama code progamnya gak mas...buat refrensi saya. tolong kirim ke diyon_1988@yahoo.com.makasih sebelumnya mas.saya tunggu mas....

    BalasHapus
  24. bos saya minta programnya yang lengkap ..
    kirim ke email saya bos..
    ananasrofi90@gmail.com

    terima kasih bos....

    BalasHapus
  25. mas bisa minta program lengkapnya ya mas,..
    kirim ke arissaf90@gmail.com,..
    makasih lho mas,..

    BalasHapus
  26. mas boleh minta kode programnya gak ?
    kirim ke jepy.electric@gmail.com
    makasih sblmnya,,

    BalasHapus
  27. maaf mengganggu saya hanya ingin berbagi artikel yang berkaitan tentang Sensor Garis
    berikut linknya :
    http://repository.gunadarma.ac.id/bitstream/123456789/3094/1/IMG_0025.pdf
    semoga bermanfaat :)

    BalasHapus
  28. Om minta list program full nya dong,.. :D
    cowox_dream@yahoo.co.id
    makasih om sebelume,.. :D

    BalasHapus

Tulis komentar dan link anda disini.