1 / 7

行李機器車

行李機器車. 組員 : 甘志安 曾家昱 陳盈任 吳俊輝 指導教授 : 黃慶祥教授. 程式結合紅外線發收. {$STAMP BS2p,test1,test2} ' {$PBASIC 2.5} ' 此程式只供切換 IF IN13 = 0 THEN DEBUG "run remote",CR RUN 1 ENDIF. 紅外線無接收到直走. ' {$STAMP BS2p} ' {$PBASIC 2.5} ' auto-two car go only

kaethe
Download Presentation

行李機器車

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 行李機器車 組員:甘志安 曾家昱 陳盈任 吳俊輝 指導教授:黃慶祥教授

  2. 程式結合紅外線發收 {$STAMP BS2p,test1,test2} • ' {$PBASIC 2.5} • ' 此程式只供切換 • IF IN13 = 0 THEN • DEBUG "run remote",CR • RUN 1 • ENDIF

  3. 紅外線無接收到直走 • ' {$STAMP BS2p} • ' {$PBASIC 2.5} • ' auto-two car go only • Sdat PIN 12 'PSC data • ra CON 0 'Disable PSC Speed Ramping Function • Baud CON 1021 'BaudRate 2400, BS2P use this speed to communicate with PSC • pw1 VAR Word 'left wheel • pw2 VAR Word 'right wheel • pw3 VAR Word 'left arm shoulder • pw4 VAR Word 'left arm elbow • pw5 VAR Word 'right arm shoulder • pw6 VAR Word 'right arm elbow • pw7 VAR Word 'head • set_up: • POLLIN 11,1 • POLLRUN 5 • POLLMODE 4

  4. pw1 = 750 ' car go • pw2 = 750 ' car go • pw3 = 750 • pw4 = 750 • pw5 = 750 • pw6 = 750 • pw7 = 750 • SEROUT Sdat, Baud+$8000,["!SC", 1, ra, pw1.LOWBYTE, pw1.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 2, ra, pw2.LOWBYTE, pw2.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 3, ra, pw3.LOWBYTE, pw3.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 4, ra, pw4.LOWBYTE, pw4.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 5, ra, pw5.LOWBYTE, pw5.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 6, ra, pw6.LOWBYTE, pw6.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 7, ra, pw7.LOWBYTE, pw7.HIGHBYTE, CR] • DEBUG"car go begin" ,CR • DO • car_go: • DEBUG "car go",CR • pw1 = 710 • pw2 = 790 • SEROUT Sdat, Baud+$8000,["!SC", 1, ra, pw1.LOWBYTE, pw1.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 2, ra, pw2.LOWBYTE, pw2.HIGHBYTE, CR] • DEBUG "car move",CR • LOOP

  5. 接收到紅外線開始追蹤程式碼 • ' {$STAMP BS2p} • ' {$PBASIC 2.5} • ' stop auto-two and • Sdat PIN 12 'PSC data • ra CON 0 'Disable PSC Speed Ramping Function • Baud CON 1021 'BaudRate 2400, BS2P use this speed to communicate with PSC • Sio PIN 15 'AP8 • T2400 CON 1021 • T38K4 CON 45 • Open CON $8000 • ABaud CON Open + T38k4 ' baud jumper out • Addr CON %11 ' both address jumpers out • a VAR Nib • ' -----[ I/O Definitions ]--------for Infrared----------------------------------------- • Enable PIN 7 ' low = reader on • RX PIN 8 ' serial from reader • LastTag CON 3 • ' -----[ Variables ]-------------- for Infrared----------------------------------------- • buf VAR Byte(10) ' Infrared bytes buffer • tagNum VAR Nib ' from EEPROM table • idx VAR Byte ' tag byte index • segment VAR Byte 'AP8 • holle VAR Byte 'AP8 • pw1 VAR Word 'left wheel • pw2 VAR Word 'right wheel • pw3 VAR Word 'left arm shoulder • pw4 VAR Word 'left arm elbow • pw5 VAR Word 'right arm shoulder • pw6 VAR Word 'right arm elbow • 'pw7 VAR Word 'head • Setup: • POLLIN 11,0 '當pin 10 為 0 時 跳回 aotu-two • POLLRUN 3 'auto-two程式為 slot 3 • POLLMODE 4 • '--------------初始值 • initial: • DEBUG "run R2 car stopand and execute Infrared" ,CR • pw1 = 750 • pw2 = 750 • pw3 = 750 • pw4 = 750 • pw5 = 750 • pw6 = 750 • 'pw7 = 750

  6. ' -----[ Initialization ]-------for Infrared ----------------------------------- • IF IN13 = 0 AND IN14 = 0 THEN • RUN 0 • ENDIF • 'DEBUG"Apw3=",DEC pw3," ","Apw4=",DEC pw4," ","Apw5=",DEC pw5," ","Apw6=",DEC pw6," ","Apw7=",DEC pw7," ","Apw=",DEC pw8 ,CR • SEROUT Sdat, Baud+$8000,["!SC", 1, ra, pw1.LOWBYTE, pw1.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 2, ra, pw2.LOWBYTE, pw2.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 3, ra, pw3.LOWBYTE, pw3.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 4, ra, pw4.LOWBYTE, pw4.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 5, ra, pw5.LOWBYTE, pw5.HIGHBYTE, CR] • SEROUT Sdat, Baud+$8000,["!SC", 6, ra, pw6.LOWBYTE, pw6.HIGHBYTE, CR] • 'SEROUT Sdat, Baud+$8000,["!SC", 7, ra, pw7.LOWBYTE, pw7.HIGHBYTE, CR] • 'SEROUT Sdat, Baud+$8000,["!SC", 8, ra, pw8.LOWBYTE, pw8.HIGHBYTE, CR] • DEBUG"STOP done" ,CR • Reset: • HIGH Enable • ' turn of Infrared reader • main: • DEBUG"looping" ,CR • DEBUG ? IN11 • '--------------------RFID • LOW Enable ' activate the reader • SERIN RX, 1021,1000,test, [WAIT($0A), STR buf\10] ' wait for hdr + ID • HIGH Enable • 'Display_Tag: • segment=2 • holle = 1 • DEBUG "Tag Identification number is: ", CR • DEBUG buf(9) ,CR • a=buf(9) • IF a=5 THEN • SEROUT Sio, ABaud, ["!AP8", Addr, "L", segment,1] • DEBUG "AP8",buf(9),CR • GOTO Setup • ENDIF • IF a=8 THEN • SEROUT Sio, ABaud, ["!AP8", Addr, "L", holle,1] • DEBUG "AP8",buf(9),CR • GOTO Setup • ENDIF • IF a < > 5 THEN • SEROUT Sio, ABaud, ["!AP8", Addr, "X", segment] • DEBUG "E", buf(9),CR • ENDIF • IF a < > 8 THEN • SEROUT Sio, ABaud, ["!AP8", Addr, "X", holle] • DEBUG "E", buf(9),CR • ENDIF • test: • DEBUG"test" • GOTO main ' repeats code

  7. END

More Related