Menggunakan 6 Ping dengan 2 Microcontroller AVR 8 bit RISC untuk Navigasi Robot (Bagian 0)

Daftar Tulisan Berseri untuk tutorial AVR - PING

  1. Menggunakan 6 Ping dengan 2 Microcontroller AVR 8 bit RISC untuk Navigasi Robot (Bagian 0)

==Pendahuluan==
Tulisan ini sebenarnya saya tujukan untuk klub robotika tidak resmi di Gunadarma (Dadank, Rum, Anto, Yogi, dkk), mudahan-mudahan niat yang ikhlas untuk belajar bersama dan berbagi ilmu dapat menambah pahala dan membuka minat para mahasiswa Gunadarma lainnya, khususnya jurusan SK, TK dan elektro, untuk menggeluti bidang robotika. Mudah-mudahan tulisan ini dapat juga berguna bagi khalayak ramai :) .

Tulisan ini ditujukan untuk pemula yang ingin mengenal ”microcontroller” (uC) AVR RISC serta penggunaan 6 sensor PING (sensor ultrasonic) untuk navigasi robot dengan penerapan metode Fuzzy Logic. Dasar elektronika, ”microprocessor-microcontroller” (uC/uP), dan pengetahuan dalam bahasa pemrograman prosedural (C, Pascal, atau Basic) merupakan nilai tambah untuk dapat mempermudah memahami tulisan ini.

==Konvensi Penulisan==
Jika Anda merasa janggal dengan beberapa istilah baku yang digunakan di sini, silahkan tilik Panduan Pembakuan Istilah, Pelaksanaan Instruksi Presiden Nomor 2 Tahun 2001 Tentang Penggunaan Komputer Dengan Aplikasi Komputer Berbahasa Indonesia. Agar tidak membingungkan saat bertukar dengan literal asing, saya tetap mencantumkan juga istilahnya dalam literal asing (biasanya dalam format tanda kurung dengan tulisan cetak miring, misal: lembar data (”datasheet”)). Penggunaan istilah ”microcontroller” akan lebih sering digantikan dengan uC dan ”microprocessor” dengan uP.
Untuk baris kode, saya tuliskan dalam format seperti berikut:

// Alphanumeric LCD Module functions

#asm

  .equ __lcd_port=0x1B ;PORTA

#endasm

#include <lcd.h>

Format penulisan untuk ukuran memori dan penamaan register ditulis seperti berikut:

1 Kbyte, atau 512-x-16 bit. instruction register, DDRA, PORTA, PINA.0.

Tulisan ini saya buat menjadi 8 bagian, dimulai dari bagian 0 hingga bagian 7. Disetiap akhir bagian, akan saya tuliskan senarai rujukan yang digunakan dalam penulisan bagian tersebut. Namun di bagian akhir (bagian 7), semua rujukan saya kumpulkan jadi satu berikut tambahan tautan lainnya untuk mematangkan pengetahun mengenai AVR dan robotika.

===Bagian 0===
Yang sedang Anda baca.

===Bagian 1 – Microcontroller keluarga AVR===
Berisi penjelasan mengenai uC keluarga AVR.

===Bagian 2 – Pemrograman AVR dengan bahasa C===
Membahas cara memprogram AVR dengan menggunakan bahasa C. Penggunaan bahasa C dimaksudkan untuk mempermudah penjelasan. Dibanding assembler, bahasa C lebih mudah dibaca dan dimengerti. Salah satu IDE (”Intregated Development Environment”) yang cukup membantu dalam mempelajari ”microcontroller” AVR RISC 8 bit dengan bahasa C adalah CodeVisionAVR. Sayangnya CodeVisionAVR merupakan program ”shareware” yang memiliki keterbatasan untuk versi ”trial”-nya. Namun versi ”trial”-nya sudah cukup membantu memahami cara memprogram ”microcontroller” AVR 8 bit RISC dengan bahasa C. Alternatif lain adalah menggunakan SDCC (”Small Device C Compiler”) atau winAVR yang gratis dan sumber terbuka. Berpindah dari satu ”compiler” ke ”compiler” lain dalam satu konteks bahasa yang sama (C) tidak terlalu sulit. Kelebihan CodeVisionAVR hanya ada di kemudahan manajemen berkas dan proyek dalam sebuah IDE serta fitur ”code wizard” yang membantu menghasilkan rentetan baris kode untuk keperluan yang umum.

===Bagian 3 – Proyek sederhana dengan ATmega8535===
Proyek sederhana menggunakan ATmega8535 dengan menggunakan bahasa C di IDE CodeVision AVR. Penggunaan ATmega8535 tidak multlak, Anda bisa menggantikannya dengan jenis AVR lainnya. Beberapa proyek sederhana yang akan dibuat: lampu LED berjalan, menampilkan karakter di LCD 2×16, menggunakan PING dan LCD 2×16, PWM untuk motor DC melalui program, dan data PING untuk kendali PWM motor DC.

===Bagian 4 – Komunikasi antara 2 uC===
Komunikasi USART antara 2 microcontroller AVR.

===Bagian 5 – Fuzzy Logic===
Fuzzy Logic

===Bagian 6 – Navigasi robot dengan Fuzzy Logic===
Penerapan Fuzzy Logic untuk navigasi robot menggunakan 6 sensor PING dan 2 uC AVR yang berkomunikasi secara USART.

===Bagian 7 – Informasi Lebih lanjut===
Berisi senarai rujukan yang digunakan dalam keseluruhan penulisan serta tautan yang berisi informasi mengenai AVR dan robotika.

85 thoughts on “Menggunakan 6 Ping dengan 2 Microcontroller AVR 8 bit RISC untuk Navigasi Robot (Bagian 0)

  1. wuih…mas gedex ini punya 4 sayap yah.. jago design..jago pemrograman berbasis web…jago c++…dan ternyata jago juga di dunia robotika.
    salut…mas atas semangat berbaginya.

    nb: gunadarma angkatan berapa mas??

  2. #t33d
    emang burung punya sayap :p
    gw angkatan 02 bro, sampai sekarang masih blm lulus :p, nungguin temen2 gw lulus dulu (alesan)

  3. mas gedex aku ajarin donk!
    mas gedex gmana sih cara belajarnya ,ko bisa c’mua?(wajib djawab)
    mas gedex aku … padamu!

  4. Dex…

    Koq Q ga bisa liat artikelmu ya…

    kayak ga aktif semua

    seperti bagian fuzzy logic koq isinya cuma tulisan “fuzzy logic”

    yang lainnya juga sama, ga ada artikel yang bisa mengobati rasa penasaran terhadap AVR….? tuing tuing ?????

  5. #momogie
    gw jawab ya, banyak yg gw gak bisa, yaitu: main bola, main basket & hampir semua olah raga gw gak bs kecuali gaplek ama olah raga di kamar mandi :p

    #dimjun
    ini masih bagian 0, ini kan artikel berseri, klo dah gw tambah linknya jg ikut bertambah nantinya, sabar ya :)

  6. salut, mantap, weeiiih
    sekalian minta ajarkan bikin web
    biar tambah banyak artikelnya
    dan lupa sama skripsinya :P

  7. cuy code buat servo belom lo masukin? bagusnya pk C or bascom ya?eh sekalian informasi hari sabtu kopdar di bengkel!

  8. Mas Gedex, saya mau tanya. Apa bener AVR lebih tahan noise dibanding MCS-51 ATMEL (89C5x)?

    Kalo bisa reply lewat mail ya…

    Thanks

  9. #Niksen
    Saya tidak tahu secara teknikal mslh noise kedua uC tsb, mungkin bs dicek di datasheet masing-masing. Yang jelas keduanya sudah beda ”core arsitektur”-nya

  10. mas saya salah satu mahsiswa elektronika, belakangan ini saya tertarik dengan proyek avr menggunakan bahasa c, tapi kemudian saya mengalami kesulitan karena seperti yang mas bilang codevision merupakan freeware yang sangat terbatas penggunaanya.
    proyek yang saya buat adalah mencoba membaca mmc/sd card mengguankan avr, akan tetapi library yang digunakan merupakan keluaran gcc makanya saya memilih menggunakan winavr, masalahnya saya tidak familiar dengan sistem makefile oleh karen aitu winavr kemudian saya gabungkan dengan avrstudio 4 yang interfacing nya lebih mudah dipahami.

    setelah mengumpulkan library saya mulai membuat programnya, ketika di compile ada 1 error yang muncul. setelah diperbaiki kok malah semua perintah tidak dikenali oleh software. status errornya “undifine refrence for…”

    saya pikir itu kesalahan program saya, kemudian saya ambil contoh program yang sudah dibuat oleh avrlib dan saya coba compile akan tetapi kasus tersebut terjadi lagi. mungkin penjelasan saya tidak begitu jelas, tapi pleeease tolongin dong…mungkin klo jawabannyakepanjangan di replay ke email saya aja ya terima kasih sebelumnya

  11. mas…
    Aku ora ngerti lo kominikasi dua mikro AVR….
    ada tutorial nya ora???

    matur nuhun yoo….. :)

  12. mas gedex…

    Aku mau tanya program 6 ping))) di avr dong, soalnya setelah aku gabungin koq, programnya gak jalan ya????

    piye toh mas…. matur nuhun yoo :) :) :)

  13. mas tolong minta contoh program dengan C tuk AtMega 16 yo..Klo bisa yang pake LCD…Thanks b4….Krim ke email Q..ni alamat email Q “bibie_12_gitu@yahoo.co.id”

  14. Weleh…. mas gedex aku koq ora di ajari2 toh buat programnya….
    mas gedex cara buat program PWM di codevision gimana toh….
    tolong kirim ke email ku ya : basuki1986@gmail.com

    *** sekedar saran ya mas….
    Sebaik-baik manusia adalah orang yang bermanfaat bagi orang lain
    &
    Sebaik-baik ilmu adalah ilmu yang bermanfaat (diamalkan/diajarkan)

    *** ojo tersinggung yo mas, aku cuma ngingetin….. :)

  15. Mas gedex matur nuhun yo… program nya udah saya coba & berhasil

    tapi kalo motor ku langsung ke avr ku lampu power avr ku berkedip mas, opo terganggu karena proses medan magnet motor…??? tapi aku coba browse di internet ada IC sebelum ke avr itu L293 motor driver, tapi aku belum coba mas… nanti aku cari dulu skematik nya di internet…

    mas gedex, artikel “program 6 sensor ping dengan 2 microcontroller AVR 8 bit RISC untuk navigasi robot” koq gak pernah aktif yo ???

    tolong kirimin artikelnya & source codenya yo mas,,, maaf yo mas ngerepotin lagi…

    mas gedex, fuzzy logic itu apa sih? kalo aku baca di blog itu sejenis microcontroller yo mas??? tolong kirim juga yo mas artikel & source codenya,,,

    Mas gedex matur nuhun yo, terimakasih banyak… sharenya bermanfaat buat aku & teman2 ku yang baru mengenal microcontroller

    mas gedex, iki email ku : basuki1986@gmail.com –> ojo lali yo kirim source code nya ke email ku, makasih mas…

  16. Assalamualaikum….

    mas klo mau belajar pemrograman Bascom AVR dimana ya???????

    kayak nya dsini ga bsa deh….. pie

    mengenai

  17. Kalau mau compile ICC AVR compiler
    1.berikut library-nya bagaimana caranya.
    2.dengan library bukan defaultnya dari pihak ke 3
    bagimana cara “mengarahkan”nya
    3.Sehingga keluar hexa filenya…..??

    best regards and thanx
    tanu

  18. BLOG APAAN NEH, GAK GUNA… SEMUA ARTIKELNYA GAK BISA DI DOWNLOAD !!!

    KALO KASIH ILMU TUH JANGAN SETENGAH-SETENGAH !!!

    DEWO
    —–

  19. mas gmna caranya biar BASCOM-8051 versi demonya biar bisa kompile lebih dari 4K, bisa gk bantu nyariin cracknya. untuk BASCOM, versi 2.13

    tolong ya.

  20. mas mnt program bwt ATMega 8535 u/ mengerakkan driver motor dc servo klo gak salah yg pk PWM tu lho,,driverq pke L293 ,q pke 2 motor,,rencananya motorq tu bs belok kiri kanan,klo belok kiri motor kiri off yg kanan on dan sebaliknya….
    plisss ptg bgt nih krm ke emelq situcandra@gmail.com

  21. mas-mas saya mnta tlong da yg bsa bantu q..

    q gi btuh program mikro MC89S51 untuk serial dg HP siemens M35i
    dan compiler nya..

    kirim ja ke email ku adjie_pml@yahoo.com

    makasih..

  22. bs tolongin ga bikin pengontrol suhu ruangan pake ATMEGA8535
    kalo bisa ma source programnya ya??thx a lot…
    klo ada yang mau bantu kirim donk ke email (dhemaz_cute@yahoo.co.id)

  23. mas gedex aku mau minta tolong nih.Bagaimana Cara memprogram motor servo continuous mereknya GWS memakai bahasa BasCom AVR?.terus mau tanya saya udah coba memprogramnya tapi cuma bisa berputar CW aja gak bisa CCW dan diam.Dan pas dicoba motor servo saya jalannya ngendet-ngendet/gak lancar dan led pada power ngedip-ngedip, ini masalahnya apanya?tolong dibalas secepatnya sebelum tanggal 18 juni 2008 ke heri.goenawan@yahoo.com!terima kasih banyak

  24. mas saya candra awm pingin beljar tentang bascom saya mau beljr n tanyak programnya ADC untuk avr 8535 objeknya adalah perubahan ketinngian air sungai atau data yang masuk ke ADC adlah perubahan ketinggian air sungai gmna ya mas mohon bantuannya tlg bls di email saya terimaksih banyaK mohon bantuannya

  25. mas, sy baru belajar uC. skarang lg bikin pengontrol suhu pake PWM gitu.. Bingung banget neeh…
    sy beli buku tentang ATMEGA pake CodeVisionAVR, ee… ga dikasi program CodeVisionAVR ..
    Bisa minta source program CodeVisionAVR nya…!
    kirim ya ke ghobank84@yahoo.com

  26. mas klo konsep retrieving data antara visual basic sama codevisionavr pake parallel port gmn y..???
    maksud saya…
    dari awal kita memberikan intruksi di interface VB, trus lempar data k codevisionArv, sampe akhirnya AVR ke rangkaian elektronik dan mengeksekusi intruksi yg diberikan..

    makasih mas….
    klo boleh mail ke
    emoholic_oftheyear@yahoo.com
    ato
    repasmandala@gmail.com

    best regards,
    maju terus robotika indonesia.

  27. Mas, ada contoh program bascom AVR ATMega8535 pake PWM untuk mengatur terang redup lampu tungsten g ya. sya coba drivernya pakai triac. kalau ada minta tolong dikirim ke wyd_zahr@yahoo.com ya. atau yang ada kesamaannya dengan aplikasi di atas. trimakasih

  28. mas aq minta tolong dong, untuk sensor tekanan menggunakan apa nya selain mpxm 2202 yang mulainya dari 0 (nol) ?
    thanks

  29. mas program untuk atmega8535 untuk mengontrol motor servo pake bascom gimana ya? minta tolong donk mas…

  30. mas,
    aku sedang nyoba interface AVR8535 dengan HP
    ada kebuntuan nih mas,
    pada saat aku kirim at+cmgs=1, hp ngerespon
    tp pada saat aku kirim deretam pdunya, maka hp ga ngerespon, kira2 kesalahnnya dimana?
    aku kirimnya gini:
    printf(“079126….ampe pdu pesannya”).
    apa gak bboleh digabung gitu ya?
    klo punya programnya, minta ya mas. terutama yang pake C.
    tolong kirim ke rl_east@yahoo.com

    klo ada referensi lain yang bisa membantu juga boleh dikirm k aku donk mas.

    makasih banyak

  31. Om tolong kasih tau dong, kode2/istilah2 yang bisa di ping beserta pengertian2 dan kegunaanya……

  32. hm3, mas gedex di tunggu artikelnya yang fuzzy, buat referensi tambahan,
    dulu pas lomba pernah nyoba pake SRF04 (bukan ping) ada 6, tinggal di trigger 10us terus pulsa yang masuk di baca lebarnya, n dibagi 58us, dah dapet jarak dalam cm,

    bwt komunikasi serial atmega, pernah nyoba pake 3 mikro atmega, tinggal pake uart aja, pilih mana mikro yang maw jadi Tx mana yag mw jadi rx, yang jelas pin Tx mikro 1 di hubungin ama pin Rx mikro kedua, ntar mikro satu yang ngirim data, mikro 2 yang nerima data.
    satu pin Tx bisa dihubungin ke 2 pin Rx, data yang dikirim tetep lancar2 aja,
    sekian, semoga bisa ngebantu

  33. klo servo bisa pake driver luar lg ga??
    saya lagi belajar servo, coba2 buat geser protipe palang pintu
    tp tenyata ga kuat gmn cara ngakalinnya
    servo paralax standar 180 derajat dan berat palang sekitar 1.5kg
    torka servo itu sekitar 3.4kg untuk 5 volt
    gmn cara ngakalinnya biar bs

  34. kalo bisa tolong di bales……
    aku pake 7 us dan itu masuk slave attiny 2313 trus dibaca ama master.
    aku uda pake maju untuk scan maju (menggunakan scan kanan dan scan kiri) dan menggunakan fuzzy dan berhasil tapi kok beda saat aku menggunakan scan kiri atau kanan saja?????
    pertanyaan :
    1. untuk scan kiri atau kanan apa harus biki fuzzy lagi???
    2. berapa pembobotan / data rata2 untuk scan kiri (pembagiannya)????
    3. kalo ada aku minta program jadi atau contoh untuk scan kiri atau kanan yang menggunakan fuzzy???
    aku pake avr.
    tolong mas coz lagi dikejar deathline nichhhh…..
    please….
    bales email fardzack@yahoo.co.id
    di tunggu secepatnya..

  35. Bang boleh mnta listing program sensor uvtron untuk bahasa C. maaf yah Bang ngerepotin. terima kasih sebelum dan sesudahnya

  36. mas mo nanya klo komunikasi antar uC klo jaraknya agak jauh pasti perlu IC buffer kan???

    pakenya IC apa???

    thanx b4!!

  37. mas mo nanya klo komunikasi antar uC klo jaraknya agak jauh pasti perlu IC buffer kan???

    pakenya IC apa???

    Trus cari data komunikasi antar uC dimana mas???
    thanx b4!!

  38. mau tanya…
    klu rangkaian drifer lampu220 untuk mengatur pwm nya
    tau ngk..???
    penting bangt mas ..
    makasi ya…

  39. mas bisa kirim code untuk PING Srf04 yang fungsi sebagai penghalang untuk mendteksi penghalang kiri kanan dalam jarak 2cm

    makasih banyak ya masss

    pleaseeee

  40. mas, boleh minta source code untuk nyimpen data dari sensor menggunakan sd/mmc..kalo bisa dalam format codevision,saya pake ATMEGA8535..please!!!makasih ..tolong kirim ke email: sahid.achmadi@gmail.com

  41. mas,numpang curhat yak,,
    aku mw bikin komunikasi antar uC dg 1 master 3 slave pake ATMEGA8535 en komunikasi serial pake transistor,dah aku coba konekin 2uC aja kok blom b’hasil ya mas,mohon bantuannya en kalo bisa minta source codenya ya,pliss help me.. hehe.. email:nova_dech@yahoo.co.id

  42. pertanyaan saya sama dengan nova,…
    saya pengen tahu bagaimana caranya menghubungkan antara 2 buah uC atau lebih…
    mohon bantuan…!!

  43. assalamualaikum…
    klo ada temen yang punya contoh program untuk komunikasi 2 mikro(master dan slave), boleh dunk saya minta.
    email:bagus_yunanto@ymail.com

  44. Asslm, mas aq lg buat LF pake atmega 8535, dah jadi tinggal kurang program pengatur kecepatan kedua motor, Tolong kasih tau program penggunaan Servo pada Bascom AVR, tolong y mas , Robot harus jadi sebelum pameran Wisuda STTN BATAN Yogya tgl 13 Agustus 2009,,tlg kirim k emailq:dedy_020700195@yahoo.com, Terima kasih byk seblumnya
    wassalam,

  45. mohon bantuannya…
    gimana ya bikin program Fuzzy di AVR…?
    fuzzy itu kan banyak logika if nya jadi takutnya program di AVR itu terlalu sibuk..sehingga kontrolnya tdk real time lagi…
    mohon bantuannya ya. tolong kirim ke spayderman@breakthru.com terimakasih….

  46. mas bisa minta bagian 5 dan 6 g? dah muter-muter neh
    aq blm bisa temukan metode yang sip untuk fuzzy navigasi robot.
    boleh y.. syukur sekalian source code nya ^_^ kirim aj di musthofaisal@gmail.com Thanks b4

  47. mas,,minta bantuannya dong..
    saya ingin membuat pintu geser dengan sensor PING,,
    pintu bergeser dihubungkan dengan motor dc,,
    saya perlu bantuan utk program dari sensor ping dan motor dc..
    terima kasih sebelumnya mas,,

  48. mas, boleh minta source code untuk nyimpen data dari sensor menggunakan sd/mmc..kalo bisa dalam format codevision,saya pake ATMEGA8535..
    oia klo disimpen di mmc formatnya apa????
    please!!!makasih ..tolong kirim ke email: f1_supersaiya@yahoo.com

  49. tolong mas..
    saya msih ngerjain TA yg judulnya fuzzy pada navigasi mobile robot..
    tolong kirim via email dong tulisan diatas..
    yang versi lengkapnya..
    saya mohon sekali mass..
    cos.. saya kemaren gunain at89c55.. tapi gak cukup kapasitasnya dgn besarnya program fuzzy saya,..

    mungkin mas gedex bsa bantu saya

  50. tolong mas..
    saya msih ngerjain TA yg judulnya fuzzy pada navigasi mobile robot..
    tolong kirim via email dong tulisan diatas..
    yang versi lengkapnya..
    saya mohon sekali mass..
    cos.. saya kemaren gunain at89c55.. tapi gak cukup kapasitasnya dgn besarnya program fuzzy saya,..

    mungkin mas gedex bsa bantu saya
    adeine_28@yahoo.com

  51. mas saya asrul dari surabaya lagi belajar avr. saya dan teman lagi buat pwm pakai atmega 8 dengan code vision tapi kok berulang kali gagal.
    apa bisa minta contoh source nya buat pwm atmega 8 ?
    terima kasih

  52. mas, bisa minta tolong kasih contoh program pengontrol suhu menggunakan atmega16 (kontrol PI)
    terima kasih….!

  53. Mas, bleh mnta tlong krimkn contoh linsting/kode source program kmunikasi antar port Atmega 8535 (komunikasiRX/TX) dengan menggunakan prigram Code Vision AVR dan linsting/kode source program utk menggerakkan motor servo

  54. mas…tolong bangat kirim list program fuzzy pake bhs c untuk pengaturan motor DC belok kiri dan kanan terhadap kepekatan gas,,(mencari sumber gas ) contoh list programnya aj mas…tlng bngat ya mas bls ke email aq,,tanks namgat mas

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>