Membuat Robot Explorer Hexapod

karya "Widodo Budiharto"
           Guest Professor Univ. de Bourgogne, Prancis
                                                 

Pendahuluan
Pada proyek robot kali ini, penulis memaparkan cara membuat robot berkaki 6 (hexapod) menggunakan 3 buah sensor, yaitu 1 sensor  jarak SRF04 (Sonar Range Finder) dan 2 bh  Sharp GP2D12.  Dijamin dechhh penasaran dan  menarik untuk dicoba J.


Blok Rangkaian
Robot ini bergerak berdasarkan informasi dari ketiga sensor jarak.  Robot ini diharapkan dapat melakukaneksplorasike daerah yang dilaluinya, untuk memberikan informasi kepemiliknyamenggunakan kamera wireless misalnya, oleh karena itu robot ini dinamakan Explorer Hexapod.  Gambar di bawah ini menampilkan blok rangkaian yang akan dibuat:


 





                                                       Gambar 1.  Blok rangkaian robot Explorer Hexapod

Bahanbahan
Berikut ini ialah bahanbahan yang diperlukan, yang paling penting tentunya ialah kerangka dari kaki hexapod ini, yang dapat Anda buat sendiri atau membeli kit yang sudah jadi :
1.       2 buah servo motor HS311
2.       Body dan kaki hexapod
(Dapat membeli kit kaki hexapod lengkap dengan 2 bh servo HS311)
3.       Min. System  ATmega 8535, ATmega16 atau Atmega32
4.       Driver Motor DC 293D/ deKits SPC DC Motor
5.       1 sensor jarak  ultrasonic SRF 04 (jarak 3cm-3m)
6.       2 sensor jarak infrared SharpGP2D12(10cm -80cm)
7.       Tempat baterai 9V 2bh
Berikut ini ialah konstruksi dari kaki hexapod standar, yang digerakkan dari putaran motor servo continuous.  Servo ini dikendalikan dari port B.0-3  melalui Driver motor  yaitu kit DC motor Driver menggunakan IC L293D (dapat menggunakan juga kit dekits SPC DC Motor)  atau jika ingin lebih kuat lagi menggunakan IC H bridge  L298. Perlu diingat, kaki servo ini ada 3 pin, cukup gunakan 2 kaki yang menggerakan motor DC di dalam servo tersebut saja.


 





                            
                                                                      Gambar 2.  Susunan  sisi  kaki hexapod
Servo HS311 merupakan servo dengan torsi yang cukup besar untuk menggerakkan robot dengan beban maksimal 1.5kg.

Cara kerja
Pertama, kita lihat dulu bagian sensor.  Sensor SRF04 digunakan untuk mengetahui jarak depan robot, apakah ada penghalang atau tidak, yang mampu mendeteksi jarak dari 3cm hingga  3 meter. Sensor ini bekerja berdasarkan prinsip gelombang ultrasonic. Pencari jarak ini bekerja dengan cara memancarkan pulsa suara dengan kecepatan suara (0.9 ft/milidetik) berfrekwensi 40 KHz.  Keluaran sensor ini dihubungkan ke Port C.0 dan Port C.1, dan dengan nilai trigger input sebesar 10 uS pada pulsa TTL.   Alasan mengapa digunakan sensor ini, ialah karena sensor  jarak ini paling banyak digunakan pada Kontes Robot Cerdas di Indonesia, sehingga pembaca pemula menjadi familiar. Anda dapat menambah sensor ini hingga 4 buah untuk digunakan pada  sisi kanan, kiri dan belakang robot biar lebih akurat.
                                                                      
                                                Gambar 3.  Susunan kaki SRF04

Sedangkan 2 sensor infrared GP2D12 di sisi samping kanan dan kiri dapat mengukur jarak sejauh 10cm-  80cm dengan output analog, sehingga dapat langsung dihubungkan ke port A.0 dan port A.1  dari mikrokontroler AVR tersebut.  Karakteristik dari sensor ini tidak linear, oleh karena itu idealnya perlu digunakan look up table untuk mengolah raw data dari sensor tersebut.
Hasil pembacaan sensor-sensor jarak ini diolah oleh mikrokontroler, untuk memutuskan gerakan yang akan dilakukan apakah maju, mundur atau belok. Dengan memutarnya servo, menyebabkan bagian kaki yang terhubung ke servo  bergerak bergantian sehingga robot dapat berjalan.  

