Báo cáo Bài tập lớn robot dò đường đi theo vạch trắng dùng AT89C52
          
        
            
               
            
 
            
                
                    Từ vị trí ban đầu đến vị trí (8,13) rẽ phải 900
, đi thẳng đến toạ độ (8,9) 
rẽ phải 900
đi thẳng đến tọa độ(8,5) rẽ trái 900
đi thẳng tiếp xúc với cầu thì 
xếp gạch vào cột .Nếu trên cột đã đầy gạch thì robot sẽ tìm đến tháp của 
mình để đặt hai viên gạch đó.
Điều đặc biệt của các ro bot là khi gặp cản hoặc cột đã xếp đầy gạch thì 
chuyển đến vị trí thuận lợi nhất để sếp gạch. 
Về mạch điện tử:
Mạch cảm biến ta dùng cặp led thu phát hồng ngoại , ta phải chỉnh sao cho 
đầu ra khi gặp vạch trắng tương ứng với mức 1(điệnáp khoảng 4v) nền xanh 
tương ứng với mức 0(điện áp khoảng 1.3v)
                
              
                                            
                                
            
 
            
                 15 trang
15 trang | 
Chia sẻ: lvcdongnoi | Lượt xem: 2939 | Lượt tải: 0 
              
            Bạn đang xem nội dung tài liệu Báo cáo Bài tập lớn robot dò đường đi theo vạch trắng dùng AT89C52, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
BÁO CÁO BÀI TẬP LỚN 
Robot dò đường đi theo vạch 
trắng dùng AT89C52 
Danh sách: 
 Trần Quang Trung_lớp ĐT2K48 
Phan Đức Long_lớp ĐT2K48 
Nguyễn Phú Sơn_lớp ĐT2K48 
Bùi Duy Minh_lớp ĐT2K48 
Nguyễn Ngọc Huy_lớp ĐT2K48 
Cù Huy Toàn_lớp ĐT2K48 
I.1/Ý tưởng: 
Giả thiết rằng các cảm biến có thể nhận biết được : 
 Các vạch trắng trên sân 
Giao của các vạch (nút) 
Các cột tháp và các cầu trên không 
Rôbot sẽ tìm đường đi và xếp gạch vào các tháp và cầu trên không dựa trên: 
Chỉ dò đường và đi theo các vạch trắng trên sân 
Quay đầu rẽ phải rẽ trái tại các nút 
Thực hiện tìm đường (trên tính toán) và (trên thực tế ) để tìm 
đến cầu và tháp từ một vị trí xác định đến nút có cầu trên 
không và tháp sao cho có lợi nhất. 
Khi gặp trường hợp đối phương đã xếp gạch vào cầu thì ta có 
thể cho robot của mình đẩy gạch của đối phương ra hoặc tìm 
vị trí xếp gạch khác ưu tiên vị trí có điểm cao hơn. 
Sau khi hoàn thành nhiệm vụ robot tự động rẽ sang sân đối 
phương để cản đường. 
Mỗi robot sẽ mang hai gạch ,hành trình của robot thứ nhất sẽ 
đi nhanh xếp hai gạch vào cầu trung tâm ,hai robot còn lại 
chiếm hai cầu phải và trái, mỗi con cũng mang hai gạch.Cấu 
tạo của ba robot này tương tự nhau ,khác nhau chỉ về lập trình 
đường đi. 
I.2/ Bài toán 
Giả sử tại thời điểm ban đầu robot đứng tại vị trí nút nào đó 
có tọa độ (x0,y0) 
x0 là vạch ngang y0 là vạch đứng . 
Hướng mà robot so với mục tiêu cần chiếm(hướng trong ra 
ngoài ,ngoài vào trong, thuận kim đồng hồ, nghịch kim đồng 
hồ) 
Vị trí (tọa độ) các nút chứa tháp ,cầu trên không là xác định . 
Danh sách các vùng không thể đi được( gặp biên, gặp vùng 
cấm) 
Giải bài toán khi gắp vật cản( do cản của đối phương ,do robot 
tự động của mình bị chết) sao cho robot vẫn đến được mục 
tiêu. 
I.3/ Giải bài toán: 
Ta sẽ gắn sân với một hệ tọa độ gốc là góc vuông trái so với 
robot viêc dò tìm đường đi dựa vào viêc tính toán trên hệ tọa 
độ đó.Đó chính là ma các nút ,đó là giao điểm của vạch nằm 
ngang và dọc 
Ta gắn hệ tọa độ cho mặt sân như vậy thì nếu ta đặt robot tự động tại nút 
trong ô xuất phát nó sẽ có tọa độ là(2,1) cầu trung tâm là(10,10) cầu trái 
là(10,15)cầu phải là(10,5) tháp phải(10,1) tháp trái là(10,19). Giả thiết các 
cảm biến nhận biết được các vạch trắng 
Khi qua một vạch trắng bộ đếm tăng thêm một tương ứng i ,j là bộ theo 
hàng ngang và hàng dọc.(i=i+1,j=j+1) và tọa độ của ro bot khi đó là x=xo+i, 
y=yo+j. 
Do sân có vùng cấm ta lập trình cho robot tự động như sau: 
 Ro bot trung tâm: 
 Từ vị trí ban đầu robot đi thẳng đến tọa độ(2,13) rẽ phải 900 đến tọa độ 
(8,13) rẽ phải 900 đi thẳng đến tọa độ (8,10) rẽ trái khi tiếp xúc với cầu 
trung tâm sẽ cho gạch đẩy vào cột, sau đó lùi lại (8,10) rồi đứng yên khi đã 
xếp được gạch hoặc sẽ quay lại đĩa trước vung cấm thả gạch khi bị đối 
phương cản hoặc trên cột bị xếp đầy gạch. 
 Robot trái 
 Từ vị trí ban đầu đến tọa độ(2,15) rẽ phải 900 đi thẳng đến khi tiếp xúc với 
tháp thì đẩy gạch vào cột. 
Ro bot phải : 
 Từ vị trí ban đầu đến vị trí (8,13) rẽ phải 900 , đi thẳng đến toạ độ (8,9) 
rẽ phải 900 đi thẳng đến tọa độ(8,5) rẽ trái 900 đi thẳng tiếp xúc với cầu thì 
xếp gạch vào cột .Nếu trên cột đã đầy gạch thì robot sẽ tìm đến tháp của 
mình để đặt hai viên gạch đó. 
Điều đặc biệt của các ro bot là khi gặp cản hoặc cột đã xếp đầy gạch thì 
chuyển đến vị trí thuận lợi nhất để sếp gạch. 
Về mạch điện tử: 
Mạch cảm biến ta dùng cặp led thu phát hồng ngoại , ta phải chỉnh sao cho 
đầu ra khi gặp vạch trắng tương ứng với mức 1(điệnáp khoảng 4v) nền xanh 
tương ứng với mức 0(điện áp khoảng 1.3v) 
Mạch in: 
Mạch điều khiển động cơ dùng một rơle một fet: 
Mạch in: 
Mạch 
nguồn:
Mạch at89c52 
Mạch 
in:
Phần lập trình: 
ORG 0H 
LJMP MAIN 
ORG 30H 
MAIN: 
MOV P1,#11111111B 
MOV P2,#11111111B 
SETB P3.0 
JB P3.0,MAIN 
MOV R3,#11 
MOV R4,#0 
LCALL KHOIDONG 
LCALL DITHANG 
ORG 50H 
KHOIDONG: 
CLR P2.0 
CLR P2.2 
MOV R5,#10 
BATDAU: 
CLR P2.0 
CLR P2.2 
MOV R0,#01 
MOV R1,#04 
LCALL T_ON 
SETB P2.0 
SETB P2.2 
LCALL T_OFF 
DJNZ R5,BATDAU 
RET 
DITHANG: 
LAP: 
CLR P2.0 
CLR P2.2 
MOV C,P1.3 
ORL C,P1.4 
JNC LAC 
JNB P1.3,LECHPHAI1 
JNB P1.4,LECHTRAI1 
LJMP DEMVACH 
LAC: 
JB P1.5,LECHPHAI2 
JB P1.2,LECHTRAI2 
JB P1.6,LECHPHAI3 
JB P1.1,LECHTRAI3 
JB P1.7,LECHPHAI4 
JB P1.0,LECHTRAI4 
LJMP DEMVACH 
LECHPHAI1: 
LJMP CHINHTRAI1 
LECHTRAI1: 
LJMP CHINHPHAI1 
LECHPHAI2: 
LJMP CHINHTRAI2 
LECHTRAI2: 
LJMP CHINHPHAI2 
LECHPHAI3: 
LJMP CHINHTRAI3 
LECHTRAI3: 
LJMP CHINHPHAI3 
LECHPHAI4: 
LJMP CHINHTRAI4 
LECHTRAI4: 
LJMP CHINHPHAI4 
CHINHTRAI1: 
MOV R0,#01 
MOV R1,#03 
SETB P2.0 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LCALL T_ON 
LJMP DEMVACH 
CHINHTRAI2: 
MOV R0,#01 
MOV R1,#04 
SETB P2.0 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LCALL T_ON 
LJMP DEMVACH 
CHINHTRAI3: 
MOV R0,#01 
MOV R1,#05 
SETB P2.0 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LCALL T_ON 
LJMP DEMVACH 
CHINHTRAI4: 
MOV R1,#10 
SETB P2.0 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LJMP DEMVACH 
CHINHPHAI1: 
MOV R0,#01 
MOV R1,#03 
SETB P2.2 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LCALL T_ON 
LJMP DEMVACH 
CHINHPHAI2: 
MOV R0,#01 
MOV R1,#04 
SETB P2.2 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LCALL T_ON 
LJMP DEMVACH 
CHINHPHAI3: 
MOV R0,#01 
MOV R1,#05 
SETB P2.2 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LCALL T_ON 
LJMP DEMVACH 
CHINHPHAI4: 
MOV R1,#10 
SETB P2.2 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LJMP DEMVACH 
DEMVACH: 
CJNE R4,#0,CHAMLAI 
MOV A,P1 
ANL A,#00111100B 
CJNE A,#00111100B,NHIEU 
LJMP DEM 
NHIEU: 
LJMP LAP 
DEM: 
DJNZ R3,QUAYLAI 
MOV R0,#05 
LCALL DELAY 
LJMP CHAMLAI 
QUAYLAI: 
MOV R0,#05 
LCALL DELAY 
LJMP LAP 
CHAMLAI: 
MOV R4,#01 
DOVACH: 
MOV R0,#01 
MOV R1,#10 
SETB P2.0 
SETB P2.2 
LCALL T_OFF 
CLR P2.0 
CLR P2.2 
LCALL T_ON 
MOV A,P1 
ANL A,#00111100B 
CJNE A,#00111100B,TROVE 
RET 
TROVE: 
LJMP LAP 
ORG 500H 
T_ON: 
BACK: 
MOV TMOD,#01 
MOV TL0,#00H 
MOV TH0,#0DCH 
SETB TR0 
HERE: 
JNB TF0,HERE 
CLR TR0 
CLR TF0 
DJNZ R0,BACK 
RET 
ORG 530H 
T_OFF: 
BACK1: 
MOV TMOD,#01 
MOV TL0,#00H 
MOV TH0,#0DCH 
SETB TR0 
HERE1: 
JNB TF0,HERE1 
CLR TR0 
CLR TF0 
DJNZ R1,BACK1 
RET 
ORG 550H 
DELAY: 
BACK2: 
MOV TMOD,#01 
MOV TL0,#00H 
MOV TH0,#0DCH 
SETB TR0 
HERE2: 
JNB TF0,HERE2 
CLR TR0 
CLR TF0 
DJNZ R0,BACK2 
RET 
END 
            Các file đính kèm theo tài liệu này:
 baocao_1_2403.pdf baocao_1_2403.pdf