Posts Tagged ‘robot’

AN-0203 Cara menggunakan Joystick PS2 pada mikrokontroler dengan Delta Robotic Studio

Saturday, November 11th, 2017

Untuk mengendalikan robot baik mobile robot, android, hexapod ataupun drone, joystick adalah sebuah perangkat HID yang seringkali digunakan. Joystick PS2 memiliki 14 input digital dan 4 buah analog input yang cukup variatif untuk memberikan masukan pada robot. Artikel berikut ini akan membahas cara menggunakan joystick ps2 pada mikrokontroler agar dapat digunakan untuk aplikasi robotik.

Di sini Joystick PS2 yang kita gunakan telah dimodifikasi dengan mengganti konektornya menjadi DB9 agar lebih mudah diperoleh konektor pasangannya

Cara Menggunakan Joystick PS2 pada mikrokontroler

Joystick PS2 yang dimodifikasi dengan konektor DB9

Cara menggunakan Joystick PS2 pada mikrokontroler

Deskripsi Pin Joystick PS2

Data, pin ini berfungsi untuk mengirim data dari joystick ps2 ke mikrokontroler, data dikirim dengan bentuk serial sinkron 8 bit fallin edge.
Command, pin ini berfungsi untuk mengirim data dari mikrokontroler ke joystick ps2, data yang di kirim berbentuk serial sinkron 8 bit fallin edge.
Vcc, Joystick ps2 membutuhkan power suplly sebesar 5 volt.
ATT, adalah pin yang digunakan untuk memilih josystick ps2 mana yang aktif ( select ).
Clock, berfungsi untuk sinkronisasi pengiriman dan penerimaan data antara mikrokontroler dan joysick ps2. Sinyal clock dibangkitkan oleh mikrokontroler.
Acknolwedge adalah sinyal yang dikirim oleh joystick ps2 apabila telah menerima data dari mikrokontroler, ACK akan berlogika low kira-kira satu siklus clock pada saat data 8 bit telah terkirim.

Transmisi data

Semua transmisi data antara mikrokontroller dan joystick adalah 8 bit serial sinkron falling edge ( data masuk pada saat clock berubah dari tinggi ke rendah ). Jika mikrokontroller ingin mengambil data dari joystick maka mikrokontroller harus membuat pin ATT berlogika low dan mengirim data sebagai start command (0×01). Setelah start commad diterima oleh joystick maka joystick akan mengirim data yang menunjukkan ID dari joystick ( 0×41 untuk joystik digital dan 0×73 untuk joystick analog red mode ). Pada saat josytick mengirim ID mikrokontroller juga mengirim data ( 0×42 ) untuk meminta data dari joystick setelah data ( 0×42 ) diterima oleh joystick maka joystisk membalas dengan mengirimkan data ( 0×52 ) sebagai pemberitahuan bahwa data akan dikirim, setelah itu joystik mengirimkan data 6 x 8 bit yang berisi informasi tombol mana saja yang ditekan ( semua tombol adalah aktif low ).

Cara menggunakan joystick ps2 pada mikrokontroler

timing-diagram-joystick-ps2

Cara menggunakan joystick ps2 pada mikrokontroler

data-joystick-ps2

Namun untuk pemula, pengambilan data joystick ps2 yang menggunakan transmisi synchronous serial tersebut bukanlah hal yang mudah. Untuk itu Delta Robotic Studio saat ini telah menyediakan makro untuk antarmuka joystick ps2  sehingga pembuatan program untuk menggunakan joystick ps2 dapat dilakukan dengan mudah karena menggunakan visual dan flowchart.

Cara menggunakan joystick ps2 pada mikrokontroler

Makro Joystick PS2

Walaupun pada gambar di atas tampak bahwa makro yang dibuat menggunakan skrip dalam assembler, bukan berarti pengguna harus menguasai bahasa assembler, karena pengguna hanya cukup memasang makro  tersebut pada flowchart saja. Hanya saja pengguna tingkat advance yang menguasai bahasa assembler akan diperbolehkan untuk mengedit skrip tersebut.

Software Delta Robotic Studio dapat didownload di link berikut

Update Makro dan Library untuk aplikasi ini ada di link berikut

Update yang dilakukan adalah:

  • Library DS1307
  • Library Joystick
  • Revisi board file ST-51 dan TRN-02
  • Tambahan makro-makro LCD, DS1307 dan Joystick

File Flowchart Aplikasi Joystick dapat didownload di link berikut

    DELTA ELECTRONIC, Paulus Andi Nalwan, ST

    AN-0201 Merancang Robot KRCI/KRPAI Beroda dengan Sistem Fuzzy Logic (bagian 2)

    Thursday, September 10th, 2015

    Setelah kita mengetahui bahan-bahan yang digunakan maka pada kesempatan kali ini kita mulai membahas bagian perancangan robot. Berikut adalah bagian-bagian dari algoritma Robot KRCI kategori beroda.

    Teknik Jelajah Ruangan

    Proses penjelajahan ruangan dilakukan dengan menelusuri dinding-dinding ruangan untuk mencari ruangan yang mengandung titik api. Teknik penjelajahan dilakukan dengan menghitung jarak robot terhadap dinding-dinding ruangan. Untuk aplikasi Robot KRCI ini digunakan 6 buah sensor yang ditujukan pada 6 arah yaitu 1. Kiri, 2. Serong kiri, 3. Depan, 4. Serong Kanan, 5. Kanan dan 6. belakang.

    Sensor yang digunakan adalah Sensor Ultrasonic HCSR04 dan Sensor Infrared GP2Y0A21. Sensor Ultrasonic digunakan untuk mengatasi gangguan berupa dinding kaca yang dapat mengacau sensor infrared dan Sensor Infrared digunakan untuk mengatasi gangguan berupa dinding tidak beraturan.

    Artikel AN0185 Algoritma Robot KRCI Menjelajah Ruangan dengan Fuzzy telah menjelaskan teknik Fuzzy Logic pada aplikasi menjelajah ruangan dengan menggunakan Software Fudge. Pada kesempatan kali ini kami membahas teknik perancangan Fuzzy Logic tersebut dengan menggunakan Software Delta Robotic Studio yaitu sebuah Software IDE yang dirancang oleh Delta Electronic untuk membuat program mikrokontroler dengan menggunakan Sistem Flowchart.

    Selain disain Flowchart, Delta Robotic Studio juga memiliki fitur Disain Fuzzy Logic. Pada dasarnya sistem Fuzzy Logic yang digunakan pada aplikasi ini adalah menentukan gerakan robot berdasarkan kondisi jarak robot terhadap dinding dari dan diukur dari 6 arah. Untuk itu pada awalnya didifenisikan 6 buah input yang diberi nama Sensor Kiri (~Kiri), Sensor Serong Kiri (~SKiri), Sensor Depan (~Depan), Sensor Serong Kanan (~SKanan), Sensor Kanan (~Kanan) dan Sensor Belakang (~Belakang).

    Setiap sensor terlebih dahulu didefinisikan member functionnya dalam kategori ~dekat (sudah terlalu dekat dengan dinding), ~sesuai (pada jarak yang aman), ~jauh (di luar batas jarak aman) dan ~kosong (sangat jauh).

    Kemudian Output Membership Function didefinisikan sebagai berikut

    Setelah itu kita dapat memasukkan rule-fule untuk aplikasi ini satu persatu. Untuk mempermudah pembuatan rule akan lebih mudah bila dilakukan langsung di kondisi lapangan.

    1. Download Buka Program KRCI3.flc dan download ke robot

    2. LCD akan menampilkan jarak-jarak tiap sensor

    3. Letakkan robot di lapangan dan perhatikan jarak-jarak tiap sensor serta tentukan robot harus bergerak ke mana. Contoh bila ~kiri dekat, ~skiri dekat, ~depan dekat  maka sudah pasti robot harus berbelok ke kanan

    Setelah rule-rule dirasa cukup atau ingin mencoba reaksi rule maka gabungkan rule-rule ini dengan Source Code Robot KRCI dengan melakukan proses compile dengan menekan tombol Compile & Build.

    Rule dan source code akan tergabung dalam file Hex dan dapat didownload ke robot.  Rule dapat diedit apabila masih ada yang kurang dari gerakan robot saat dicoba.

    Teknik Pendeteksi Pintu Ruangan

    Setiap ruangan diberi tanda dengan garis putih, untuk mengetahui apakah robot sudah mencapai pintu ruangan dilakukan dengan menambahkan makro sensor garis sehingga terbentuk decision di flowchart krci.flc sebagai berikut

    Di sini saat Robot KRCI mendeteksi garis maka ditempatkan Makro Robot Stop yang akan menghentikan robot. Selanjutnya Smart UVTRON diaktifkan untuk mencari titik api.

    Apabila titik api ditemukan, maka Smart UVTRON akan memadamkan dan robot mundur meninggalkan ruangan. Namun bila titik api tidak ditemukan, maka robot langsung mundur meninggalkan ruangan.

    Pada aplikasi dasar di file krci3.flc ini memang Robot KRCI hanya mencari titik api di pintu dan mundur kembali tanpa memasuki ruangan. Dengan Sistem Flowchart, pengguna dapat dengan mudah mengubah algoritma Robot KRCI tanpa harus mengenali pemrograman mikrokontroler, contohnya saat titik api tidak ditemukan robot tetap maju menjelajah ruangan hingga ditemukan pintu berikutnya.

    Teknik Pencarian Titik Api

    Dengan bantuan Delta Smart UVTRON maka Robot KRCI ini tidak memerlukan algoritma yang rumit untuk melakukan pencarian titik api, bahkan proses scanning titik api juga dapat dilakukan sambil Robot KRCI tetap menjelajah ruangan. Robot KRCI hanya cukup memerintahkan Delta Smart UVTRON aktif atau tidak saja.

    Saat Smart UVTRON aktif  maka servo pada Smart UVTRON akan bergerak mencari titik api. Titik api dianggap ditemukan setelah diperoleh intensitas api sesuai nilai yang telah disetting pada Smart UVTRON.  Kipas akan aktif hingga titik api dianggap padam.

    Setelah titik api dianggap padam, Smart UVTRON akan memberitahukan ke Robot KRCI bahwa api telah padam. Dalam File KRCI3.flc ini, Robot KRCI diatur untuk mundur sebanyak 50x celah encoder terdeteksi, putar kanan sebanyak 100 celah encoder terdeteksi, maju dan kembali menjelajah ruangan.

    Customize Macro

    Bagi pengguna tingkat advance yang sudah mengenali pemrograman mikrokontroler juga diperkenankan untuk mengedit source code makro dengan cara sebagai berikut:

    - Arahkan mouse ke daftar makro di kiri layar

    - Klik kanan mouse dan klik edit

    - Maka tampilah isi makro seperti pada gambar di bawah ini

    Di sini source code maupun Icon makro dapat diedit.

    Paulus Andi Nalwan, Delta Electronic

    Download

    - File Flowchart KRCI3.flc

    - Software Delta Robotic Studio

    Untuk Robot Siap pakai dapat dibeli di sini

    AN-0199 Merancang Robot KRCI/KRPAI Beroda dengan sistem Fuzzy Logic (bagian 1)

    Wednesday, September 9th, 2015

    Artikel berikut ini akan membahas aplikasi Robot KRCI yaitu robot pemadam api yang biasa digunakan pada Kontes Robot Cerdas Indonesia dengan teknik-teknik yang telah disesuaikan dengan aturan-aturan KRCI.

    Sebelum membahas mengenai teknik perancangan, terlebih dahulu perlu diketahui bahan-bahan yang digunakan.

    Wild Thumper Gear Box motor ratio 75:1

    Robot KRCI beroda bergerak dengan menggunakan Motor DC dan dalam hal ini kita gunakan Wild Thumper Gear Box Motor yang mempunyai torsi 8 Kg dengan RPM 133. Untuk mengetahui jumlah putaran motor dapat ditambahkan encoder yang mendeteksi jumlah perpotongan celah yang terjadi.

    Wild Thumper Encoder

    Wild Thumper Encoder adalah encoder yang sudah didisain sesuai dengan konstruksi motor Wild Thumper

    Pololu BCM Wheel

    Merupakan Roda yang didisain sesuai dengan as Wild Thumper Motor dengan diameter 60mm

    SST-06 Sub System 06 30A DC Driver

    Merupakan Kit Driver Motor produksi Delta Electronic yang mampu mengendalikan dua buah motor dengan arus maksimal 30A. Modul ini juga memiliki mikrokontroler sehingga dapat mengatur sendiri mode kerjanya sebagai DC Control atau Servo Control. CPU Robot cukup mengirimkan perintah-perintah melalui serial dan Sub System ini akan mengatur gerakan motor sesuai perintah tersebut.

    ST-51 Small System AT8951 + USB Downloader

    Merupakan Sistem Minimum AT89S51 yang paling ekonomis dan sudah dilengkapi dengan USB Downloader yang kompatibel dengan Delta Robotic Studio, AVR Studio, Code Vision dll

    HC-SR04 Ultrasonic Proximity Sensor

    Merupakan Sensor Ultrasonic pengukur jarak yang berfungsi untuk mengukur jarak robot terhadap dinding. Sensor ini dapat mengatasi kondisi dinding kaca karena tidak terpengaruh dengan pantulan cahaya.

    GP2Y0A21 Infrared Object Detector

    Merupakan Sensor Infrared Pengukur jarak yang berfungsi untuk mengukur jarak robot terhadap dinding. Sensor ini dapat mengatasi kondisi dinding uneven (dinding tak rata)

    DST Navi Range Finder & Navigation Sensor

    Merupakan Sensor Controller yang menangani akses ke 8 Sensor Ultrasonic, 8 Sensor GP2Y0A21 dan Digital Compass. Namun dalam aplikasi kali ini hanya digunakan 6 Sensor saja.

    Delta Smart UVTRON

    Merupakan sistem sensor api yang dilengkapi motor servo sehingga dapat melakukan scanning posisi api tanpa harus menggerakan robot. Juga terdapat High Speed Fan yang dapat memadamkan api dari jarak maksimum 100 cm.

    DSF-01 Delta Single Line Follower

    Berfungsi sebagai sensor penjejak garis putih dan akan memberikan kondisi logic 0  saat mengenai garis putih dan 1 saat di bagian hitam.

    Berikut adalah video klip percobaan pertama dari Robot KRCI Beroda

    Paulus Andi Nalwan, Delta Electronic

    AN-0198 Dasar Robotika 3 – Kerangka Robot

    Tuesday, May 27th, 2014

    Kerangka robot berdasarkan jenisnya terdiri dari:

    Kerangka Robot Vehicle

    Robot Vehicle adalah jenis robot beroda seperti pada Delta Robo Kits. Berikut adalah bagian-bagian dari kerangka Delta Robo Kits

    Robot Vehicle biasanya memiliki roda, berikut adalah roda yang diproduksi oleh Delta Electronic yaitu Delta Robo Wheel V2 yang memiliki bagian-bagian sebagai berikut:

    Kerangka Robot Walker

    Robot walker adalah robot yang digerakkan oleh kaki, konstruksi yang
    paling mudah adalah robot berkaki enam yang didisain dengan
    menggunakan motor DC di mana gerakan memutar akan dikonversi
    menjadi gerakan melangkah pada robot.

    Robot Walker Sederhana

    Untuk robot walker yang lebih kompleks, gerakan setiap kaki bukan lagi menggunakan gerakan memutar namun gerakan sudut yang dilakukan oleh motor servo. Sebagai contoh adalah robot laba-laba DH-18

    Kerangka Robot Appendage

    Robot Appendage didisain menyerupai bentuk lengan dan berfungsi
    untuk memindahkan barang.

    Paulus Andi Nalwan, ST Delta Electronic

    Hardcopy

    Dapatkan versi hardcopy disertai cara-cara membuat robot di sini

    AN-0193 Dasar Robotika 1 – Motor DC

    Sunday, March 24th, 2013

    Pada sebuah robot, motor ini merupakan bagian penggerak utama di mana hampir setiap robot pasti selalu menggunakan motor DC. Kecuali beberapa robot yang menggunakan pneumatic, muscle wire atau motor AC.

    Motor DC terdiri dari sebuah magnet permanen dengan dua kutub dan kumparan, cincin belah yang berfungsi sebagai komutator (pemutus arus)

    1. Arus mengalir dari sisi kiri cincin belah ke sisi kanan. Arus ini akan dilanjutkan ke kumparan yang terkait pada cincin belah
    2. Arus mengalir dalam kumparan menimbulkan medan magnet dan membentuk kutub-kutub magnet pada kumparan
    3. Kutub magnet yang sama dengan kutub magnet permanen akan saling tolak menolak dan kumparan akan bergerak memutar hingga kumparan berada pada posisi di mana kedua kutubnya berbeda dengan kutub magnet permanen.

    Fase 1 Motor DC

    Fase 2 Motor DC

    1. Perputaran kumparan yang terkait pada cincin belah akan mengakibatkan perubahan polaritas pada kumparan karena sikat-sikat (brush) yang dialiri listrik terhubung pada sisi cincin belah yang berbeda
    2. Perubahan polaritas kumparan juga mengakibatkan perubahan kutub pada kumparan sehingga kumparan kembali bergerak memutar.
    3. Proses tersebut terjadi berulang-ulang sehingga kumparan akan berputar secara kontinyu selama aliran arus terjadi pada kedua kutub sikat.

    Arah putaran motor DC dapat diubah dengan mengubah polaritas aliran arus yang terhubung ke sikat-sikatnya. Sedangkan kecepatan putar motor tergantung dari berapa besar arus yang mengalir. Paulus Andi Nalwan, Delta Electronic

    Hardcopy

    Dapatkan versi hardcopy disertai cara-cara membuat robot di sini

    Buku Robot Dasar

    Artikel-artikel pendukung

    AN0182 Membangun Sistem Mekanik Pada Robot KRCI kategori beroda

    AN0181 Membangun Rangkaian Elektronik Robot Beroda

    AN0043 Pengaturan Arah Motor DC

    Bahan-bahan pendukung

    AN0172 Membangun Sistem Navigasi dengan DST-NAVI sebagai Sub System Sensor dan DST-AVR sebagai Sistem Mikrokontroler

    Saturday, August 13th, 2011

    Aplikasi robot seringkali membutuhkan navigasi di mana robot harus mengetahui ke mana arah gerakan dilakukan. Seperti pada robot pemadam api pada KRCI di mana robot harus bergerak menyusuri ruangan-ruangan, dalam hal ini sistem navigasi sangat dibutuhkan untuk memandu gerakan robot tersebut.

    DST-NAVI adalah merupakan sebuah sub system yang mengatur pengambilan data-data dari sensor jarak (ultrasonik maupun infrared) dan sensor kompas. Dengan mengetahui posisi robot terhadap dinding-dinding ataupun sudut terhadap arah mata angin maka dapat ditentukan ke mana robot harus bergerak.

    Pada aplikasi ini digunakan Modul DST-AVR sebagai otak robot dan data-data sensor akan ditampilkan secara bergantian pada LCD berupa data jarak dengan menggunakan teknik infrared dari 8 sensor GP2D12 atau GP2Y0A21, teknik ultrasonik dari 8 sensor SRF-05 dan sensor kompas CMPS09 / 10

    Modul pendukung artikel ini adalah:

    - DST-NAVI

    - DST-AVR

    - LCD

    - Infrared Range Finder GP2D12

    - Ultrasonic Range Finder SRF05

    - CMPS09 Digital Compass atau

    - CMPS10 Digital Compass

    Software pendukung:

    - Microcontroller Source Code (Compile by AVR Studio)

    Artikel dapat didownload di AN0172

    AN0167 ROBOT PEMADAM API DENGAN SENSOR API HAMAMATSU UVTRON R9454

    Saturday, August 13th, 2011

    Artikel berikut ini membahas robot pemadam sederhana dengan menggunakan sensor api UVTRON R9454 yang menggunakan teknik ultraviolet. Pembahasan pada kesempatan kali ini adalah proses mencari titik api dan pemadamannya. Pada kesempatan lebih lanjut akan kita bahas bagaiman robot tersebut menjelajah ruangan mencari titik api tadi

    Modul-modul pendukung:

    Delta Robo Kits V2.2

    Sensor Api UVTRON R9454 + Driver

    Relay 5V

    Dioda 1N4001

    Resistor 1K

    Robotic Battery Pack

    Software pendukung:

    Microcontroller Source Code

    Artikel dapat didownload di AN0167

    Teknik Rem pada Delta Robo Kit

    Friday, March 27th, 2009

    AN0150

    Pada aplikasi-aplikasi tertentu kadang-kadang dibutuhkan robot berhenti di suatu jarak tertentu terhadap obyek. Contohnya apabila robot akan mengambil ancang-ancang untuk memerintahkan lengan mengambil obyek atau aktifitas parkir. Robot harus berhenti pada jarak tertentu dari obyek atau batasan parkir tersebut.

    Detail article dapat di lihat di sini

    Modul pendukung :

    Robot Hexapod Warrior Automatic Mode

    Friday, March 27th, 2009

    AN0149

    Pada artikel sebelumnya telah dibahas robot warrior version yang dikendalikan dengan joystick secara wireless maka pada aplikasi ini akan dibahas robot hexapod warrior yang bergerak secara otomatis sehingga dapat digunakan sebagai lawan bermain dari robot warrior yang dikendalikan dengan joystick.

    Detail article dapat di lihat di sini

    Modul pendukung :

    Kendali Robot melalui RF dengan D-JOY Controller

    Tuesday, November 11th, 2008

    AN0140

    Joystick PS2 adalah sebuah media pengendali robot yang cukup handal. Dibandingkan dengan PC Keyboard yang kurang fleksibel dan keypad yang mempunyai jumlah tombol terbatas media ini jauh lebih sesuai. Namun berbeda dengan PC Keyboard maupun keypad, joystick membutuhkan masukkan perintah terlebih dahulu untuk mengirimkan datanya.

    Pada saat mikrokontroler ingin mengambil data dari joystick maka mikrokontroler harus memberitahu joystick bahwa datanya akan diambil dengan memberikan logika 0 pada pin ATT dan mengirimkan data sebagai  perintah mulai atau start command (0×01).
    Setelah perintah mulai diterima oleh joystick maka joystick akan mengirim data yang menunjukkan ID dari joystick ( 0×41 untuk joystik digital dan 0×73 untuk joystick analog red mode ). Pada saat yang bersamaan dengan josytick mengirim ID mikrokontroler juga mengirim data ( 0×42 ) untuk meminta data dari joystick
    Saat data  ( 0×42 ) diterima maka joystick akan membalas dengan mengirimkan data ( 0×52 ) sebagai pemberitahuan bahwa data akan segera dikirim.
    Setelah itu joystik mengirimkan data 6 x 8 bit yang berisi informasi tombol mana saja yang ditekan ( semua tombol adalah aktif low ).

    Detail article dapat di lihat di sini