Explorer.bas:
‘Program Demo Robot Explorer Hexapod
‘By Mr. Widodo Budiharto
‘Univ. de Bourgogne 2007
deklarasi fungsi dan variabel
Declare Sub Initialize_ultrasonic()
Declare Function Ultrasonic_depan() As Integer
Dim Jarakdepan As Integer
Dim Jaraksampingkanan As Word
Dim Jaraksampingkiri As Word
Dim W As Word
Config Portb = Output
Config Portd = Input
Config Portc = Output
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'konfigurasi ADC
Start Adc
Call Initialize_ultrasonicpanggil fungsi
Do
baca SRF04 untuk jarak depan
Print "jarak sampingkiri" ; Jaraksampingkiri
‘Demo jika ada halangan, maka belok kiri
 If Jarakdepan > 40 Then
   Portb = 8                                   'maju
Wait 2 ‘delay
Else if jarak depan <40 and jaraksampingkanan >150 then
    Portb = 0     'belok kiri 
    Wait 2
End If
Loop
End
Function Ultrasonic_depan() As Integer
                                                 ' set initial state pin trigger
                                      ' buat pulsa  5us @ 4 MHz
                     ' ukur return pulse
End Function
Sub Initialize_ultrasonic inisialisasi  sensor ultrasonik
 
End Sub

Gambar berikut merupakan hasil yang sudah jadi yang dapat berjalan dengan cukup cepat dan kuat karena menggunakan servo torsi tinggi dari Hitec.

                   
               A.                                                        B.
                      Gambar 4. Robot in action a). Tampak samping     b). Tampak depan
 berikut adalah video robot hexapod
sumber : http://www.toko-elektronika.com dan http://www.youtube.com "Robot Hexapod Malik"

Download EAGLE versi 6.4

  helllo sob sekarang janu memberikan sedikit app yang membantu sobat untuk membuat sebuah rangkaian dimana rangk.tersebut dibuat di papan PCB,nama programnya adalah EAGLE mungkin para sobat sudah ada yg tau.
  Keterangan: EAGLE Layout Editor mudah digunakan, alat yang ampuh untuk merancang papan sirkuit tercetak (PCB). Ini terdiri dari editor skematik, layout editor dan autorouter yang tertanam dalam antarmuka pengguna tunggal. Oleh karena itu ada kebutuhan untuk mengkonversi netlists antara skema dan layout.

berikut contohnya

 


berikut link downloadnya :
untuk pengguna WINDOWS klik dibawah

untuk pengguna LINUX klik dibawah

untuk pengguna MAC klik dibawah

sekian dari sy wassalam ( Januarman Maulana P. )

SHIFT REGISTER

  hello sobat sekarang janu akan mempos rangkaian SHIFT REGISTER karana ini tugas untuk besok dari guru dan buat temen2 kelas bisa dilihat disini.Register ini merupakan kelompok FF (flip-flop)yg dapat dipakai untuk menyimpan dan mengolah unformasi dlm bentuk linier,shift ini pd dasarnya merupakan koneksi seri dari FF yg menggunakan clock untuk memindah data yg ada pd FF sebelumnya dan dipindah kedata yg ada pada FF selanjutnya.
Gbr rangkaian SHIFT REGISTER
 shift ini dapat digunakan sbg penyimpanan sementara atau delay dari deretan informasi.Register geser diterapkan dgn fungsi yg berbeda-beda pd sistem komputer.nah itu adalah penjelasan tentang SHIFT REGISTER.
   Gbr.SHIFT REGISTER menggunakan ic TTL type 7476 dan ic NOT type 7404

Macam-macam type SHIFT REGISTER yg digunakan sbb:
- pergeseran data
- masukan data serial dgn keluaran seri / SISO (serial input serial output)
- masukan data serial dgn keluaran paralel / SIPO (serial input paralel output)
- masukan data paralel dng keluaran serial / PISO (paralel input serial output)
- masukan data paralel dng keluaran paralel / PIPO (paralel input paralel output)

 Dan juga gambar tersebut bisa dicoba di komputer sobat cukup dgn mendonload app ElectronicWorkbench,app ini bisa membuat rangkaian Flip-flop hampir sama dgn livewire,untuk masalah download tenang aja sob ada di bawah ini tinggal di klik.....


sekian yg dapat janu sampaikan wassalam......(Januarman maulana p.)

Rangkaiana driver motor (mobil remote kontrol)

  selamat siang para sahabat janu,sekarang janu akan memberikan sebuah rangkaian yg mungkin sebagian tau walaupun sebagian sudah tau tetapi mungkin masih ada yg belum tau.ini adalah rangkaian driver motor DC atau boleh dibilang rangkaian mobil remote kontrol.......
tidak perlu panjang lebar langsung aja ke TKP
Gbr,rangkaian mobil remote kontrol.
Bahan-bahan yang di gunakan :
- Dioda 1 A                                     = 14 buah
- Transistor TIP 31 NPN                 = 4 buah
- Transistor TIP 32 PNP                  = 4 buah
- Swich                                            = 4 buah
- resistor 470                                   = 4 buah

Gbr diatas menggunakan app Livewire yg belum punya app live wire bisa didownload sini

                                                 DOWNLOAD LIVEWIRE

rangkaian tersebut adalah mobil remote kontrol sederhana,mungkin sekian yg bisa janu sampaikan bila ada salah kata mohon maaf sekian wassalam ( Januarman Maulana P.)

Tutorial Membuat Program C untuk microcontroller AVR dengan AVR Studio

AVR Studio yang digunakan  pada artikel disini  masih versi 4,
 pada saat tulisan ini dibuat  AVR studio versi 5  sudah dirilis.
Untuk membuat program AVR dengan AVR Studio 4 anda memerlukan 2 aplikasi:
AVR Studio 4 dan  WinAVR
  1. Download AVR Studio  di:  http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 setelah didownload install aplikasi tsb.
  2. Download WinAVR di :  http://winavr.sourceforge.net/     setelah didownload install file tsb.
Setelah kedua File tsb anda install anda sudah bisa membuat program melalui AVR Studio baik asembler maupun bahasa C .
Memulai Membuat Program C  dgn AVR Studio 4:
tahapannya antara lain:
  • Membuat Project baru
  • Mengkompile code C ke file  *.HEX
  • Men Debug code program C  dgn simulator
  • Memasukan file HEX ke  Microcontroller.
  1. Membuat Project AVR Studio 4:
Jika anda sudah menginstall dari menu klik Atmel AVR tools  -> AVR Studio 4
akan muncul menu sbb:
avr studio 1
project baru avr studio
lalu klik -> New Project
akan muncul menu sbb:
memberi nama project baru
Memberi Nama Project Baru
klik AVR GCC dan beri nama untuk projeck baru  lalu klik next
maka akan muncul menu sbb:
memilih type AVR
memilih type microcontroller AVR
klik AVR Simulator  dan Atmega8535   , lalu klik Finish. akan muncul menu sbb:

copy code program C berikut ke kotak code program

#include "avr/io.h" // avr header file untuk IO ports 

int main()

{
unsigned char i; // temporary variable
DDRA = 0x00;     // set PORTA sebagai  input
DDRB = 0xFF;     // set PORTB sebagai output
PORTB = 0x00;    // Port B di beri nilai awal 0 

i = PINA;        // baca PORTA.,simpan nilainya di i  

PORTB = i;       // kirim nilai i ke  PORTB.          

}
 
2. Mengkompile kode C ke file HEX
klik menu Build->Build All
build program
Compiling code program C ke file HEX
sampai proses ini kita berhasil membuat file HEX .  File tsb yang akan kita masukan kedalam microcontroller.
3. Memeriksa Program ( Debugging) dengan Simulator
Klik Debug->Start Debugging,
lalu tekan  F11 .
debugging
Debugging
Untuk setiap penekanan  F11, tiap baris code  akan diperiksa dan perubahan nilai register pada code program akan ditampilkan pada visaualisasi sebelah kiri spt tampak pada gambar diatas.
4. Memasukan  file *.hex ke  chip  Microcontroller
sebelumnya anda hubungkan alat dowloader /programmer ke PC anda.

cek nomor port pada device manager
pada contoh ini saya menggunakan AVR USB ISP Downloader DT-HQ buatan inovative electronic surabaya.
buka menu tools->program AVR->connect

menu konek ke downloader/programmer
maka akan muncul:

pilih Com2 sesuaikan spt no port untuk ISP pada device manager
Menu dowloader

menu memasukan *.hex ke Chip Microcontroller

sumber :http://pccontrol.wordpress.com

Program lampu lalu lintas 4 jalur (Jl.majapahit,mataram.NTB)

   hello para sobat janu tronik,kemarin kita sudah membahas lampu lalu lintas 3 jalur di seruni sekarang janu akan memberikan program lampu lalu lintas untuk 4 jalur seperti di Jl.majapahit mataram NTB,tidak perlu panjang lebar langsung aja.
    Gbr.lampu lalu lintas 4 jalur :

Tabel kebenarannya :
 programnya sbb :
$regfile = "m8535.dat"
$crystal = 12000000

Config Porta = Output
Config Portb = Output

Do
Porta = &H0C
Portb = &H09
Waitms 400
Porta = &H0A
Portb = &H09
Waitms 200
Porta = &H21
Portb = &H09
Waitms 400
Porta = &H11
Portb = &H09
Waitms 200
Porta = &H09
Portb = &H21
Waitms 400
Porta = &H09
Portb = &H11
Waitms 200
Porta = &H09
Portb = &H0C
Waitms 400
Porta = &H09
Portb = &H0A
Waitms 200

Loop
End
                                     "end program"
 ket : tulisan merah adalah programnya
sekian yg dapat janu sampaikan kurang lebihnya mohon maaf........

sumber : JANUARMAN MAULANA PUTRA

BASCOM AVR

BASCOM, berdiri untuk compiler BASIC, yang dikembangkan oleh Mark Alberts adalah keluarga cross-compiler yang dapat menerjemahkan BASIC bersama dengan beberapa ekstensi proprietary ke dalam bahasa mesin eksekusi untuk beberapa arsitektur prosesor untuk embedded system. Untuk mendukung arsitektur mikrokontroler AVR dan keluarga MCS-51. The cross-compiler berjalan di bawah Microsoft Windows dan menawarkan bersama dengan fungsi terjemahan juga lingkungan pengembangan dan emulator dari sistem sasaran yang memungkinkan pengujian di bawah sistem pembangunan. Interface lebih lanjut tersedia, yang memungkinkan untuk mengirimkan kode yang dihasilkan dalam sistem target. The cross-compiler hanya tersedia secara komersial. Sebuah versi demo yang tersedia untuk bebas dari kendala sehingga kode yang dihasilkan hanya dapat memiliki jangka waktu maksimum empat kilobyte. Jika tidak, demo ini berfungsi penuh, sehingga Bascom versi demo untuk beberapa kecil Atmel mikrokontroler (misalnya ATtiny) demikian cukup karena mereka hanya memiliki memori program kecil.
BASCOM mendukung banyak ekstensi proprietary yang memenuhi persyaratan tertentu dalam sistem embedded. Perbandingan dengan varian BASIC sederhana secara signifikan diperpanjang set tipe data dasar termasuk bit tunggal yang juga diwakili seperti itu, bilangan bulat 1, 2, atau 4 byte, baik dengan dan tanpa tanda-tanda dan angka floating point dengan 32 atau 64 bit sesuai dengan standar IEEE 754 . Deklarasi array dengan tipe data dasar adalah mungkin. Sebuah varian khusus bukti yang akan dimensioned array juga dalam deklarasi string yang implisit diakhiri oleh byte dengan nilai 0.
Karena target arsitektur floating-point tidak mendukung diri mereka sendiri, hal ini dilakukan oleh entitas milik BASCOM perpustakaan, yang juga mencakup fungsi trigonometri tertentu. Perpustakaan juga mencakup lebih banyak ruang untuk arsitektur AVR penawaran untuk mendukung TCP / IP socket dan output ke layar kristal cair.
Selanjutnya, embedding kode assembly adalah mungkin dalam teks program BASIC. Hal ini dilakukan baik dengan menggunakan nama perintah yang sesuai dari bahasa mesin, asalkan mereka tidak bertentangan dengan kata-kata yang sudah disediakan, atau dengan embedding petunjuk assembler kata kunci khusus. Untuk memiliki akses langsung ke variabel dasar dalam konteks pengajaran bahasa mesin adalah ketentuan bahwa banyak alamat dari variabel di register.

 berikut toturial pembuatan program pd bascom AVR:

sember : wikipedia.org