สารบัญ:

Arduino Nano: มาตรความเร่ง Gyroscope Compass MPU9250 I2C Sensor พร้อม Visuino: 11 ขั้นตอน
Arduino Nano: มาตรความเร่ง Gyroscope Compass MPU9250 I2C Sensor พร้อม Visuino: 11 ขั้นตอน

วีดีโอ: Arduino Nano: มาตรความเร่ง Gyroscope Compass MPU9250 I2C Sensor พร้อม Visuino: 11 ขั้นตอน

วีดีโอ: Arduino Nano: มาตรความเร่ง Gyroscope Compass MPU9250 I2C Sensor พร้อม Visuino: 11 ขั้นตอน
วีดีโอ: 9-Axis IMU LESSON 10: Making a Tilt Compensated Compass with Arduino 2024, พฤศจิกายน
Anonim
Image
Image

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

สองสามสัปดาห์ที่ผ่านมา GearBest ดีพอที่จะบริจาคโมดูล MPU9250 เพื่อสนับสนุนการเพิ่มการสนับสนุนใน Visuino ใช้เวลาทำงานหนัก 2 สัปดาห์ แต่ในตอนท้ายฉันไม่เพียงได้รับการสนับสนุนสำหรับ MPU9250 เท่านั้น แต่ยังเพิ่มตัวแปลง Acceleration To Angle, ส่วนประกอบเสริม (ลำดับที่หนึ่งและสอง) และตัวกรอง Kalman ที่สามารถใช้ร่วมกับมันเพื่อปรับปรุง ความแม่นยำ

นี่เป็นคำสั่งแรกในการรองรับ MPU9250 ใหม่ใน Visuino และแสดงให้เห็นว่าใช้งานกับ Visuino ได้ง่ายเพียงใด ในคำแนะนำต่อไปนี้ ฉันจะแสดงให้คุณเห็นว่าคุณสามารถใช้ตัวแปลง Acceleration To Angle ฟิลเตอร์เสริมและตัวกรองคาลมานได้อย่างไร และรับผลลัพธ์ที่ดีจริงๆ จากโมดูลเซ็นเซอร์ของคุณ

ขั้นตอนที่ 1: ส่วนประกอบ

เชื่อมต่อ MPU9250 Accelerometer Gyroscope Compass กับ Arduino
เชื่อมต่อ MPU9250 Accelerometer Gyroscope Compass กับ Arduino
  1. บอร์ดที่เข้ากันได้กับ Arduino หนึ่งตัว (ฉันใช้ Arduino Nano เพราะฉันมีอยู่ตัวหนึ่ง แต่ตัวอื่นก็ใช้ได้)
  2. โมดูลเซ็นเซอร์ MPU9250 หนึ่งโมดูล (ในกรณีของฉันบริจาคโดย GearBest อย่างไม่เห็นแก่ตัว)
  3. สายจัมเปอร์หญิง-หญิง 4 เส้น

ขั้นตอนที่ 2: เชื่อมต่อ MPU9250 Accelerometer Gyroscope Compass กับ Arduino

เชื่อมต่อ MPU9250 Accelerometer Gyroscope Compass กับ Arduino
เชื่อมต่อ MPU9250 Accelerometer Gyroscope Compass กับ Arduino
เชื่อมต่อ MPU9250 Accelerometer Gyroscope Compass กับ Arduino
เชื่อมต่อ MPU9250 Accelerometer Gyroscope Compass กับ Arduino
  1. ต่อไฟ 5V VCC (สายสีแดง), กราวด์ (สายสีดำ), SDA (สายสีเขียว) และ SCL (สายสีเหลือง) เข้ากับโมดูล MPU9250 (ภาพที่ 1)
  2. ต่อปลายอีกด้านของสายกราวด์ (สายสีดำ) เข้ากับกราวด์พินของบอร์ด Arduino (ภาพที่ 2)
  3. เชื่อมต่อปลายอีกด้านของสายไฟ 5V VCC (สายสีแดง) เข้ากับพินไฟ 5V ของบอร์ด Arduino (ภาพที่ 2)
  4. เชื่อมต่อปลายอีกด้านของสาย SDA (สายสีเขียว) เข้ากับ SDA/Analog pin 4 ของบอร์ด Arduino Nano (ภาพที่ 2)
  5. เชื่อมต่อปลายอีกด้านของสาย SCL (สายสีเหลือง) เข้ากับ SCL/Analog pin 5 ของบอร์ด Arduino Nano (ภาพที่ 2)
  6. ภาพที่ 3 แสดงตำแหน่งกราวด์, กำลังไฟ 5V, พิน SDA/อนาล็อก 4 และพิน SCL/อนาล็อก 5, พินของ Arduino Nano

ขั้นตอนที่ 3: เริ่ม Visuino และเลือก Arduino Board Type

เริ่ม Visuino และเลือก Arduino Board Type
เริ่ม Visuino และเลือก Arduino Board Type
เริ่ม Visuino และเลือก Arduino Board Type
เริ่ม Visuino และเลือก Arduino Board Type

ในการเริ่มต้นเขียนโปรแกรม Arduino คุณจะต้องติดตั้ง Arduino IDE จากที่นี่:

ตรวจสอบให้แน่ใจว่าคุณติดตั้ง 1.6.7 หรือสูงกว่า มิฉะนั้น Instructable นี้จะไม่ทำงาน!

ต้องติดตั้ง Visuino: https://www.visuino.com ด้วย

  1. เริ่ม Visuino ตามที่แสดงในภาพแรก
  2. คลิกที่ปุ่ม "เครื่องมือ" บนส่วนประกอบ Arduino (ภาพที่ 1) ใน Visuino
  3. เมื่อไดอะล็อกปรากฏขึ้น ให้เลือก Arduino Nano ดังแสดงในภาพที่ 2

ขั้นตอนที่ 4: ใน Visuino: เพิ่มและเชื่อมต่อส่วนประกอบ MPU9250

ใน Visuino: เพิ่มและเชื่อมต่อส่วนประกอบ MPU9250
ใน Visuino: เพิ่มและเชื่อมต่อส่วนประกอบ MPU9250
ใน Visuino: เพิ่มและเชื่อมต่อส่วนประกอบ MPU9250
ใน Visuino: เพิ่มและเชื่อมต่อส่วนประกอบ MPU9250
ใน Visuino: เพิ่มและเชื่อมต่อส่วนประกอบ MPU9250
ใน Visuino: เพิ่มและเชื่อมต่อส่วนประกอบ MPU9250
  1. พิมพ์ "mpu" ในช่อง Filter ของ Component Toolbox จากนั้นเลือกส่วนประกอบ "Accelerometer Gyroscope Compass MPU9250 I2C" (ภาพที่ 1) และวางลงในพื้นที่ออกแบบ (ภาพที่ 2)
  2. เชื่อมต่อพิน "ออก" ของส่วนประกอบ AccelerometerGyroscopeCompass1 เข้ากับพิน "ใน" ของช่อง I2C ของส่วนประกอบ Arduino (ภาพที่ 3)

ขั้นตอนที่ 5: ใน Visuino: เพิ่มและเชื่อมต่อ Packet Component

ใน Visuino: เพิ่มและเชื่อมต่อ Packet Component
ใน Visuino: เพิ่มและเชื่อมต่อ Packet Component
ใน Visuino: เพิ่มและเชื่อมต่อ Packet Component
ใน Visuino: เพิ่มและเชื่อมต่อ Packet Component

ในการส่งข้อมูลช่องสัญญาณทั้งหมดผ่านพอร์ตอนุกรมจาก Arduino เราสามารถใช้ส่วนประกอบ Packet เพื่อแพ็คเก็ตช่องสัญญาณเข้าด้วยกัน และแสดงในขอบเขตและมาตรวัดใน Visuino:

  1. พิมพ์ "pack" ในช่อง Filter ของ Component Toolbox จากนั้นเลือกส่วนประกอบ "Packet" (ภาพที่ 1) และวางลงในพื้นที่ออกแบบ
  2. เชื่อมต่อพินเอาต์พุต "Out" ของส่วนประกอบ Packet1 กับพินอินพุต "In" ของช่อง "Serial[0]" ของส่วนประกอบ "Arduino" (ภาพที่ 2)

ขั้นตอนที่ 6: ใน Visuino: เพิ่ม 7 Binary Analog Elements ไปยัง Packet Component และระบุชื่อของพวกเขา

ใน Visuino: เพิ่ม 7 Binary Analog Elements ไปยัง Packet Component และระบุชื่อของพวกเขา
ใน Visuino: เพิ่ม 7 Binary Analog Elements ไปยัง Packet Component และระบุชื่อของพวกเขา
ใน Visuino: เพิ่ม 7 Binary Analog Elements ไปยัง Packet Component และระบุชื่อของพวกเขา
ใน Visuino: เพิ่ม 7 Binary Analog Elements ไปยัง Packet Component และระบุชื่อของพวกเขา
ใน Visuino: เพิ่ม 7 Binary Analog Elements ไปยัง Packet Component และระบุชื่อของพวกเขา
ใน Visuino: เพิ่ม 7 Binary Analog Elements ไปยัง Packet Component และระบุชื่อของพวกเขา
  1. คลิกที่ปุ่ม "เครื่องมือ" ขององค์ประกอบ Packet1 (ภาพที่ 1)
  2. ในตัวแก้ไข "องค์ประกอบ" เลือกองค์ประกอบ "ไบนารีอนาล็อก" จากนั้นคลิกที่ปุ่ม "+" (ภาพที่ 2) เพื่อเพิ่มองค์ประกอบอะนาล็อก
  3. ใน Object Inspector ตั้งค่าคุณสมบัติ "Name" ของ Analog Element เป็น "Compass(X)" (ภาพที่ 3)
  4. ในตัวแก้ไข "องค์ประกอบ" ให้เลือกองค์ประกอบ "ไบนารีอนาล็อก" ทางด้านขวา จากนั้นคลิกที่ปุ่ม "+" ทางด้านซ้ายเพื่อเพิ่มองค์ประกอบแอนะล็อกอื่น
  5. ใน Object Inspector ตั้งค่าคุณสมบัติ "Name" ของ Analog Element ใหม่เป็น "Compass(Y)" (ภาพที่ 4)
  6. ในตัวแก้ไข "องค์ประกอบ" ให้เลือกองค์ประกอบ "ไบนารีอนาล็อก" ทางด้านขวา จากนั้นคลิกที่ปุ่ม "+" ทางด้านซ้ายเพื่อเพิ่มองค์ประกอบแอนะล็อกอื่น
  7. ใน Object Inspector ตั้งค่าคุณสมบัติ "Name" ของ Analog Element ใหม่เป็น "Compass(Z)" (ภาพที่ 5)
  8. ทำซ้ำขั้นตอนเดิมเพื่อเพิ่มองค์ประกอบไบนารีอนาล็อกอีก 7 ตัวที่ชื่อว่า "Accelerometer(X)", "Accelerometer(Y)", "Accelerometer(Z)", "Gyroscope(X)", "Gyroscope(Y)", "Gyroscope(Z)" และ "เทอร์โมมิเตอร์" (ภาพที่ 6)

ขั้นตอนที่ 7: ใน Visuino: กำหนดค่าการแสดงภาพองค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์

ใน Visuino: กำหนดค่าการแสดงภาพขององค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์
ใน Visuino: กำหนดค่าการแสดงภาพขององค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์
ใน Visuino: กำหนดค่าการแสดงภาพขององค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์
ใน Visuino: กำหนดค่าการแสดงภาพขององค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์
ใน Visuino: กำหนดค่าการแสดงภาพขององค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์
ใน Visuino: กำหนดค่าการแสดงภาพขององค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์
ใน Visuino: กำหนดค่าการแสดงภาพขององค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์
ใน Visuino: กำหนดค่าการแสดงภาพขององค์ประกอบแพ็คเก็ตสำหรับเทอร์โมมิเตอร์

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

  1. ในตัวแก้ไข Elements ให้เลือกองค์ประกอบอนาล็อกสุดท้ายที่ชื่อว่า "Thermometer" (ภาพที่ 1)
  2. ใน Object Inspector เลือกคุณสมบัติ "Instrument" และคลิกที่ปุ่ม "Arrow Down" ถัดจากค่าของมัน (ภาพที่ 1)
  3. จากช่องแบบเลื่อนลงให้เลือก "เทอร์โมมิเตอร์" (ภาพที่ 2)
  4. ใน Object Inspector ให้ขยายคุณสมบัติ "Instrument" จากนั้นไปที่ "Scale" sub-property (ภาพที่ 3)
  5. ใน Object Inspector ให้ตั้งค่าคุณสมบัติย่อย "Auto" ของ "Scale" เป็น False (ภาพที่ 3) ซึ่งจะปิดใช้งานการปรับขนาดอัตโนมัติสำหรับเทอร์โมมิเตอร์
  6. ใน Object Inspector ตั้งค่าคุณสมบัติย่อย "Max" ของ "Scale" เป็น 100 (ภาพที่ 4) ซึ่งจะกำหนดค่าเครื่องวัดอุณหภูมิให้มีมาตราส่วนตั้งแต่ 0 ถึง 100

ขั้นตอนที่ 8: ใน Visuino: ระบุ Unique Packet Header

ใน Visuino: ระบุ Unique Packet Header
ใน Visuino: ระบุ Unique Packet Header
ใน Visuino: ระบุ Unique Packet Header
ใน Visuino: ระบุ Unique Packet Header

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

  1. เลือกองค์ประกอบ Packet1 (ภาพที่ 1)
  2. ใน Object Inspector ให้ขยายคุณสมบัติ "Head Marker" (ภาพที่ 1)
  3. ใน Object Inspector ให้คลิกที่ปุ่ม "…" (ภาพที่ 1)
  4. ในตัวแก้ไข Bytes ให้พิมพ์ตัวเลขบางตัว เช่น 55 55 (ภาพที่ 2)
  5. คลิกที่ปุ่ม OK เพื่อยืนยันและปิดตัวแก้ไข

ขั้นตอนที่ 9: ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component

ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component
ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component
ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component
ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component
ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component
ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component
ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component
ใน Visuino: เชื่อมต่อคอมโพเนนต์ MPU9250 กับองค์ประกอบของ Packet Component
  1. คลิกในกล่อง "ออก" ที่มีหมุดของ "เข็มทิศ" ของส่วนประกอบ AccelerometerGyroscopeCompass1 เพื่อเริ่มเชื่อมต่อหมุดออกทั้งหมดพร้อมกัน (ภาพที่ 1)
  2. เลื่อนเมาส์ไปที่พิน "ใน" ขององค์ประกอบ "Elements. Compass(X)" ขององค์ประกอบ Packet1 Visuino จะกระจายสายไฟโดยอัตโนมัติเพื่อให้เชื่อมต่อกับหมุดที่เหลือได้อย่างถูกต้อง (ภาพที่ 1)
  3. คลิกในกล่อง "ออก" ที่มีหมุดของ "มาตรความเร่ง" ของส่วนประกอบ AccelerometerGyroscopeCompass1 เพื่อเริ่มเชื่อมต่อหมุดออกทั้งหมดพร้อมกัน (ภาพที่ 2)
  4. เลื่อนเมาส์ไปที่พิน "ใน" ขององค์ประกอบ "Elements. Accelerometer(X)" ขององค์ประกอบ Packet1 Visuino จะกระจายสายไฟโดยอัตโนมัติเพื่อให้เชื่อมต่อกับหมุดที่เหลือได้อย่างถูกต้อง (ภาพที่ 2)
  5. คลิกในกล่อง "ออก" ที่มีหมุดของ "Gyroscope" ของส่วนประกอบ AccelerometerGyroscopeCompass1 เพื่อเริ่มเชื่อมต่อหมุดออกทั้งหมดพร้อมกัน (ภาพที่ 3)
  6. เลื่อนเมาส์ไปที่พิน "ใน" ขององค์ประกอบ "Elements. Gyroscope(X)" ขององค์ประกอบ Packet1 Visuino จะกระจายสายไฟโดยอัตโนมัติเพื่อให้เชื่อมต่อกับหมุดที่เหลือได้อย่างถูกต้อง (ภาพที่ 3)
  7. เชื่อมต่อพิน "ออก" ของ "เทอร์โมมิเตอร์" ของส่วนประกอบ AccelerometerGyroscopeCompass1 กับพิน "เข้า" ของพินอินพุต "องค์ประกอบ.เทอร์โมมิเตอร์" ของส่วนประกอบ Packet1 (ภาพที่ 4)

ขั้นตอนที่ 10: สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino

สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino
สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino
สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino
สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino
  1. ใน Visuino ให้กด F9 หรือคลิกที่ปุ่มที่แสดงในรูปที่ 1 เพื่อสร้างโค้ด Arduino และเปิด Arduino IDE
  2. ใน Arduino IDE ให้คลิกที่ปุ่ม Upload เพื่อคอมไพล์และอัพโหลดโค้ด (ภาพที่ 2)

ขั้นตอนที่ 11: และเล่น…

และเล่น…
และเล่น…
และเล่น…
และเล่น…
และเล่น…
และเล่น…
  1. ใน Visuino เลือก ComPort จากนั้นคลิกที่กล่องดรอปดาวน์ "รูปแบบ:" และเลือก Packet1 (ภาพที่ 1)
  2. คลิกที่ปุ่ม "เชื่อมต่อ" (ภาพที่ 1)
  3. หากคุณเลือกแท็บ "ขอบเขต" คุณจะเห็นขอบเขตที่แสดงค่า X, Y, Z จากมาตรความเร่ง, ไจโรสโคป และเข็มทิศ ตลอดจนอุณหภูมิเมื่อเวลาผ่านไป (ภาพที่ 2)
  4. หากคุณเลือกแท็บ "เครื่องมือ" คุณจะเห็นเทอร์โมมิเตอร์และเกจแสดงข้อมูลเดียวกัน (ภาพที่ 3)

คุณสามารถดูเซ็นเซอร์ MPU9250 Accelerometer, Gyroscope และ Compass ที่เชื่อมต่อและใช้งานอยู่ในภาพที่ 4

ยินดีด้วย! คุณได้สร้างโครงการวัดความเร่ง MPU9250, Gyroscope และ Compass ใน Arduino ด้วย Visual Instrumentation

ในรูปที่ 5 คุณสามารถดูไดอะแกรม Visuino ทั้งหมดได้

สิ่งที่แนบมาด้วยคือโครงการ Visuino ที่ฉันสร้างขึ้นสำหรับคำแนะนำนี้ ดาวน์โหลดและเปิดได้ใน Visuino:

แนะนำ: