การแก้ไขปัญหาเซ็นเซอร์ IQ (รุ่นที่ 2)

เมื่อหุ่นยนต์ของคุณไม่ทำงานตามที่ตั้งใจไว้ในขณะที่ใช้การตอบสนองของเซ็นเซอร์ คุณสามารถทำตามขั้นตอนการแก้ไขปัญหาทีละขั้นตอนเพื่อค้นหาและแก้ไขปัญหาของคุณ บทความนี้จะอธิบายขั้นตอนในกระบวนการแก้ไขปัญหา และให้คำแนะนำในการใช้ขั้นตอนเหล่านี้ 

ขั้นตอนของกระบวนการนี้คือ:

  1. ระบุปัญหา
  2. ตรวจสอบฮาร์ดแวร์
  3. ตรวจสอบซอฟต์แวร์
  4. วิเคราะห์และประยุกต์ใช้ข้อมูล

ระบุปัญหา

ขั้นตอนแรกในการแก้ไขปัญหาเซ็นเซอร์ของคุณคือการระบุว่าเซ็นเซอร์ตัวใดที่ทำให้เกิดปัญหา เปรียบเทียบพฤติกรรมของหุ่นยนต์ที่สังเกตได้กับพฤติกรรมของหุ่นยนต์ที่ต้องการ พฤติกรรมที่เป็นปัญหาเกิดจากเซ็นเซอร์หรือไม่? ถ้าเป็นเช่นนั้นเซ็นเซอร์ตัวไหน? หากคุณต้องการข้อมูลเพิ่มเติมเพื่อพิจารณาว่าเซ็นเซอร์ตัวใดที่อาจเป็นปัญหา โปรดอ่านบทความด้านล่างที่เกี่ยวข้องกับเซ็นเซอร์บนหุ่นยนต์ของคุณ

เซ็นเซอร์ VEX IQ (รุ่นที่ 2):

เมื่อคุณระบุได้ว่าเซ็นเซอร์ตัวใดที่ก่อให้เกิดพฤติกรรมที่ไม่ได้ตั้งใจ คุณสามารถดำเนินการต่อไปได้


ตรวจสอบฮาร์ดแวร์

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

ตรวจสอบตำแหน่งเซ็นเซอร์

วาง_image_0__1_.png

เริ่มต้นด้วยการดูว่าเซ็นเซอร์อยู่ที่ตำแหน่งใดบนหุ่นยนต์ของคุณ เซ็นเซอร์ถูกปิดกั้นด้วยสิ่งใด เช่น ส่วนอื่นของหุ่นยนต์ของคุณหรือไม่ ตรวจสอบให้แน่ใจว่าเซ็นเซอร์มีพื้นที่ที่จำเป็นในการทำงานตามที่ตั้งใจไว้

ดังที่แสดงไว้ที่นี่ ออปติคัลเซนเซอร์มีแนวการมองเห็นที่ชัดเจนสำหรับวัตถุที่จะตรวจจับ

ตรวจสอบการเชื่อมต่อเซ็นเซอร์

touchled.png

ทดสอบการทำงานของเซ็นเซอร์โดยดูข้อมูลที่รายงานในหน้าจออุปกรณ์บนสมอง VEX IQ (รุ่นที่ 2) วิธีนี้สามารถช่วยคุณตรวจสอบว่าเซ็นเซอร์เสียบปลั๊กและทำงานอยู่

หากต้องการเข้าถึงหน้าจออุปกรณ์ ทำตามขั้นตอนในบทความนี้

วาง_image_0.png

เมื่อหน้าจออุปกรณ์เปิดขึ้น ให้ดูว่าเซ็นเซอร์กำลังรายงานข้อมูลหรือไม่

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

คุณยังสามารถลองเปลี่ยนเซ็นเซอร์ที่คุณใช้กับเซ็นเซอร์อื่นเพื่อดูว่าสามารถแก้ไขปัญหาของคุณได้หรือไม่

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


ตรวจสอบซอฟต์แวร์

เมื่อคุณระบุได้ว่าเซ็นเซอร์ถูกวางและเชื่อมต่อกับหุ่นยนต์เรียบร้อยแล้ว คุณสามารถดูโครงการ VEXcode IQ ได้ต่อไป การวนซ้ำโปรเจ็กต์สามารถช่วยให้คุณมั่นใจได้ว่าข้อมูลจากเซ็นเซอร์จะถูกใช้อย่างมีประสิทธิภาพในโปรเจ็กต์ของคุณ กลยุทธ์ต่อไปนี้สามารถช่วยคุณในการเข้ารหัสเซ็นเซอร์ของคุณได้

หากคุณใช้กลยุทธ์ใดๆ เหล่านี้กับโปรเจ็กต์ VEXcode IQ ของคุณ ให้ทดสอบโปรเจ็กต์ของคุณอีกครั้งเพื่อดูว่าสามารถแก้ไขปัญหาได้หรือไม่

ตรวจสอบเฟิร์มแวร์และการกำหนดค่า

Screen_Shot_2023-04-05_at_3.38.05_PM.png

ตอนนี้คุณแน่ใจว่าอุปกรณ์ทั้งหมดเชื่อมต่อกับ Brain อย่างถูกต้องแล้ว ให้ตรวจสอบการกำหนดค่าอุปกรณ์ใน VEXcode IQ

ตรวจสอบให้แน่ใจว่าเซ็นเซอร์ทั้งหมดมีอยู่ในการกำหนดค่า จากนั้นตรวจสอบเพื่อให้แน่ใจว่าแต่ละอันเชื่อมต่อกับพอร์ตที่ถูกต้อง

เปลี่ยนการกำหนดค่าอุปกรณ์ที่ไม่ถูกต้อง

เรียกใช้โครงการตัวอย่าง

image2.png

เปิดโปรเจ็กต์ตัวอย่างที่ใช้เซ็นเซอร์ที่คุณกำลังแก้ไขปัญหา คุณสามารถเลือกหมวดหมู่ "การตรวจจับ" เพื่อกรองโปรเจ็กต์ตัวอย่างได้

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวอย่างโปรเจ็กต์และเทมเพลต IQ Blocks ดูบทความนี้

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์และเทมเพลตตัวอย่าง IQ Python ดูบทความนี้

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์และเทมเพลตตัวอย่าง IQ C++ ดูบทความนี้

image7.png

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

ในโครงการตัวอย่างที่แสดงไว้ที่นี่ หมายเหตุระบุว่ามีการใช้เซ็นเซอร์วัดระยะเพื่อตรวจจับวัตถุเพื่อให้หุ่นยนต์สามารถหยุดขับเคลื่อนได้เมื่อถึงวัตถุ

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

คุณอาจต้องการลองสร้างโครงการที่เรียบง่ายของคุณเองเพื่อนำสิ่งที่คุณได้เรียนรู้จากโครงการตัวอย่างไปใช้กับงานของคุณ

ใช้เครื่องมือ VEXcode IQ อื่น ๆ

นอกจากนี้ยังมีเครื่องมือและกลยุทธ์ที่คุณสามารถใช้เพื่อช่วยคุณเมื่อคุณเรียนรู้เพิ่มเติมเกี่ยวกับการเข้ารหัสเซ็นเซอร์ใน VEXcode IQ คุณสามารถเรียนรู้เกี่ยวกับบล็อกหรือคำสั่งในกล่องเครื่องมือทีละรายการได้โดยใช้วิธีใช้ คุณยังสามารถดูข้อมูลเซ็นเซอร์ในขณะที่โปรเจ็กต์กำลังทำงานอยู่เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับสิ่งที่เซ็นเซอร์กำลังรายงาน

ภาพหน้าจอ_2023-04-19_at_2.21.05_PM.png

ความช่วยเหลือ

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

ดูบทความนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการเข้าถึงความช่วยเหลือใน VEXcode IQ Blocks

ดูบทความนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการเข้าถึงความช่วยเหลือใน VEXcode IQ Python

ดูบทความนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการเข้าถึงวิธีใช้ใน VEXcode IQ C++

การพิมพ์ข้อมูล

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

โปรดทราบว่าในโปรเจ็กต์ Blocks สามารถใช้ {When started} hat block แยกต่างหากเพื่อเก็บคำสั่งการพิมพ์ทั้งหมดไว้ในสแต็กของตัวเอง

บล็อก VEXcode IQ
พิมพ์ไปที่ brain.png
VEXcode IQ หลาม
ในขณะที่ (จริง):
brain.screen.set_font(FontType.MONO40)
brain.screen.print(brain_inertial.orientation(ROLL, DEGREES))
brain.screen.next_row()
รอ (0.1, SECONDS)
VEXโค้ด IQ C++
int main() 
{
ในขณะที่ (จริง)
{
Brain.Screen.setFont (mono40);
Brain.Screen.print (BrainInertial.orientation (ม้วน, องศา));
Brain.Screen.newLine();
รอ (0.1, วินาที);
} }

การพิมพ์ไปยัง IQ Brain มีประโยชน์เมื่อคุณต้องการเห็นค่าที่เปลี่ยนแปลงในขณะที่โปรเจ็กต์ VEXcode IQ กำลังทำงานอยู่ วิธีนี้สามารถช่วยคุณระบุค่าที่รายงานจากเซ็นเซอร์เพื่อใช้เป็นพารามิเตอร์ในโครงการของคุณ คำสั่งการพิมพ์เหล่านี้สามารถสร้างไว้ในโปรเจ็กต์ VEXcode IQ ที่คุณสร้างไว้แล้ว เพื่อให้คุณสามารถเห็นค่าเซ็นเซอร์เปลี่ยนแปลงในเวลาที่กำหนดในขณะที่หุ่นยนต์กำลังเคลื่อนที่ 

โปรเจ็กต์ตัวอย่างข้างต้นแสดงวิธีพิมพ์ค่าจากเซ็นเซอร์เฉื่อยไปยังสมอง IQ ความคิดเห็นในแต่ละโปรเจ็กต์อธิบายโฟลว์ของโปรเจ็กต์และการใช้แต่ละคำสั่ง

บล็อก VEXcode IQ VEXcode IQ หลาม

ระยะทางการพิมพ์.png

ในขณะที่ (จริง):
พิมพ์ (distance_7.object_distance(MM))
รอ (0.1, SECONDS)
VEXโค้ด IQ C++
int main() 
{
ในขณะที่ (จริง)
{
printf (Distance7.objectDistance (mm));
พิมพ์f("\n");
รอ (0.1, วินาที);
} }

แนะนำให้พิมพ์ไปยัง Print Console ใน VEXcode IQ เมื่อคุณรันโปรเจ็กต์ VEXcode IQ โดยที่หุ่นยนต์ไม่เคลื่อนไหว IQ Brain จะต้องเสียบปลั๊กอยู่ในระหว่างการดำเนินโปรเจ็กต์เพื่อที่จะพิมพ์ไปยัง Print Console สิ่งนี้มีประโยชน์เนื่องจากคุณสามารถอ่านค่าจากหน้าต่าง VEXcode IQ แทนที่จะพยายามอ่านข้อมูลจากหน้าจอ Brain

ตัวอย่างเหล่านี้แสดงข้อมูลการพิมพ์โปรเจ็กต์จาก Distance Sensor (รุ่นที่ 2) ไปยังคอนโซลใน VEXcode IQ 

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Print Console ใน VEXcode IQ Blocks โปรดดูบทความนี้

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Print Console ใน VEXcode IQ Python โปรดดูบทความนี้


วิเคราะห์และใช้ข้อมูล

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

คุณยังสามารถถามคำถามเกี่ยวกับโครงการของคุณเพื่อช่วยให้คุณก้าวไปข้างหน้าได้ ลองคิดถึงสิ่งต่างๆ เช่น:

  • คุณใช้มากกว่า < หรือน้อยกว่า > ในโครงการของคุณหรือไม่? สัญลักษณ์หันไปในทิศทางที่ถูกต้องหรือไม่? หากคุณใช้เท่ากับ = ให้ลองแทนที่ด้วยค่าที่มากกว่าหรือน้อยกว่า เพื่อใช้ช่วงของค่า
  • พารามิเตอร์ของคุณถูกต้องหรือไม่? คุณใช้ข้อมูลจากเซ็นเซอร์เพื่อตั้งค่าพารามิเตอร์ของคุณหรือไม่? คุณได้เลือกตัวเลือกแบบเลื่อนลงที่คุณต้องการหรือไม่?
  • คุณกำลังตรวจสอบเงื่อนไขมากกว่าหนึ่งครั้งหรือไม่? ลองเพิ่ม Forever loop ให้กับโปรเจ็กต์ของคุณ เพื่อตรวจสอบเงื่อนไขซ้ำๆ เมื่อรันโปรเจ็กต์
  • โครงการของคุณติดขัดใช่ไหม? เงื่อนไขของคุณตั้งไว้ถูกต้องหรือไม่? หากคุณใช้ลูปที่ซ้อนกัน ให้ลองทำให้โปรเจ็กต์ของคุณง่ายขึ้นเพื่อแยกพฤติกรรมแต่ละรายการ
  • สภาพแวดล้อมของคุณส่งผลต่อเซ็นเซอร์หรือไม่ มันสว่างเกินไปหรือมืดเกินไป? มีสิ่งของหรือผู้คนขวางทางหรือไม่? ลองเรียกใช้โครงการของคุณในตำแหน่งที่ตั้งอื่นเพื่อดูว่าสามารถช่วยได้หรือไม่
  • คุณใช้งานโครงการเวอร์ชันล่าสุดของคุณหรือไม่? คุณได้ดาวน์โหลดโปรเจ็กต์ที่อัปเดตของคุณไปที่ Brain แล้วหรือยัง? ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดโปรเจ็กต์ซ้ำทุกครั้งที่ทำการเปลี่ยนแปลง
  • คุณตรวจพบสีที่ถูกต้องหรือไม่? เซ็นเซอร์รายงานสีที่แตกต่างจากสีที่คุณมีในโครงการของคุณหรือไม่? ลองเปลี่ยนพารามิเตอร์สี หรือใช้ช่วงของค่าเฉดสี เพื่อดูว่าจะช่วยได้หรือไม่
  • คุณกำลังตรวจจับวัตถุภายในขอบเขตการมองเห็นของเซนเซอร์หรือไม่? โปรดจำไว้ว่าขอบเขตการมองเห็นจะเคลื่อนที่ไปพร้อมกับการเคลื่อนไหวของหุ่นยนต์
  • คุณใช้บล็อกรอขณะตรวจสอบเงื่อนไขหรือไม่? ต้องแน่ใจว่าใช้บล็อกที่ไม่รอในโปรเจ็กต์เมื่อตรวจสอบเงื่อนไข ดูบทความนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการรอเทียบกับการไม่รอใน VEXcode IQ
  • หากคุณกำลังเขียนโค้ดเป็นบล็อก สแต็คทั้งหมดของคุณติดอยู่กับบล็อกหมวก {When started} หรือไม่ บล็อกจะทำงานเมื่อมีการเชื่อมต่อเท่านั้น คุณสามารถฟังเสียงคลิกเมื่อคุณลากบล็อกและเชื่อมต่อเข้าด้วยกัน

เมื่อคุณตอบคำถามเหล่านี้ อย่าลืมเปลี่ยนแปลงสิ่งหนึ่งในโปรเจ็กต์ของคุณทีละรายการ ทดสอบ จากนั้นประเมินว่าการเปลี่ยนแปลงนั้นมีประสิทธิภาพหรือไม่ การทดสอบโปรเจ็กต์ของคุณบ่อยๆ สามารถช่วยให้คุณเห็นว่าโค้ดของคุณเชื่อมโยงกับพฤติกรรมของหุ่นยนต์ได้ง่ายขึ้นอย่างไร  คุณอาจต้องทำซ้ำขั้นตอนในกระบวนการแก้ไขปัญหาหลายครั้งเพื่อแก้ไขปัญหาของคุณ ซึ่งก็ไม่เป็นไร การวนซ้ำแต่ละครั้งจะช่วยให้คุณเรียนรู้เพิ่มเติมเกี่ยวกับเซ็นเซอร์ที่คุณใช้และวิธีการเขียนโค้ดใน VEXcode IQ

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: