ตัวอย่างการเขียนโปรแกรมอย่างง่าย
|
SO CON 14 BUSY VAR IN15 BAUD CON 16624 FL VAR IN0 FR VAR IN1 I VAR BYTE L VAR BYTE R VAR BYTE
MAIN : IF FL = 1 AND FR = 1 THEN B_RL
B_RL : L = -15 : R = -15
B_R : L = -15 : R = -15
B_L : L = -15 : R = -15
DRV : SEROUT SO,BAUD, [L,R] WAIT_BUSY : IF BUSY=1 THEN WAIT_BUSY
|
//***************************************
// หลักการทำงานของโปรแกรมชนถอย
//****************************************
โปรแกรมชนแล้วถอยจะมีอุปกรณ์ท่ี่ต้องใช้คือ bump
bump จะมีหลักการทำงานคล้ายๆ กับ สวิตช์ คือถ้าอยู่นิ่งๆ โดยไม่มีอะไรไปกด ก็จะไม่ทำงาน เมื่ออยู่ในสภาวะปกติ bump จะมีค่าลอจิกเท่ากับ 0 แต่เมื่อมีการกดก็จะมีลอจิกเท่ากับ 1 และเราก็สามารถสั่งให้โปรแกรมทำงานได้โดย เมื่อลอจิกมีค่าเท่ากับ 1 จะให้หุ่นยนต์ถอยหลังแล้วเลี้ยวออกด้านข้าง ถ้า bump ด้านขวาชน ค่าลอจิก FR จะเท่ากับ 1 เราก็จะสั่งให้หุ่นยนต์ถอยหลังแล้วเลี้ยวซ้าย และในทางกลับกัน ถ้า bump ด้านซ้ายชน ค่าลอจิกจะเท่ากับ 1 เราก็ให้หุ่นยนต์ถอยหลังแล้วเลี้ยวขวา โดยเมื่อ bump ถอยออกมา ค่าของลอจิกจะกลับเป็นเหมือนเดิมคือ 0