สารบัญ:

Boe-Bot พร้อมเครื่องตรวจจับอินฟราเรด: 12 ขั้นตอน (พร้อมรูปภาพ)
Boe-Bot พร้อมเครื่องตรวจจับอินฟราเรด: 12 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Boe-Bot พร้อมเครื่องตรวจจับอินฟราเรด: 12 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Boe-Bot พร้อมเครื่องตรวจจับอินฟราเรด: 12 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: The ONLY SOURDOUGH BREAD SHAPING Tutorial You Will Ever Need 2024, กรกฎาคม
Anonim
Boe-Bot พร้อมเครื่องตรวจจับอินฟราเรด
Boe-Bot พร้อมเครื่องตรวจจับอินฟราเรด

คำแนะนำนี้จะสาธิตวิธีสร้างและเขียนโค้ด Boe-Bot ที่สามารถนำทางเขาวงกตโดยใช้เครื่องตรวจจับอินฟราเรดเพื่อหลีกเลี่ยงอุปสรรค นี่เป็นคำแนะนำที่ง่ายต่อการปฏิบัติตาม ซึ่งช่วยให้ปรับเปลี่ยนได้ง่ายเพื่อให้เหมาะกับความต้องการของคุณ สิ่งนี้ต้องการความเข้าใจพื้นฐานเกี่ยวกับวงจรและการเขียนโปรแกรม คุณจะต้องมีซอฟต์แวร์ BASIC Stamp IDE สำหรับโครงการนี้ ดาวน์โหลดฟรีได้ที่นี่ เช่นเดียวกับหุ่นยนต์ Boe-Bot

ขั้นตอนที่ 1: ทรัพยากร

ชิ้นส่วนอิเล็กทรอนิกส์

Boe-Bot พร้อมสายต่อ Parallax Store - BoeBot Kit

5 Parallax Store ของ LED อินฟราเรด - ชุดประกอบเครื่องส่งสัญญาณ IR

5 ชุดประกอบโล่อินฟราเรด

5 เครื่องตรวจจับอินฟราเรด Parallax Store - BoeBot IR Receiver

ตัวต้านทาน

  • (2) 4.7 kΩ ABRA Electronics - 4.7 kΩ
  • (5) 220 Ω ABRA Electronics - 220 Ω
  • (2) 1 kΩ ABRA Electronics - 1 kΩ
  • (5) 2 k ABRA Electronics - 2 kΩ

สายไฟคละแบบ ABRA Electronics - 22 Gauge Wire

ABRA Electronics 3 LED - ไฟ LED สีแดง 5 มม.

สนับสนุน

คอมพิวเตอร์

ตัวแก้ไขตราประทับพื้นฐาน - (ฟรีแวร์)

เครื่องมือ

เครื่องตัดลวด ABRA Electronics - เครื่องตัดลวด (อุปกรณ์เสริม)

เครื่องปอกสายไฟ ABRA Electronics - เครื่องปอกสายไฟ

อื่น ๆ

กำแพง (เพื่อสร้างเขาวงกต)

ขั้นตอนที่ 2: ทำความเข้าใจว่าการตรวจจับอินฟราเรดทำงานอย่างไร (ไม่บังคับ)

ทำความเข้าใจว่าการตรวจจับอินฟราเรดทำงานอย่างไร (ทางเลือก)
ทำความเข้าใจว่าการตรวจจับอินฟราเรดทำงานอย่างไร (ทางเลือก)

ไฟหน้าอินฟราเรด

ระบบตรวจจับวัตถุอินฟราเรดที่เราจะสร้างบน Boe-Bot นั้นเปรียบเสมือนไฟหน้ารถในหลายประการ เมื่อแสงจากไฟหน้ารถสะท้อนสิ่งกีดขวาง ดวงตาของคุณจะตรวจจับสิ่งกีดขวางและสมองของคุณจะประมวลผลและทำให้ร่างกายของคุณนำทางรถไปตามนั้น Boe-Bot จะใช้ไฟ LED อินฟราเรดสำหรับไฟหน้า พวกมันปล่อยอินฟราเรด และในบางกรณี อินฟราเรดจะสะท้อนออกจากวัตถุและสะท้อนกลับไปในทิศทางของ Boe-Bot ดวงตาของ Boe-Bot คือเครื่องตรวจจับอินฟราเรด เครื่องตรวจจับอินฟราเรดจะส่งสัญญาณบ่งชี้ว่าพวกเขาตรวจพบอินฟราเรดที่สะท้อนจากวัตถุหรือไม่ สมองของ Boe-Bot หรือ BASIC Stamp ทำหน้าที่ตัดสินใจและควบคุมเซอร์โวมอเตอร์ตามอินพุตเซ็นเซอร์นี้ รูปที่ 7-1 การตรวจจับวัตถุด้วยไฟหน้า IR เครื่องตรวจจับ IR มีตัวกรองแสงในตัวที่ให้แสงน้อยมาก ยกเว้นอินฟราเรด 980 นาโนเมตรที่เราต้องการตรวจจับด้วยเซ็นเซอร์โฟโตไดโอดภายใน เครื่องตรวจจับอินฟราเรดยังมีตัวกรองอิเล็กทรอนิกส์ที่ช่วยให้สัญญาณผ่านได้เพียง 38.5 kHz เท่านั้น กล่าวอีกนัยหนึ่งเครื่องตรวจจับกำลังมองหาเฉพาะอินฟราเรดที่กะพริบเปิดและปิด 38, 500 ครั้งต่อวินาที ซึ่งจะป้องกันการรบกวนของ IR จากแหล่งกำเนิดทั่วไป เช่น แสงแดดและแสงในร่ม แสงแดดเป็นการรบกวน DC (0 Hz) และแสงในอาคารมีแนวโน้มที่จะเปิดและปิดแฟลชที่ 100 หรือ 120 Hz ขึ้นอยู่กับแหล่งพลังงานหลักในภูมิภาค เนื่องจาก 120 Hz อยู่นอกความถี่ในการส่งผ่านย่านความถี่ 38.5 kHz ของตัวกรองอิเล็กทรอนิกส์ เครื่องตรวจจับ IR จึงมองข้ามไปโดยสิ้นเชิง

-คู่มือนักเรียน Paralax

ขั้นตอนที่ 3: การประกอบ IR LED's

การประกอบ IR LED's
การประกอบ IR LED's

ใส่ IR LED เข้าไปในส่วนที่ใหญ่กว่าของเคส

ใส่ส่วนใสของ LED ด้วยส่วนเล็กของปลอก

ขั้นตอนที่ 4: การทดสอบคู่อินฟราเรด - วงจร

การทดสอบคู่อินฟราเรด - Circuit
การทดสอบคู่อินฟราเรด - Circuit
การทดสอบคู่อินฟราเรด - Circuit
การทดสอบคู่อินฟราเรด - Circuit

ก่อนที่เราจะเจาะลึกเกินไป เราจะทดสอบเพื่อให้แน่ใจว่าคู่ IR ทำงาน (หนึ่ง LED อินฟราเรดและเครื่องตรวจจับอินฟราเรดหนึ่งตัว)

เริ่มต้นด้วยการสร้างวงจรด้านบนบนเขียงหั่นขนมที่ติดตั้งบน Boe-Bot. ของคุณ

ขั้นตอนที่ 5: การทดสอบคู่อินฟราเรด - รหัสพื้นฐาน

แน่นอน เราจะต้องเขียนโค้ดเพื่อให้คู่ IR ของเราทำงานได้

เมื่อต้องการทำเช่นนี้ จะใช้คำสั่ง FREQOUT คำสั่งนี้ออกแบบมาสำหรับโทนเสียง แต่สามารถใช้เพื่อสร้างความถี่ในช่วงอินฟราเรดได้ สำหรับการทดสอบนี้เราจะใช้คำสั่ง:

ความถี่ 8, 1, 38500

สิ่งนี้จะส่งความถี่ 38.5 kHz ที่ใช้เวลา 1 ms ถึง P8 วงจร LED อินฟราเรดที่เชื่อมต่อกับ P8 จะออกอากาศความถี่นี้ หากแสงอินฟราเรดสะท้อนกลับมาที่ Boe-Bot โดยวัตถุในเส้นทางของมัน เครื่องตรวจจับอินฟราเรดจะส่งสัญญาณ BASIC Stamp เพื่อแจ้งให้ทราบว่าตรวจพบแสงอินฟราเรดสะท้อน

กุญแจสำคัญในการทำให้คู่ IR ทำงานคือการส่ง 1 ms ของความถี่ 38.5 kHz และเก็บเอาต์พุตของเครื่องตรวจจับ IR ไว้ในตัวแปรทันที

ตัวอย่างนี้แสดงการจัดเก็บค่า IR Detector ในตัวแปรบิตชื่อ irDectectLeft

ความถี่ 8, 1, 38500

irDetectLeft = IN9

สถานะเอาต์พุตของเครื่องตรวจจับ IR เมื่อไม่เห็นสัญญาณ IR สูง เมื่อเครื่องตรวจจับอินฟราเรดเห็นฮาร์มอนิก 38500 Hz ที่สะท้อนโดยวัตถุ เอาต์พุตของเครื่องตรวจจับจะต่ำ เอาต์พุตของเครื่องตรวจจับ IR จะอยู่ในระดับต่ำเพียงเสี้ยววินาทีหลังจากที่คำสั่ง FREQOUT เสร็จสิ้นการส่งฮาร์มอนิก ดังนั้นจึงจำเป็นต้องเก็บเอาต์พุตของเครื่องตรวจจับ IR ไว้ในตัวแปรทันทีหลังจากส่งคำสั่ง FREQOUT ค่าที่เก็บไว้โดยตัวแปรสามารถแสดงใน Debug Terminal หรือใช้สำหรับการตัดสินใจในการนำทางโดย Boe-Bot

ขั้นตอนที่ 6: การทดสอบคู่อินฟราเรด - ฮาร์ดแวร์ + ซอฟต์แวร์

การทดสอบคู่อินฟราเรด - ฮาร์ดแวร์ + ซอฟต์แวร์
การทดสอบคู่อินฟราเรด - ฮาร์ดแวร์ + ซอฟต์แวร์

เมื่อคุณรู้พื้นฐานแล้ว เราสามารถรวมฮาร์ดแวร์และซอฟต์แวร์เข้าด้วยกันเพื่อทดสอบคู่กันและรับข้อเสนอแนะแบบเรียลไทม์จากสิ่งที่คู่ IR ตรวจพบ

คุณสามารถลองทำโค้ดด้วยตัวเองหรือใช้รหัสด้านล่าง

' {$แสตมป์ BS2}

' {$PBASIC 2.5} irDetectLeft VAR บิต DO FREQOUT 8, 1, 38500 irDetectLeft = IN9 DEBUG HOME, "irDetectLeft = ", BIN1 irDetectLeft PAUSE 100 LOOP

  1. ปล่อยให้ Boe-Bot เชื่อมต่อกับสายเคเบิลอนุกรม เพราะคุณจะใช้เทอร์มินัล DEBUG เพื่อทดสอบคู่ IR ของคุณ
  2. วางวัตถุ เช่น มือหรือแผ่นกระดาษ ห่างจากคู่ IR ด้านซ้ายประมาณหนึ่งนิ้ว
  3. ตรวจสอบว่าเมื่อคุณวางวัตถุไว้ข้างหน้าคู่ IR เทอร์มินัลดีบั๊กจะแสดง 0 และเมื่อคุณนำวัตถุออกจากด้านหน้าของคู่ IR จะแสดงค่า 1
  4. หาก Debug Terminal ไม่แสดงค่าที่คาดไว้ ให้ลองทำตามขั้นตอนใน Trouble-Shooting Step

ขั้นตอนที่ 7: การแก้ไขปัญหา (สำหรับปัญหาในขั้นตอนสุดท้าย)

DEBUG Terminal แสดงค่าที่ไม่คาดคิด

ตรวจสอบวงจรสำหรับลัดวงจร ขั้วต่อผิดที่หรือขาดหายไป ส่วนประกอบที่เสียหาย ตัวต้านทานที่ไม่ถูกต้อง หรือปัญหาอื่นๆ ที่มองเห็นได้

ตรวจสอบโปรแกรมจากข้อผิดพลาดทางตรรกะหรือทางไวยากรณ์ - หากคุณใช้รหัสของคุณเองในขั้นตอนสุดท้าย ให้พิจารณาใช้รหัสที่ให้มา

ได้ 0 เสมอ แม้เมื่อไม่มีสิ่งของวางอยู่หน้า Boe-Bot

ตรวจสอบว่ามีวัตถุใกล้เคียงที่สะท้อนสัญญาณอินฟราเรดหรือไม่ โต๊ะหน้าโบ๊ทอาจเป็นต้นเหตุได้ ย้าย Boe-Bot ไปไว้ในที่โล่งเพื่อไม่ให้ไฟ LED IR และตัวตรวจจับสะท้อนจากวัตถุใกล้เคียง

การอ่านเป็น 1 ส่วนใหญ่เมื่อไม่มีวัตถุอยู่หน้า Boe-Bot แต่กะพริบเป็น 0 เป็นครั้งคราว

