Základní program problémy razítko

J

jhill44

Guest
budova bot, který se pohybuje samostatně w vyhýbání se překážkám využívající základní razítko a IR Control Freak modul ...ale já mám problémy s zastavení bot.Jsem zahájení pohybu bot s univerzální dálkové a pokoušet se zastavit bot z pohybu stiskem tlačítka na dálkovém ovladači.Nicméně tento úkol se zdá být těžší pak jsem si myslel.Z nějakého důvodu jsem dotírat dostat základní razítko na výjezdu ze smyčky příkaz k zastavení bot.nejsou k dispozici žádné problémy funning bot s OBS.vyhýbání podprogramy, ale to prostě nechce přestat.Zde je program .....

[/ Code]

'($ STAMP BS2)
'($ PBASIC 2,5)

DEBUG "program běží"

'------------[ Proměnné ]---------------------------------- -------------

irdetectleft VAR BIT
irdetectright VAR BIT
irdetectcenter VAR BIT
BUTTON_CODE VAR BYTE 'Infrated tlačítka kód
DEVICE_CODE VAR BYTE 'Infračervené kódu
'------------[ Hlavního programu ]--------------------------------- -----------
'***************************
'* Hlavní program *
'***************************

Hlavní:
GOSUB COMMAND_030 'Poslat Dálkové ovládání Command Infrated Control Freak

GOTO HLAVNÍ

COMMAND_030:
SEROUT 14, 16468, [30]
hovno:
Serin 15, 16468,1000, hlavní, [device_code, button_code]
DEBUG "tlačítko code =", DEC Button_Code, "kódu =", DEC Device_code, "", CR
Debug "," CR
DEBUG "____________________________", CR
DEBUG HOME
IF Button_code = 21 a = 1 THEN Device_code obstacle_avoidance
IF BUTTON_code = 101 a device_code = 1 pak STOP_bot
GOTO hovno'----------[ Podprogramy ]------------------------------------ ----------obstacle_avoidance:
DO
FREQOUT 8, 1, 38500
irdetectleft = IN9

FREQOUT 2,1, 38500
irdetectright = IN0

FREQOUT 3,1, 38500
irdetectcenter = IN4

IF (irdetectcenter = 0) Then
GOSUB back_up
Elseif (irdetectleft = 0) Then
GOSUB turn_right
Elseif (irdetectright = 0) Then
GOSUB turn_left
ELSE
GOSUB forward_pulse
ENDIF
LOOP

forward_pulse:
PAUSE 100
SEROUT 16, 8276, ["! A1E", CR]
SEROUT 16, 8276, ["! B1E", CR]
RETURN

turn_left:
PAUSE 20
SEROUT 16, 8276, ["! A14", CR]
SEROUT 16, 8276, ["! B14", CR]
RETURN

turn_right:
PAUSE 20
SEROUT 16, 8276, ["! A1E", CR]
SEROUT 16, 8276, ["! B1E", CR]
RETURN

back_up:
PAUSE 20
SEROUT 16, 8276, ["! A1E", CR]
SEROUT 16, 8276, ["! B1E", CR]
RETURN

STOP_bot:
PAUSE 20
SEROUT 16, 8276, ["! A00", CR]
SEROUT 16, 8276, ["! B00", CR]

Kód:

 

Welcome to EDABoard.com

Sponsor

Back
Top