สารบัญ:

การแสดงภาพการเคลื่อนที่ของไจโร L3G4200D ด้วยเครื่องปั่น: 5 ขั้นตอน
การแสดงภาพการเคลื่อนที่ของไจโร L3G4200D ด้วยเครื่องปั่น: 5 ขั้นตอน

วีดีโอ: การแสดงภาพการเคลื่อนที่ของไจโร L3G4200D ด้วยเครื่องปั่น: 5 ขั้นตอน

วีดีโอ: การแสดงภาพการเคลื่อนที่ของไจโร L3G4200D ด้วยเครื่องปั่น: 5 ขั้นตอน
วีดีโอ: Gyroscopes--The Bicycle-Wheel Challenge ไจโรสโคป 2024, พฤศจิกายน
Anonim
Image
Image

ฉันได้ซื้อเซ็นเซอร์ไจโร L3G4200D ราคาถูกจาก eBay ที่สามารถตรวจจับการหมุน 3 แกนและส่งผ่านอินเทอร์เฟซ I2C หรือ SPI ฉันพยายามใช้เพื่อตรวจจับการหมุนในแนวนอนและแนวตั้งแบบเรียลไทม์ สิ่งนี้ค่อนข้างยากเพราะฉันไม่สามารถนึกภาพได้ว่า Gyro กำลังส่งออกอะไร ฉันต้องการการแสดงภาพ ฉันลงเอยด้วยการใช้ Blender เพื่อให้เห็นภาพไจโรที่เชื่อมต่อกับ Arduino Uno ด้วยการรวมกันนี้ ฉันได้รับรายงานตามเวลาจริงซึ่งออกมาค่อนข้างดีและพิสูจน์ให้เห็นว่าเซ็นเซอร์มีความแม่นยำในการทำงาน

ขั้นตอนที่ 1: ฮาร์ดแวร์

ซอฟต์แวร์
ซอฟต์แวร์

เซ็นเซอร์ L3G4200D

Arduino Uno (เกือบทุก Arduino จะทำ)

เซ็นเซอร์เชื่อมต่อกับ Arduino ด้วยวิธีนี้

และ Arduino ก็เชื่อมต่อกับพีซี

ขั้นตอนที่ 2: ซอฟต์แวร์

สำหรับการแสดงภาพ ฉันใช้ Blender และ python

นี่คือจุดเริ่มต้นของปัญหา เราจำเป็นต้องตั้งค่า Blender และ python อย่างถูกวิธี เราต้องการให้ Blender แชร์ Python เวอร์ชันเดียวกับที่ระบบใช้ วิธีที่ดีที่สุดที่จะทำคือดาวน์โหลด Blender ใหม่ล่าสุด ติดตั้ง เปิด python ภายใน Blenders บนคอมพิวเตอร์ของฉันอยู่ที่: C:\Program Files\Blender Foundation\Blender\2.78\python\bin\python.exe มันเผยให้เห็นว่า Blender เวอร์ชัน Python กำลังใช้งานอยู่

ตรงไปที่หน้า Python และดาวน์โหลด python bin เดียวกันที่แน่นอน https://www.python.org/downloads/Install python แต่ให้ตรวจสอบใน [Add Python to PATH] ที่จุดเริ่มต้นของวิซาร์ดการติดตั้ง

เปลี่ยนชื่อโฟลเดอร์ที่ตั้งของ python ที่ blender ใช้เพื่อไม่ให้ blender.rename รู้จักอีกต่อไป

C:\Program Files\Blender Foundation\Blender\2.78\python

ถึง

C:\Program Files\Blender Foundation\Blender\2.78\python_old

ถ้าเราเริ่มปั่นตอนนี้ก็ควรจะเริ่มต้นได้โดยไม่มีปัญหาใดๆ หากโปรแกรมขัดข้อง แสดงว่าเวอร์ชันของ python ไม่เหมือนกับ Blender ที่เคยใช้มาก่อน หรือ PATH ไม่ได้รับการอัพเดต

สิ่งเดียวที่ขาดหายไปคือไลบรารีที่เราจะใช้กับ python เปิดไฟ python และเราจะดาวน์โหลดไลบรารีอนุกรมคำสั่งนี้ซึ่งสามารถดำเนินการได้ผ่านทางบรรทัดคำสั่ง:

pip ติดตั้งซีเรียล

ห้องสมุดนี้จำเป็นเพราะทำให้หลามสามารถรับการเชื่อมต่อแบบอนุกรมจาก Arduino

ขั้นตอนที่ 3: สคริปต์

สคริปต์
สคริปต์

บน Arduino เราจะต้องอัปโหลดสคริปต์นี้:

gist.github.com/BoKKeR/ac4b5e14e5dfe0476df7eb5065e98e98#file-l3g4200d-ino

สคริปต์นี้ฉันพบและแก้ไขจากกระทู้นี้ในฟอรัม Arduino

งานของสคริปต์นี้คือรับข้อมูลจากเซ็นเซอร์ L3G4200D และส่งผ่านพอร์ต COM ที่กำหนดด้วยอัตราบอด 115200

ตัวอย่างผลลัพธ์:

X: 38.72 Y: 8.61 Z: -17.66

X: 39.30 Y: 8.37 Z: -18.17

X: 40.07 Y: 8.24 Z: -18.81

X: 40.89 Y: 8.30 Z: -19.46

X: 41.69 Y: 8.41 Z: -20.05

X: 42.42 Y: 8.41 Z: -20.44

ใน Blender เราจะต้องเปลี่ยนเลย์เอาต์เป็น Scripting

ทางด้านซ้าย เราต้องป้อนสคริปต์หลามซึ่งจะได้รับข้อมูลและประมวลผลจากเซ็นเซอร์ และเปลี่ยนพอร์ต COM เป็นพอร์ตที่ Arduino ของเราตั้งอยู่

gist.github.com/BoKKeR/edb7cc967938d57c979d856607eaa658#file-blender-py

ขั้นตอนที่ 4: เรียกใช้สคริปต์

เรียกใช้สคริปต์
เรียกใช้สคริปต์

หลังจากกดปุ่ม Run Script ทุกอย่างควรจะทำงานได้ และลูกบาศก์ควรจะหมุนเมื่อหมุนเซ็นเซอร์ไจโร

ขั้นตอนที่ 5: การแก้ไขปัญหา

การแก้ไขปัญหา
การแก้ไขปัญหา

หากคุณประสบปัญหาใดๆ กับการทำงานของสคริปต์ คุณจะต้องเปิดคอนโซลระบบ คลิก Window -> Toggle System Console เพื่อแสดงคอนโซลที่แสดงข้อผิดพลาด

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

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

tnorbert.com/visualizing-l3g4200d-gyro-movement-with-blender/

แนะนำ: