Custom Search
Showing newest posts with label PIC Robotic. Show older posts
Showing newest posts with label PIC Robotic. Show older posts

Wednesday, December 13, 2006

PIC ROBOTIC




ROBOT DENGAN PIC16F84


Robot tidaklah mesti yang canggih sebagaimana yang sering kita lihat pada film-film Hollywood seperti pada Terminator atau Star Wars. Kita pun dapat membuat robot yang relatif lebih sederhana. Salah satu jenis robot yang sering diminati oleh mahasiswa kita adalah Mobile Robot. Sesuai dengan namanya robot ini berbentuk seperi mobil dengan kemampuan autonomous.


Oleh karena ukuran robot mobile ini relatif kecil, maka diperlukan alat kontrol ( robot ) yang sesuai. Yaitu yang berukuran cukup kecil sehingga dapat dipasang pada robot tanpa kesulitan. Mikrokontroler PIC16F84 cukup kecil untuk aplikasi ini. Sehingga cocok dipakai untuk kontrol robot.






Salah satu jenis Mobil Robot yang sering dibuat adalah jenis Line Follower. Robot mobil ini akan mengikuti suatu garis ( line ) berwarna hitam pada alas berwarna putih ( ataupun sebaliknya ). Selain itu juga mobil robot yang dapat mengikuti dinding ( Wall Follower ).




Beberapa Robot buatan Penulis
Penulis telah membuat beberapa jenis Mobile Robot diantaranya adalah Mobile Robot yang dikontrol PC ( Komputer ), Robot Siput dan Line Follower.

Mobil Robot Terkontrol PC
Mobil Robot ini menggunakan mobil mainan yang memiliki remote yang berharga murah. Kita kemudian membuat program dengan bahasa Delphi dan membuat antarmuka antara LPT port ( paralel port ) dengan Remote mobil mainan. Jika kemudian kita membuka program delphi tersebut pada PC, maka kita dapat menggerakkan mobil dengan hanya mengontrol tampilan pada PC ( dengan mengaktifkan tombol radio Maju/Mundur dan Kiri/Kanan ).


Rangkaian antarmuka antara PC dan Remote

Adapun progam Delphi yang harus dibuat untuk mengotrol dari PC adalah sebagai berikut.
unit Robot;
interface
uses
Windows,Messages,SysUtils,Classes,Graphics,Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure CheckBox4Click(Sender: TObject);
private
{ Private declarations }
public
function bacaport(addr:word) : byte;
procedure tulisport(addr:word;data : byte);
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function TForm1.bacaport(addr:word) : byte;
var tmp:byte;
begin
asm
mov dx,addr;
in ax,dx;
mov tmp,al;
end;
bacaport := tmp;
end;
procedure TForm1.tulisport(addr :word; data : byte);
begin
asm
mov dx,addr;
mov al,data;
out dx,al;
end;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
var tmp : byte;
begin
tmp := bacaport($378);
if checkbox1.checked then
tulisport($378,tmp or $1)
else tulisport($378,tmp and $fe);
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
var tmp : byte;
begin
tmp := bacaport($378);
if checkbox2.checked then
tulisport($378,tmp or $2)
else
tulisport($378,tmp and $fd );
end;
procedure TForm1.CheckBox3Click(Sender: TObject);
var tmp : byte;
begin
tmp := bacaport($378);
if checkbox3.checked then
tulisport($378,tmp or $4)
else
tulisport($378,tmp and $fb);
end;
procedure TForm1.CheckBox4Click(Sender: TObject);
var tmp : byte;
begin
tmp := bacaport($378);
if checkbox4.checked then
tulisport($378,tmp or $8)
else
tulisport($378,tmp and $f7);
end;
end.




Gambar Antarmuka Remote yang telah jadi.

Robot Siput
Robot siput berjenis mobile robot juga, namun tidak menggunakan roda. Poros dari motor dc yang digunakan dihubungkan langsung dengan lantai sehingga robot siput dapat berjalan. Karena menggunakan motor dc maka dipergunakan ic H-Bridge L293D. Adapun blok diagram dari ic H-Bridge ini adalah seperti pada gambar berikut.





Gambar Pin Diagram H-Bridge L293D


Rangkaian Robot siput ini diberikan dibawah ini.


Gambar Rangkaian Robot Siput


Robot siput ini menggunakan Photo sensor untuk mendeteksi halangan yang ada didepannya. Bila ada halangan, maka robot ini akan berputar untuk menghindari halangan. Adapun program untuk robot ini adalah sebagai berikut.


;Program Robot Siput
;Programer : Moh.Ibnu Malik,ST
;=============================
processor 16f84
status equ 0x03
portb equ 0x06
trisb equ 0x86
trisa equ 0x85
porta equ 0x05
rp0 equ 0x05
org 0x00
Init
bsf status,rp0 ; ke halaman 1
clrf trisb ; portb sebagai output
movlw b'00000001' ; RA0 sebagai input(sensor)
movwf trisa
bcf status,rp0 ; kembali ke halaman 0
cek_sensor
btfss porta,0 ; cek sensor
goto Belok
Jalan ; jalan lurus
bsf portb,0 ; enable motor1 (RB0 =H)
bcf portb,1 ; RB1 = L
bsf portb,2 ; RB2 = H
bsf portb,3 ; enable motor2 (RB3=H)
bcf portb,4 ; RB4 = L
bsf portb,5 ; RB5 = H
goto cek_sensor
Belok ; robot belok
bcf portb,0 ; disable motor1 (RB0=L)
bcf portb,1
bsf portb,2
bsf portb,3 ; enable motor2
bcf portb,4
bsf portb,5
goto cek_sensor
end



Untuk lebih jelasnya anda dapat membeli buku berjudul "Membuat Robot Dengan Mikrokontroler PIC16F84" terbitan Gava Media Yogyakarta. Alamat : Klitren Lor GK III/15 Yogyakarta. Phone/Fax : 0274-558502 HP : 08122597214.

Keterangan langjut ? klik disini

Video Robot