อาจมีการรบกวนจากแสงฟลูออเรสเซนต์ในบริเวณใกล้เคียง ปิดไฟฟลูออเรสเซนต์ในบริเวณใกล้เคียงและทำการทดสอบซ้ำ หากปัญหายังคงอยู่ ขั้นตอนที่ 9 อาจเปิดเผยปัญหา

ขั้นตอนที่ 8: IR คู่ที่สอง

IR คู่ที่สอง
IR คู่ที่สอง

ตอนนี้คุณมีโปรแกรมสำหรับ IR ด้านซ้ายแล้ว ก็ถึงคราวของคุณที่จะสร้างวงจรและตั้งโปรแกรม IR Pair ที่ถูกต้อง

  1. เปลี่ยนคำสั่ง DEBUG ชื่อเรื่องและความคิดเห็นเพื่ออ้างถึงคู่ IR ที่ถูกต้อง
  2. เปลี่ยนชื่อตัวแปรจาก irDetectLeft เป็น irDetectRight คุณจะต้องทำสิ่งนี้ในสี่แห่งในโปรแกรม
  3. เปลี่ยนอาร์กิวเมนต์ Pin ของคำสั่ง FREQOUT จาก 8 เป็น 2
  4. เปลี่ยนการลงทะเบียนอินพุตที่ตรวจสอบโดยตัวแปร irDetectRight จาก IN9 เป็น IN0
  5. ทำซ้ำขั้นตอนการทดสอบในกิจกรรมนี้สำหรับคู่ IR ที่ถูกต้อง ด้วยวงจร IR LED ที่เชื่อมต่อกับ P2 และเครื่องตรวจจับที่เชื่อมต่อกับ P0

ขั้นตอนที่ 9: การตรวจจับสัญญาณรบกวนอินฟราเรด (ไม่บังคับ)

การตรวจจับสัญญาณรบกวนอินฟราเรด (อุปกรณ์เสริม)
การตรวจจับสัญญาณรบกวนอินฟราเรด (อุปกรณ์เสริม)

ไม่ว่าคุณจะประสบปัญหาในการตรวจจับสัญญาณที่ไม่ควรตรวจพบ หรือคุณวางแผนที่จะแสดงการตรวจจับ IR ของคุณในตำแหน่งอื่น คุณอาจต้องการทดสอบการรบกวน

แนวคิดของโปรแกรมการทดสอบนี้ค่อนข้างเรียบง่าย คุณสามารถตรวจจับสัญญาณอินฟราเรดโดยไม่ต้องส่งสัญญาณใดๆ ออกไป

คุณสามารถใช้วงจรเดียวกันได้ แต่คุณจะต้องแก้ไขรหัส คุณอาจเลือกที่จะเขียนรหัสของคุณเอง แต่คุณสามารถใช้รหัสที่ให้ไว้ด้านล่าง:

' {$แสตมป์ BS2}

' {$PBASIC 2.5} irDetectLeft VAR บิต DO irDetectLeft = IN9 irDetectRight = IN0 IF IN9 = 0 หรือ IN0 = 0 จากนั้น DEBUG "ตรวจพบการรบกวน" หยุดชั่วคราว 100 LOOP

หากคุณประสบปัญหาการรบกวน ให้ระบุแหล่งที่มาที่เป็นไปได้และปิด/นำออก หรือย้ายตำแหน่งที่คุณใช้งาน Boe-Bot ของคุณ

ขั้นตอนที่ 10: การเพิ่มคู่ IR เพิ่มเติม

การเพิ่มคู่ IR เพิ่มเติม
การเพิ่มคู่ IR เพิ่มเติม

หากคุณต้องการความแม่นยำมากขึ้นในการเคลื่อนที่ของ Boe-Bot คุณอาจต้องการเพิ่มคู่ IR เพิ่มเติม 3 ปรับปรุงประสิทธิภาพอย่างมากเมื่อเทียบกับสอง; คุณสามารถใช้คู่กลางเพื่อสแกนหาสิ่งกีดขวางโดยตรง และใช้ IR สองด้านเพื่อกำหนดว่าจะเลี้ยวได้เท่าไร อย่างไรก็ตาม ความหายนะของการออกแบบคู่ IR 3 คู่คือ คุณอาจทราบเมื่อคุณกำลังไถลกับกำแพง เนื่องจากคู่ IR ตรงกลางใช้เพื่อตรวจจับสิ่งกีดขวาง ในการแก้ปัญหานี้ คุณสามารถเพิ่มคู่ IR ในแต่ละด้านด้วยค่าความต้านทานสูง ดังนั้นและสัญญาณอินฟราเรดจะถูกตรวจจับก็ต่อเมื่อ Boe-Bot อยู่ใกล้กับด้านข้างหรือผนังในมุมที่อ่อนโยนเท่านั้น

ขั้นตอนที่ 11: ห้าคู่ IR - วงจร

ห้าคู่ IR - Circuit
ห้าคู่ IR - Circuit

โปรดใช้ความระมัดระวังเมื่อหันไฟ IR LED สองดวงที่ด้านข้าง เนื่องจากการบิดอาจทำให้ลีดสัมผัสและทำให้เกิดไฟฟ้าลัดวงจรได้

ขั้นตอนที่ 12: ห้าคู่ IR - Code

ห้าคู่ IR - Code
ห้าคู่ IR - Code

คุณอาจต้องการลองตั้งโปรแกรม Boe-Bot ก่อนใช้รหัสนี้:

' {$STAMP BS2}' {$PBASIC 2.5} 'Five IR Pair Deatection Code 'Matthew Shaw '8 พฤษภาคม 2019 (เวอร์ชัน 7) 'การตรวจจับวัตถุและการประมวลผลเชิงตรรกะขั้นพื้นฐานเพื่อแก้เขาวงกต

irDetectLeft VAR Bit 'ตัวแปรด้านซ้าย

irDetectCentre VAR Bit 'ตัวแปรสำหรับศูนย์ irDetectRight VAR Bit' ตัวแปรสำหรับขวา irDetectLSide VAR Bit 'ตัวแปรสำหรับด้านซ้าย irDetectRSide VAR Bit' 'ตัวแปรสำหรับด้านขวา irDetectLSideFar VAR Bit ' ตัวแปรสำหรับด้านซ้ายความต้านทานต่ำ ความต้านทานต่ำ FirDAR VetAR

mLoop VAR Word

Lmotor PIN 15 'มอเตอร์ด้านซ้ายเชื่อมต่อกับพิน 14 พัลส์ผ่านที่นี่

Rmotor PIN 14 'ขวา = 15

'ความเร็วเป็น -> 650-750-850

LFast CON 850 'คงที่สำหรับมอเตอร์ด้านซ้ายที่ความเร็วเต็มที่ RFast CON 650' คงที่สำหรับมอเตอร์ด้านขวาที่ความเร็วเต็มที่

LStop CON 750 'คงที่สำหรับมอเตอร์ด้านซ้ายที่ความเร็วเต็มที่

RStop CON 650 'คงที่สำหรับมอเตอร์ขวาที่ความเร็วเต็มที่

LMid CON 830 'คงที่สำหรับมอเตอร์ด้านซ้ายที่ความเร็วปานกลาง

RMid CON 700 'คงที่สำหรับมอเตอร์ด้านขวาที่ความเร็วปานกลาง

LSlow CON 770 'คงที่สำหรับมอเตอร์ด้านซ้ายที่ความเร็วต่ำสุด

RSlow CON 730 'คงที่สำหรับมอเตอร์ที่เหมาะสมที่ความเร็วต่ำสุด

LRev CON 650 'Conastant สำหรับมอเตอร์ด้านซ้ายที่ความเร็วสูงสุดในการย้อนกลับ

RRev CON 850 'คงที่สำหรับมอเตอร์ด้านซ้ายที่ความเร็วเต็มที่ในการย้อนกลับ

ความถี่ 7, 1, 38500 'ด้านซ้าย

irDetectLeft = IN8

ความถี่ 6, 1, 38500 'ศูนย์

irDetectCentre = IN5

ความถี่ 3, 1, 38500 'ด้านขวา

irDetectRight = IN2

ความถี่ 10, 1, 38500 'ปิดซ้าย

irDetectLside = IN11

ความถี่ 1, 1, 38500 'ขวา ปิด

irDetectRside = IN0

ความถี่ 9, 1, 38500

irDetectLsideFar = IN11

ความถี่ 4, 1, 38500 'ด้านขวา

irDetectRSideFar = IN0

หาก irDetectLside = 0 และ irDetectRside = 0 จากนั้นคำสั่งหลัก 'การเริ่มคำสั่งโบกมือของคุณผ่านเครื่องตรวจจับสองด้านเพื่อเริ่มโปรแกรม

หลัก:

หยุดชั่วคราว 1,000 DO

PULSOUT Lmotor, LFast 'มอเตอร์ด้านซ้ายทำงานด้วยความเร็วเต็มที่

PULSOUT Rmotor, RFast 'มอเตอร์ด้านขวาทำงานด้วยความเร็วเต็มที่

ความถี่ 6, 1, 38500 'ศูนย์

irDetectCentre = IN5

ความถี่ 10, 1, 38500 'ปิดซ้าย

irDetectLside = IN11

ความถี่ 1, 1, 38500 'ด้านขวา

irDetectRside = IN0

ถ้า irDetectLside = 0 และ irDetectRside = 1 แล้ว

DO PULSOUT Lmotor, LFast

ความถี่ 6, 1, 38500 'ศูนย์

irDetectCentre = IN5 ถ้า irDetectCentre = 0 แล้ว cent

ความถี่ 10, 1, 38500 'ปิดซ้าย

irDetectLside = IN11

ความถี่ 3, 1, 38500 'ด้านขวา

irDetectRight = IN2

วนซ้ำจนกว่าจะถึง irDetectLside = 1 หรือ irDetectRSide = 0

ELSEIF irDetectLside = 1 และ irDetectRside = 0 แล้ว

DO PULSOUT Rmotor, RFast

ความถี่ 6, 1, 38500 'ศูนย์

irDetectCentre = IN5 ถ้า irDetectCentre = 0 แล้ว cent

ความถี่ 10, 1, 38500 'ปิดซ้าย

irDetectLside = IN11

ความถี่ 3, 1, 38500 'ด้านขวา

irDetectRight = IN2

วนซ้ำจนกว่า irDetectLside = 0 หรือ irDetectRSide = 1

'ENDIF

ถ้า irDetectCentre = 0 แล้ว 'เริ่มต้น

ความถี่ 7, 1, 38500 'ด้านซ้าย irDetectLeft = IN8

ความถี่ 6, 1, 38500 'ศูนย์

irDetectCentre = IN5

ความถี่ 3, 1, 38500

irDetectRight = IN2

PAUSE 1000 'หยุดชั่วคราวเพื่อแสดงสัญญาณที่ตรวจพบ

IF (irDetectLeft = 1 AND irDetectRight = 0) แล้ว ' ประเมินระยะเวลา

GOSUB เลี้ยวซ้าย

ELSEIF (irDetectLeft = 0 และ irDetectRight = 1) แล้ว

GOSUB เลี้ยวขวา

ELSEIF (irDetectLeft = 1 และ irDetectRight = 1) แล้ว

GOSUB เลี้ยวตัดสินใจ

อื่น

GOSUB ย้อนกลับ

ENDIF

ENDIF 'END

LOOP

จบ

เลี้ยวซ้าย:

ทำ PULSOUT Lmotor, LRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP จนถึง IN0 = 1 RETURN

เลี้ยวขวา:

ทำ PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN4 FREQOUT 2, 1, 38500 irDetectRight = IN0 LOOP จนถึง IN9 = 1

กลับ

พลิกกลับ:

สำหรับ mLoop = 0 ถึง 50 PULSOUT Rmotor, RRev PULSOUT Lmotor, LRev PAUSE 20 PULSOUT Lmotor, LRev PAUSE 20 NEXT DO PULSOUT Rmotor, RRev FREQOUT 8, 1, 38500 irDetectLeft = IN9 FREQOUT 5, 1, 38500 irDetectCentre = IN9 FREQOUT 5, 1, 38500 irDetectCentre, 38500 irDetectRight = IN0 วนซ้ำจนกว่าจะถึง IN9 = 1

กลับ

turnDecide: 'ใช้แนวต้านที่ต่ำกว่าเพื่อดูเพิ่มเติม

ความถี่ 9, 1, 38500

irDetectLsideFar = IN11

ความถี่ 4, 1, 38500 'ด้านขวา

irDetectRSideFar = IN0

IF (irDetectLsideFar = 1 AND irDetectRSideFar = 0) แล้ว ' ประเมินระยะเวลา

GOSUB เลี้ยวซ้าย

ELSEIF (irDetectLsideFar = 0 และ irDetectRsideFar = 1) จากนั้น

GOSUB เลี้ยวขวา

ELSEIF (irDetectLsideFar = 1 และ irDetectRsideFar = 1) จากนั้น

GOSUB เลี้ยวซ้าย

อื่น

GOSUB ย้อนกลับ

ENDIF

กลับ

แนะนำ: