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
 

Program lampu lalu lintas 3 jalur ( jl.seruni,mataram.NTB)

  sekarang janu akan posting tentang program lampu lalu lintas,soalnya kemarin janu praktek cara program lampu lalu lintas 3 jalur.......menggunakan program BASKOM AVR karena bahasanya yg mudah,dari bada janu banyak cerita mendingan langsung aja ke programnya :

$regfile = "m8535.dat"
$crystal = 12000000

Config Porta = Output
Config Portc = Output

Do = untuk menjalankan
Porta = &H0C
Portc = &H01
Waitms 400 = waktu lampu merah dan hijau
Porta = &H0A
Portc = &H01
Waitms 200 = waktu lampu kuning
Porta = &H21
Portc = &H01
Waitms 400
Porta = &H11
Portc = &H01
Waitms 200
Porta = &H09
Portc = &H04
Waitms 400
Porta = &H09
Portc = &H02
Waitms 200
Loop = mengulang perintah DO

End                                                         'end program

ket : tulisan merah adlh programnya.

berikut tabel kebenaranny

ket : -M1,M2,M3 = lampu merah
        -K1,K2,K3 = lampu kuning
        -H1,H2,H3 = lampu hijau

gambar lalu lintasnya di Jl.seruni,mataram.NTB
  
Sekian postingan sy semoga bermanfaat........

sumber : januarman maulana putra

Project Input Output Led dengan Switch Berbasis ATmega8535

   Lama dah gak nongol,, salam blogger kali aku mau shared tentang Microprocessor,, Kamu tau Atmega8535 ??? nah itu lah kegiatan yang dibahas kali ini..
Saya mau share sebuah Porject yang aku buat yaitu Project Led Berjalan dengan Switch yang berbasis Microprocessor Atmega8535 tadi. Langkah pembuatannya cukup simpel ja kok. Aku tunjukan layout rangkaian di bawah ini..,
Kalau pengen file yang udah jadi saya juga punya tinggal download layout design :


Dalam pembuatan Project ini saya menggunakan Software yang diberi oleh kakak kelas di Kampus,, Softwarenya berupa “CodeVisionAVR” dan “Proteus 7 Pro”. Project ini sengaja aku buat,, karena iseng-iseng pengen pelajari lebih dalam tentang microprocessor karena aku suka dengan robotik. Terus sekalian lah kalau ada yang pengen belajar atau mau sharing ke aku biar lebih bisa ^_^ hehe,,,
Baiklah kita mulai langkah pembuatannya.
Pertama aku buka Project nyala Led dengan switch berbasis mircoprocessor ATmega8535 nya yang dah dibuat dengan Proteus. Nyala led didasarkan berdasarkan switch yang kita tekan. Jika :
  • Switch 1 ditekan led nyalanya berjalan dari kanan ke kiri.
  • Switch 2 ditekan led nyalanya berjalan dari kiri ke kanan.
  • Switch 3 ditekan led nyalanya berkedip semua.
  • Switch 4 ditekan led nyalanya berkedip bergantian.
  • Switch 5, 6, 7, 8 kosong bisa diisi sendiri terserah kalian .... hehehe ^_^
Baru kemudian buka CodeVision AVR.. dapat kalian liat tampilan Code Vision AVR dibawah ini

buat new project.. File > New > Project.




Confirm “Yes”.











Pilih AVR Chip Type “AT90,Atmega,FPSLIC”.

Maka akan terbuka Code Wizard AVR ... seperti di bawah ini

Ubah Tab “Chip” dengan nama “Atmega8535”, dan Clock 12,000000 MHz. Clock merupakan sebuah crystal yang digunakan..dalam rangkaian kita.. kemudian kita buka tab Ports.











Buat PORT A sebagai Out karena keluaran Led dari Poteus kita tadi PORTA dan PORTB merupakan inputan Switch.. bila sudah Generate , Save and Exit.

Dalam save kita dianjurkan untuk Save sebanyak 3 kali. Beri nama project yang sama setiap kali kita Membuat Project.. bila sudah kalian akan mendapatkan sebuah kode-kode berupa Program C.. dimana kita udah tau tengan program C kan....



Di atas merupakan kode Bahasa C yang telah didapatkan tadi.. kode di atas belum selesai kita harus menambahkan sebuah Program Kerja pada Atmega8535 tadi untuk keperluan kita yaitu Membuat Led nyala dengan menekan Switch yang ada.. bila switch 1 ditekan Led nyala dari kanan ke kiri, switch 2 ditekan Led nyala dari kiri ke kanan, switch 3 ditekan Led nyala berkedip-kedip dan seterusnya.. kode yang kita tambah yaitu sebagai berikut :

Tambahkan kode #include <delay.h> dibawah kode #include <mega8535.h>
#include <mega8535.h>
#include <delay.h>
Lalu cari kode 
while (1)
      {
      // Place your code here
      }
Letak dari kode diatas paling bawah sendiri.. masukkan sebuah kode “IF else” bahasa C pada kurung kurawal,, bahasa C yang saya buat hanya sederhana berupa perintah dari Input dan Output yang telah kita buat tadi diatas.

if (PINB.0==0)

       {

        PORTA=0b00001110;

        delay_ms(5);

        PORTA=0b00001100;

        delay_ms(5);

        PORTA=0b00001001;

        delay_ms(5); 

        PORTA=0b00000011;

        delay_ms(5); 

        PORTA=0b00010111;

        delay_ms(5); 

        PORTA=0b00111111;

        delay_ms(5); 

        PORTA=0b01101111;

        delay_ms(5);

        PORTA=0b11001111;

        delay_ms(5);  

        PORTA=0b10001111;

        delay_ms(5);

       }

       else if (PINB.1==0)

        {

         PORTA=0b10001111;

         delay_ms(5);

         PORTA=0b11001111;

         delay_ms(5);

         PORTA=0b01101111;

         delay_ms(5);

         PORTA=0b00111111;

         delay_ms(5);

         PORTA=0b00010111;

         delay_ms(5);

         PORTA=0b00000011;

         delay_ms(5);

         PORTA=0b00001001;

         delay_ms(5);

         PORTA=0b00001100;

         delay_ms(5);

         PORTA=0b00001110;

         delay_ms(5);

        }

        else if (PINB.2==0)

         {

          PORTA=0b00001111;

          delay_ms(15);

          PORTA=0b11110000;

          delay_ms(15);

         }

         else if (PINB.3==0)

          {

           PORTA=0xFF;

           delay_ms(15);

           PORTA=0x00;

           delay_ms(15);

          }

          else

           {

            PORTA=0x0F;

           }
Setelah itu COMPILER dengan menekan tombol pada Keyboard yaitu “SHIFT + F9” jangan lupa dalam kita membuat sebuah project kalau udah selesai harus di compiler akar program yang kita buat bisa diakses jika tidak maka program kita tidak berjalan.. setelah selesai langkah berikutnya merupakan langkah akhir yang jadi penentu Project kita jadi atau gagal.. kita buka Proteus kita tadi yang telah dibuat..

Pada blog IC microprocessor Atmega8535 kita “Klik Doble” ,,
Pada Program File : ...... isi file yang udah kita buat dan disimpan dengan AVR tadi pada folder Exe... file nya berupa “.hex” lalu setelah itu OK..
kemudian jalankan apakah program yang dibuat tadi berjalan dengan baik atau tidak...dengan menekan tombol Play pada Project Proteus..
Saya udah persiapkan Project Jadi yang saya buat bila pengen mengetahuinya ,, berupa file download. Jika ingin bisa download ja link di bawah ini




Download :

Itu tadi merupakan langkah-langkah yang kita lakukan untuk membuat Project Led Nyala dengan menekan Switch yang ada. Banyak Project-project lainnya yang pastinya mengasikkan seperti Trafict Led, Seven Segment, dan masih banyak lagi.. 
 
sumber : http://lbukhori.blogspot.com/2011/10/project-input-output-led-dengan-switch.html