PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cảm biến (http://www.picvietnam.com/forum/forumdisplay.php?f=18)
-   -   code cho robot dò đường (http://www.picvietnam.com/forum/showthread.php?t=5844)

trongtienk43 23-02-2010 10:18 AM

code cho robot dò đường
 
pác nào có code của cái này cho em xin về tham khảo.Em dùng PIC
và chương trình dichf la CCS!

trungduc 24-02-2010 12:48 PM

1 Attachment(s)
Mình đã làm 1 line following robot với 5 sensor (để chơi ) bạn có thể tham khảo.

ungthh30490 23-03-2010 06:45 PM

Mình cũng có một số file robo các bạn download về mà tham khảo:
http://www.ziddu.com/download/912258...GNGIN.doc.html
http://www.ziddu.com/download/912258...oline.doc.html
http://www.ziddu.com/download/912258...SOSNH.doc.html

hcmut.khoamaisi 25-03-2010 06:04 PM

link die rồi bạn ơi!!!xem lại giùm mình

doireuphong 01-04-2010 07:50 PM

link die roi , xem lai jum minh voi

delta21 01-04-2010 09:31 PM

mình down dc mà

stoneboy 22-11-2010 10:16 AM

sao bác không giởi mạch lun. giởi code pó tay
jkjkjk

duongquyet88hn 25-12-2010 10:46 PM

ai co cho minh xin cai code cua robot do duong voi minh dang lam ma chan qua

thongdtvtk7a 16-05-2012 01:20 PM

ai có code viết bằng C ko cho mình xin với
gủi cho mình xin qua gmail :thongit.08@gmail.com

tuonghiendk7.1 31-08-2012 03:32 PM

Bạn tham khảo code này nhé ! Mình viết cho pic8f4431 điều xung 2 động cơ bạn tham khảo



// BANH_TRAI "PWM0";BANH_PHAI "PWM2";
#INCLUDE <18F4431.h>
#FUSES HS,NOWDT,NOPROTECT,NOLVP
#USE DELAY(clock=20000000)
//***** KHAI BAO THANH GHI *********

#byte PORTA =0xF80
#byte PORTB =0xF81
#byte PORTC =0xF82
#byte PORTD =0xF83
#byte PORTE =0xF84
#BIT CB1 = PORTA.0
#BIT CB2 = PORTA.1
#BIT CB3 = PORTA.2
#BIT CB4 = PORTA.3
#BIT CB5 = PORTA.4
#BIT CB6 = PORTA.5
#BIT CB7 = PORTE.0
#BIT CB8 = PORTE.1
#BIT NUTNHAN = PORTE.2
#BIT BANHPHAI = PORTB.0 //BANH TRAI PWM0
#BIT BANHTRAI = PORTB.2 //BANH PHAI PWM2
INT SOCB_THU_DC,I=0,DEM_T0;
INT16 BANH_TRAI [8] = {1000,980,945,900,850,800,750,720};
INT16 BANH_PHAI [8] = {1000,985,960,920,880,830,775,745};
VOID DEM_CHECK_POINT (VOID);
VOID TOC_DO (VOID);
VOID DEM_CHECK_POINT (VOID)
{
SOCB_THU_DC = 0;
IF(CB2==0) SOCB_THU_DC ++;
IF(CB3==0) SOCB_THU_DC ++;
IF(CB4==0) SOCB_THU_DC ++;
IF(CB5==0) SOCB_THU_DC ++;
IF(CB6==0) SOCB_THU_DC ++;
IF(CB7==0) SOCB_THU_DC ++;
IF(SOCB_THU_DC >=3) I++;
DO{}
WHILE((CB2==0&&CB3==0&&CB4==0)||(CB3==0&&CB4==0&&C B5==0)||(CB5==0&&CB6==0&&CB7==0)||(CB4==0&&CB5==0& &CB6==0));
}
VOID TOC_DO (VOID)
{
DEM_CHECK_POINT ();
WHILE(TRUE)
{
DEM_CHECK_POINT ();
IF(CB2==0&&CB3==1&&CB4==1&&CB5==1&&CB6==1&&CB7==1)
{
SET_POWER_PWM0_DUTY (BANH_TRAI [5]);
SET_POWER_PWM2_DUTY (BANH_PHAI [1]);
}
IF((CB2==1&&CB3==0&&CB4==1&&CB5==1&&CB6==1&&CB7==1 )||(CB2==0&&CB3==0&&CB4==1&&CB5==1&&CB6==1&&CB7==1 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [4]);
SET_POWER_PWM2_DUTY (BANH_PHAI [1]);
}
IF((CB2==1&&CB3==0&&CB4==1&&CB5==1&&CB6==1&&CB7==1 )||(CB2==1&&CB3==0&&CB4==0&&CB5==1&&CB6==1&&CB7==1 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [3]);
SET_POWER_PWM2_DUTY (BANH_PHAI [1]);
}
IF((CB2==1&&CB3==1&&CB4==0&&CB5==1&&CB6==1&&CB7==1 )||(CB2==1&&CB3==1&&CB4==0&&CB5==0&&CB6==1&&CB7==1 )||(CB2==1&&CB3==1&&CB4==1&&CB5==0&&CB6==1&&CB7==1 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [5]);
SET_POWER_PWM2_DUTY (BANH_PHAI [5]);
}
IF((CB2==1&&CB3==1&&CB4==1&&CB5==0&&CB6==0&&CB7==1 )||(CB2==1&&CB3==1&&CB4==1&&CB5==1&&CB6==0&&CB7==1 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [1]);
SET_POWER_PWM2_DUTY (BANH_PHAI [4]);
}
IF(CB2==1&&CB3==1&&CB4==1&&CB5==0&&CB6==1&&CB7==1)
{
SET_POWER_PWM0_DUTY (BANH_TRAI [1]);
SET_POWER_PWM2_DUTY (BANH_PHAI [3]);
}
IF((CB2==1&&CB3==1&&CB4==1&&CB5==1&&CB6==1&&CB7==0 )||(CB2==1&&CB3==1&&CB4==1&&CB5==1&&CB6==0&&CB7==0 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [1]);
SET_POWER_PWM2_DUTY (BANH_PHAI [5]);
}
}
WHILE(I==2||I==3||I==6||I==7||I==10||I==11||I==14| |I==15)
{
DEM_CHECK_POINT ();
IF(CB2==1&&CB3==1&&CB4==1&&CB5==1&&CB6==1&&CB7==0)
{
SET_POWER_PWM0_DUTY (BANH_TRAI [7]);
SET_POWER_PWM2_DUTY (BANH_PHAI [2]);
}
IF((CB2==1&&CB3==1&&CB4==1&&CB5==1&&CB6==0&&CB7==0 )||(CB2==1&&CB3==1&&CB4==1&&CB5==1&&CB6==0&&CB7==1 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [7]);
SET_POWER_PWM2_DUTY (BANH_PHAI [3]);
}
IF((CB2==1&&CB3==1&&CB4==1&&CB5==0&&CB6==1&&CB7==1 )||(CB2==1&&CB3==1&&CB4==0&&CB5==1&&CB6==1&&CB7==1 )||(CB2==1&&CB3==1&&CB4==0&&CB5==0&&CB6==1&&CB7==1 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [7]);
SET_POWER_PWM2_DUTY (BANH_PHAI [7]);
}
IF(CB2==1&&CB3==1&&CB4==1&&CB5==0&&CB6==0&&CB7==1)
{
SET_POWER_PWM0_DUTY (BANH_TRAI [7]);
SET_POWER_PWM2_DUTY (BANH_PHAI [4]);
}

IF((CB2==1&&CB3==0&&CB4==0&&CB5==1&&CB6==1&&CB7==1 )||(CB2==1&&CB3==0&&CB4==1&&CB5==1&&CB6==1&&CB7==1 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [4]);
SET_POWER_PWM2_DUTY (BANH_PHAI [7]);
}
IF((CB2==0&&CB3==0&&CB4==1&&CB5==1&&CB6==1&&CB7==1 )||(CB2==0&&CB3==1&&CB4==1&&CB5==1&&CB6==1&&CB7==1 ))
{
SET_POWER_PWM0_DUTY (BANH_TRAI [2]);
SET_POWER_PWM2_DUTY (BANH_PHAI [7]);
}

}
}

// CHUONG TRINH CHINH //

VOID MAIN ()
{

SETUP_POWER_PWM_PINS (PWM_BOTH_ON, PWM_BOTH_ON, PWM_BOTH_ON, PWM_BOTH_ON, );
SETUP_POWER_PWM(PWM_CLOCK_DIV_4|PWM_FREE_RUN,1,0,2 50,0,1,0);
SET_TRIS_A (0XFF);
SET_TRIS_B (0B00000000);
SET_TRIS_C (0B10001000);
SET_TRIS_D (0B00000011);
SET_TRIS_E (0B111);
I=0;
// WHILE(TRUE)
// {
// DEM_T0 = GET_RTCC ();
// LCD_PUTCMD (0X80);
// PRINTF ( LCD_PUTCHAR ,"SO CP = %D",DEM_T0);
// IF(NUTNHAN == 0) GOTO BATDAU;
SET_POWER_PWM0_DUTY (BANH_TRAI [1]);
SET_POWER_PWM2_DUTY (BANH_PHAI [1]);
// }
// BATDAU:I=0;
WHILE(TRUE)
{
DEM_CHECK_POINT ();
TOC_DO ();
}
}


Múi giờ GMT. Hiện tại là 02:47 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam