สารบัญ:

ควบคุมเครื่องบิน RC ของคุณด้วยเครื่องวัดความเร่งในโทรศัพท์ของคุณ: 15 ขั้นตอน (พร้อมรูปภาพ)
ควบคุมเครื่องบิน RC ของคุณด้วยเครื่องวัดความเร่งในโทรศัพท์ของคุณ: 15 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ควบคุมเครื่องบิน RC ของคุณด้วยเครื่องวัดความเร่งในโทรศัพท์ของคุณ: 15 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: ควบคุมเครื่องบิน RC ของคุณด้วยเครื่องวัดความเร่งในโทรศัพท์ของคุณ: 15 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: โคตรน่าเล่น เครื่องบินบังคับวิทยุสมัยนี้ #เครื่องบินบังคับความเร็วสูง #เครื่องบินบังคับวิทยุ #rctoys 2024, พฤศจิกายน
Anonim
Image
Image
ควบคุมเครื่องบิน RC ของคุณด้วยเครื่องวัดความเร่งในโทรศัพท์ของคุณ
ควบคุมเครื่องบิน RC ของคุณด้วยเครื่องวัดความเร่งในโทรศัพท์ของคุณ

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

พวกคุณส่วนใหญ่มีสมาร์ทโฟนใช่ไหม? และพวกอิเล็กทรอนิกส์ส่วนใหญ่ของคุณส่วนใหญ่ใช้ Android เนื่องจากมีความยืดหยุ่น ฉันหมายความว่าฉันรัก iPhone แต่มันไม่อเนกประสงค์ในการเชื่อมต่อผ่าน Bluetooth หรือฮาร์ดไวร์กับ Arduino หรือไมโครคอนโทรลเลอร์อื่นๆ ทำไมไม่เพียงแค่มาตรความเร่งของโทรศัพท์ล่ะ ดังนั้นฉันจึงเอาความคิดและวิ่งไปกับมัน สองสัปดาห์ต่อมาฉันขอเสนอโครงการนี้ให้คุณ!

ขออภัยผู้ใช้ IOS โครงการนี้เกี่ยวข้องกับผู้ใช้ Android เท่านั้น

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

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

ต้นทุนโครงการ: (ฟรี ต่ำ ปานกลาง บนนั้น อย่างจริงจัง?)

ความยากของโครงการ: (Breezy, Easy, Medium, Hard, Expert, Master)

ระยะเวลาโครงการ: (บนกาแฟหนึ่งถ้วย กลาง เหนือหม้อกาแฟ หลายวัน)

ด้านล่างนี้เป็นเที่ยวบินด่วนที่ฉันมีก่อนหน้านี้เมื่อลมแรง!

ขั้นตอนที่ 1: ดูวิดีโอแบบเต็ม

Image
Image

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

ขั้นตอนที่ 2: การอัปเดตที่สำคัญ [7/16/18]

จริงๆ แล้วฉันเริ่มทำโปรเจ็กต์นี้ในอีกไม่กี่ปีต่อมา และฉันต้องกลับมาที่นี้ ฉันจึงจะได้ข้อมูลบางอย่าง:D

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

เมื่อคุณคอมไพล์ บรรทัดที่ 20 จะแสดงข้อผิดพลาด

int ppm[chanAmount];

เพียงแค่เปลี่ยนเป็น:

int ppm[2];

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

ขั้นตอนที่ 3: ส่วนผสม:

ดาวน์โหลด
ดาวน์โหลด

ทุกสูตรที่ดีต้องการอะไร? วัตถุดิบ. น่าเสียดายที่คุณอาจต้องไปที่อื่นที่ไม่ใช่ร้านขายของชำในมุมของคุณ

วัตถุดิบ:

  • โทรศัพท์ Android
  • Arduino (Uno, Nano, Micro ไม่สำคัญ)
  • แหล่งพลังงานสำหรับ Arduino ฉันจะใช้ 2 เซลล์ขนาดเล็ก 500mAh LiPo
  • โมดูลบลูทูธ HC - 05 หรือ HC-06
  • FTDI Breakout Board (สามารถทำได้ด้วย Arduino แต่ฉันจะไม่แสดงให้คุณเห็น)
  • ปลั๊กเสียงชายโมโน 3.5 มม. แจ็คสเตอริโอจะไม่ทำงาน! ฉันได้ลองแล้ว!
  • 2x LEDs และตัวต้านทานที่สอดคล้องกัน
  • สิ่งที่ส่งมาด้วยโครงการ
  • ลวด 2 คอร์ (สายลำโพงใช้งานได้ดีหรือสาย USB ยาว)
  • เทปพันสายไฟหรือเทปพันสายไฟ
  • หัวเข็มหมุดตัวเมีย (สำหรับโล่ Arduino หากคุณเลือกทำ)
  • บอร์ด Perf (สำหรับ Arduino Shield คุณควรเลือกสร้าง

เครื่องมือ:

  • หัวแร้ง
  • เครื่องปอกสายไฟ
  • กรรไกร
  • เจาะด้วยดอกสว่านต่างๆ
  • ปืนกาวร้อน

ขั้นตอนที่ 4: ดาวน์โหลด

หากคุณต้องการดาวน์โหลดไฟล์.zip ของทุกสิ่งที่คุณต้องการสำหรับสิ่งนี้ คุณสามารถค้นหาได้ที่นี่ หรืออ่านด้านล่าง

ก่อนอื่นคุณต้องดาวน์โหลดแอป Amarino และ Amarino Toolkit และติดตั้งลงในโทรศัพท์ของคุณ คุณสามารถทำได้ด้วย micro SD หรือเพียงแค่ใช้เว็บไซต์โฮสต์ไฟล์ที่คุณชื่นชอบ เช่น Google ไดรฟ์

ประการที่สอง คุณต้องดาวน์โหลดไลบรารี MeetAndroid สำหรับ Arduino IDE ในการติดตั้งไลบรารีให้ทำตามขั้นตอนอย่างระมัดระวัง

สำหรับพีซี:

  1. ปิด Arduino IDE
  2. เปิดเครื่องรูดโฟลเดอร์ MeetAndroid ตอนนี้คุณควรมีโฟลเดอร์ MeetAndroid_4 ที่คลายซิปแล้ว เปิดโฟลเดอร์นี้แล้วตัดโฟลเดอร์ภายในชื่อ MeetAndroid
  3. ไปที่ C:\Program Files (x86)\Arduino\libraries แล้ววางใน MeetAndroid หากคุณทำทุกอย่างถูกต้องควรมีลักษณะเหมือนภาพแรก
  4. เปิด Arduino IDE อีกครั้งและคุณควรเห็นในไลบรารีภายใต้ 'สนับสนุน' ของ MeetAndroid lib

สำหรับ MAC

  1. ปิด Arduino IDE
  2. เปิดเครื่องรูดโฟลเดอร์ MeetAndroid ตอนนี้คุณควรคลายซิปโฟลเดอร์ MeetAndroid_4 แล้ว เปิดโฟลเดอร์นี้และคัดลอกโฟลเดอร์ภายในชื่อ MeetAndroid
  3. ไปที่แอปพลิเคชัน Arduino คลิกเมาส์ขวาเพื่อแสดงเนื้อหาแพ็คเกจ จากนั้นไปที่เนื้อหา/Java/ไลบรารี และวางในโฟลเดอร์ MeetAndroid
  4. เปิด Arduino IDE อีกครั้งและคุณควรเห็นในไลบรารีภายใต้ 'สนับสนุน' ของ MeetAndroid lib

สุดท้ายให้ดาวน์โหลดทั้งภาพสเก็ตช์ Arduino ของฉันที่แนบอยู่ด้านล่างของขั้นตอนนี้ (รวมอยู่ในไฟล์.zip)

ขั้นตอนที่ 5: การกำหนดค่า HC-06

การกำหนดค่า HC-06
การกำหนดค่า HC-06
การกำหนดค่า HC-06
การกำหนดค่า HC-06
การกำหนดค่า HC-06
การกำหนดค่า HC-06

โมดูล Bluetooth HC-06 ของคุณไม่เพียงแค่แกะออกจากกล่องพร้อมใช้ในโปรเจ็กต์นี้ เราต้องเปลี่ยนสิ่งง่ายๆ เพียง 1 อย่าง นั่นคือ อัตรารับส่งข้อมูล ขึ้นอยู่กับว่าคุณซื้อจากใคร อาจมีการกำหนดอัตรารับส่งข้อมูลที่แตกต่างกัน ฉันได้รับ HC-06 สองเครื่องจากผู้ขายสองรายที่แตกต่างกัน และแต่ละเครื่องทำงานที่อัตราบอดที่ต่างกัน เราต้องเปลี่ยนเป็น 115200 บิตต่อวินาที ทำการเชื่อมต่อต่อไปนี้:

HC-06 ------- FTDI Breakout Board

| -------------- |

GND ----- GND

VCC ------ 3.3v

เท็กซัส -------- RX (หรือ DRX)

RX -------- TX (หรือ DTX)

  1. เสียบบอร์ดฝ่าวงล้อม FTDI เข้ากับคอมพิวเตอร์ของคุณ
  2. เปิด Arduino IDE เลือกคอมพอร์ตใดก็ได้ที่มี (ตรวจสอบให้แน่ใจว่าไม่มี Arduino หรืออย่างอื่นเสียบอยู่ในคอมพิวเตอร์)
  3. เปิด Serial Monitor (ไม่ต้องใช้รหัส!)
  4. เลือก 9600 สำหรับอัตราบอดที่ด้านล่างขวาของหน้าต่าง com พิมพ์ "AT" (ต้องเป็นตัวพิมพ์ใหญ่) แล้วกดส่ง ถ้าไม่ได้อะไรคืนก็ไม่เป็นไร ซึ่งหมายความว่าอุปกรณ์ของคุณได้รับการกำหนดค่าด้วยอัตรารับส่งข้อมูลที่แตกต่างกัน ลองใช้อัตราบอดที่ 115200 แล้วพิมพ์ "AT" หากคุณยังไม่ได้รับอะไรเลย ให้ลองทุกอัตราบอดและพิมพ์ "AT" ที่ตัวทั้งหมดจนกว่าคุณจะได้รับการตอบกลับ หากคุณไม่ได้รับการตอบกลับ เป็นไปได้มากว่าคุณไม่ได้ต่อสาย HC-06 อย่างถูกต้อง ตรวจสอบการเชื่อมต่อ
  5. หากคุณได้รับคำตอบว่า "ตกลง" ก็เยี่ยมไปเลย! หากคุณได้รับการตอบสนองจากอัตราบอดอื่น ๆ เท่ากับ 115200 คุณต้องเปลี่ยนเป็น 115200 เมื่อต้องการทำประเภทนี้ "AT+BUAD8" คุณจะได้รับคำตอบ "OK115200" คุณจะต้องเปลี่ยนอัตราบอดเป็น 115200 เพื่อพูดคุยกับบลูทูธต่อไป จากนั้นคุณสามารถทำสิ่งต่างๆ เช่น เปลี่ยนชื่อโดยพิมพ์ "AT+NAMERANDOM" แบบสุ่มเป็นชื่อที่คุณต้องการ ตอนนี้คุณสามารถปิดจอภาพอนุกรมได้แล้ว

ขั้นตอนที่ 6: วงจรที่ไม่สมบูรณ์สำหรับการทดสอบ

วงจรนี้ค่อนข้างง่าย คุณต้องจ่ายไฟให้กับ Arduino (ผ่าน USB เนื่องจากเราจะต้องอัปโหลดข้อมูลบางอย่างลงไป) จากนั้นเชื่อมต่อ HC-06 เพียงเชื่อมต่อตามการเชื่อมต่อด้านล่าง

HC-05/6 --------- Arduino

|=============|

GND ------------ GND

VCC -------------- 5v

TX -------------- RX

RX -------------- TX

ขั้นตอนที่ 7: การติดตั้ง Amarino และ Amarino Toolkit

การติดตั้ง Amarino และ Amarino Toolkit
การติดตั้ง Amarino และ Amarino Toolkit
การติดตั้ง Amarino และ Amarino Toolkit
การติดตั้ง Amarino และ Amarino Toolkit
การติดตั้ง Amarino และ Amarino Toolkit
การติดตั้ง Amarino และ Amarino Toolkit

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

  1. ไปที่การตั้งค่า/ความปลอดภัย และเลื่อนลง คุณควรเห็นกล่องที่ระบุว่า Unknown Sources และกล่องเล็กๆ อยู่ข้างๆ แตะที่กล่องและเปิดใช้งาน มันจะเปิดกล่องโต้ตอบขึ้นมาเพื่อบอกคุณว่ามันเสี่ยงแค่ไหน ฟังดูดีใช่มั้ย? แตะที่ปุ่มตกลง ดูภาพ 1, 2 และ 3
  2. ตอนนี้คุณสามารถเปิดแอป Amarino และปฏิบัติตามคำแนะนำบนหน้าจอได้แล้ว ไม่ยากเกินไปแค่กดใช่
  3. ติดตั้ง Amarino Toolkit ไม่ยากเกินไปเช่นกัน

ขั้นตอนที่ 8: การตั้งค่า Bluetooth

การตั้งค่าบลูทูธ
การตั้งค่าบลูทูธ
การตั้งค่าบลูทูธ
การตั้งค่าบลูทูธ
การตั้งค่าบลูทูธ
การตั้งค่าบลูทูธ

เมื่อใช้โปรเจ็กต์ของคุณ (ชิปบลูทูธเปิดอยู่) ค้นหาการตั้งค่าบลูทูธในโทรศัพท์ของคุณ คุณต้องจับคู่โทรศัพท์กับชิปบลูทูธ แตะสแกนหาอุปกรณ์และอุปกรณ์ของคุณควรแสดงเป็น HC-05 หรือ HC-06 เว้นแต่คุณจะตั้งชื่อไว้ก่อนหน้านี้ มันจะขอหมายเลขพินและจะ 1234 (ฉันรู้ว่าฉันเป็นอัจฉริยะในการแฮ็คอุปกรณ์และค้นหารหัสผ่านลับสุดยอด) ดูรูปภาพ 1, 2 และ 3 ตรวจสอบว่าคุณจับคู่กับอุปกรณ์แล้ว และพร้อมสำหรับขั้นตอนต่อไป หมายเหตุ: ไฟบนอุปกรณ์ Bluetooth จะไม่สว่างเมื่อคุณจับคู่กับโทรศัพท์ของคุณ! ฉันพบว่าในโทรศัพท์ของฉัน ฉันต้องรีสตาร์ทเครื่องหลังจากกระบวนการนี้เพื่อให้โทรศัพท์ปรากฏในแอป Amarino ดังนั้นให้เริ่มต้นโทรศัพท์ของคุณใหม่

ขั้นตอนที่ 9: Amarino

อมาริโน
อมาริโน
อมาริโน
อมาริโน
อมาริโน
อมาริโน

ได้เวลาเปิดอมาริโน่แล้ว คุณจะเห็นบันทึกประจำรุ่นและแตะตกลง ขอบคุณ Bonifaz Kaufman สำหรับการสร้างแอพที่ยอดเยี่ยมนี้ ตัวเลขด้านล่างตรงกับหมายเลขภาพเช่น ขั้นตอนที่ 1 = ภาพที่ 1

  1. หน้าจอต้อนรับ. แตะที่ "เพิ่มอุปกรณ์"
  2. อุปกรณ์ของคุณควรอยู่ในรายการแล้ว แตะที่มัน หากไม่ปรากฏขึ้น ให้ลองรีบูตโทรศัพท์ของคุณ และตรวจสอบให้แน่ใจว่าอุปกรณ์ Bluetooth เชื่อมต่อกับโทรศัพท์แล้ว
  3. ตอนนี้คุณควรมาที่หน้าจอนี้ แตะที่ "เชื่อมต่อ" อาจใช้เวลาสักครู่
  4. หากเชื่อมต่อได้ ไฟบนอุปกรณ์บลูทูธจะติดสว่าง และคุณจะเห็น "การเชื่อมต่อที่ใช้งานอยู่: 1. แตะที่ชื่ออุปกรณ์และไม่ต้องตัดการเชื่อมต่อ
  5. แตะที่ "แสดงกิจกรรม"
  6. ไม่ควรมีเหตุการณ์ แตะที่ "เพิ่มกิจกรรม"
  7. รายการจะปรากฏขึ้นและคุณจะต้องเลือกมาตรความเร่ง โปรดจำไว้ว่าเซ็นเซอร์อื่นๆ เหล่านี้มีอยู่ในโทรศัพท์ของคุณ พวกเขาอาจมีประโยชน์ในวันหนึ่งสำหรับโครงการในภายหลัง!
  8. นี่เป็นเพียงการตั้งค่าบางส่วนสำหรับมาตรความเร่ง ตรวจสอบให้แน่ใจว่าแถบเลื่อนอยู่ที่ "เร็วมาก" และตัวสร้างภาพข้อมูลอยู่บน "ข้อความ" จากนั้นแตะบันทึก
  9. หากคุณเห็นตัวเลขทางด้านขวาของ "เซ็นเซอร์มาตรความเร่ง" แสดงว่าคุณทำได้ดี คุณสามารถทิ้งโทรศัพท์ไว้คนเดียวได้แล้ว หากคุณไม่เห็นตัวเลข ให้กดที่พื้นที่สีเทาค้างไว้เพื่อเปิดเมนู
  10. เลือก "บังคับเปิดใช้งาน"
  11. บิงโก! ตัวเลข! เอียงโทรศัพท์ของคุณและทำความเข้าใจว่าตัวเลขนั้นสัมพันธ์กับมาตรความเร่งอย่างไร
  12. ตอนนี้คุณสามารถวางโทรศัพท์ไว้บนพื้นผิวที่เรียบและเตรียมพร้อมที่จะเริ่มเขียนโค้ดได้แล้ว!

ขั้นตอนที่ 10: ข้ามรหัส

ข้ามรหัส
ข้ามรหัส

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

ถ้าไม่เช่นนั้นคุณอาจต้องทำตามขั้นตอนต่อไป

ขั้นตอนที่ 11: การกำหนดข้อมูลมาตรความเร่ง

การกำหนดข้อมูลมาตรความเร่ง
การกำหนดข้อมูลมาตรความเร่ง
การกำหนดข้อมูลมาตรความเร่ง
การกำหนดข้อมูลมาตรความเร่ง
การกำหนดข้อมูลมาตรความเร่ง
การกำหนดข้อมูลมาตรความเร่ง
การกำหนดข้อมูลมาตรความเร่ง
การกำหนดข้อมูลมาตรความเร่ง

ตอนนี้เรามาถึงส่วนที่สนุกแล้ว เล่นสเก็ตช์ Arduino! หากร่างของคุณไม่ได้รวบรวมให้ดูขั้นตอนสุดท้ายของคำแนะนำนี้

ณ จุดนี้คุณควรให้ Arduino ของคุณเชื่อมต่ออย่างถูกต้องกับ HC-06 ของคุณและคุณควรให้ Amarino ผลักตัวเลขไปยัง Arduino ของคุณผ่าน Bluetooth ตรวจสอบอีกครั้งเพื่อให้แน่ใจว่า HC-06 ยังคงถูกผูกไว้และอัปโหลดภาพร่างต่อไปนี้ไปยัง Arduino (แนบมากับขั้นตอนนี้)

หมายเหตุ: เมื่ออัปโหลดภาพสเก็ตช์ไปยัง Arduino คุณจะต้องถอดปลั๊ก TX และ RX ของ HC-06 ออกจาก Arduino ไม่สามารถอัปโหลด Arduino ได้ในขณะที่ RX และ TX เชื่อมต่อกับบางสิ่ง

หลังจากอัปโหลดภาพร่างนี้ไปยัง Arduino ให้เปิดจอภาพแบบอนุกรม คุณควรเห็นตัวเลขสามตัวคล้องกันโดยคั่นด้วยกล่อง (□) ตัวอย่าง: [0.01□0.02□□9.21] ตัวเลขสองตัวแรกคือการหมุนและระยะห่าง ฉันไม่ได้พยายามหาว่าอันที่สามคืออะไร:D โทรศัพท์ของคุณอาจจะคล้ายกันหรือไม่ก็ได้ หากต้องการค้นหาว่าหมายเลขใดที่หมุนและหมายเลขใดสำหรับระดับเสียงสำหรับโทรศัพท์ของคุณ ให้ทำตามขั้นตอนเหล่านี้

  1. วางโทรศัพท์ไว้บนพื้นผิวเรียบ วางโทรศัพท์โดยให้กล้อง/ลำโพงในหูชี้ไปทางซ้าย และไมโครโฟนชี้ไปทางขวา (ภาพที่ 2).
  2. เอียงด้านซ้ายของโทรศัพท์ขึ้น (ภาพที่ 3) (ตามแนวแกน Z ดูรูปที่ 1 สำหรับแกน) เป็น 45 องศา สังเกตว่าตัวเลขใดเปลี่ยนแปลงอย่างมากในจอภาพแบบอนุกรม หมายเลขนี้จะเป็นม้วนของคุณ
  3. เอียงโทรศัพท์เข้าหาคุณ (ภาพที่ 4) (ตามแนวแกน X ดูรูปที่ 1 สำหรับแกน) เป็น 45 องศา. ไม่ว่าตัวเลขใดจะเปลี่ยนไปอย่างมากก็คือระดับเสียง บันทึกนี้

ตอนนี้เรารู้แล้วว่าตัวเลขสองชุดใดเป็นแบบหมุนและระดับเสียง เราก็ไปเปลี่ยนรหัสได้ เราจะมาดูภาค 2 กัน

สนาม = ข้อมูล[0];

ม้วน = ข้อมูล[1];

หากคุณดูโค้ดก่อนหน้านี้ คุณจะสังเกตเห็นว่าข้อมูลมาตรความเร่งถูกใส่ลงในอาร์เรย์ อาร์เรย์ "ข้อมูล" มี 'จุด' สามจุดที่เรียกว่า 'ดัชนี' สำหรับตัวเลข ดัชนี 0, ดัชนี 1 และดัชนี 2 ตอนนี้คุณทราบแล้วว่าตัวเลขใดแสดงถึงระดับเสียงและการหมุน คุณสามารถกำหนด "ระดับเสียง" และ "การหมุน" ของจำนวนเต็มได้ ตัวเลขที่ถูกต้องในอาร์เรย์ ตัวอย่าง: หากตัวเลขชุดที่สามเปลี่ยนไปเมื่อคุณเอียงโทรศัพท์ไปทางซ้าย/ขวา ซึ่งเป็นการหมุน เราจะเปลี่ยนรหัสเป็นดังนี้:

ม้วน = ข้อมูล[2];

และมันก็ง่ายอย่างนั้น หากโทรศัพท์ของคุณคล้ายกับของฉัน ตัวเลขแรกจะเป็นระดับเสียง ตัวเลขที่สองจะเป็นการทอย และหมายเลขที่สามจะเป็นลักษณะอื่นๆ ของสามมิติ

ขั้นตอนที่ 12: การทำแผนที่ข้อมูลมาตรความเร่ง

การทำแผนที่ข้อมูลมาตรความเร่ง
การทำแผนที่ข้อมูลมาตรความเร่ง

เมื่อคุณกำหนด "roll และ "pitch" ให้กับตัวเลขที่ถูกต้องในข้อมูลอาร์เรย์แล้ว เราก็ไปต่อได้ ดูรูปที่ 1 ไปจนสุดทางซ้าย นี่คือข้อมูลดิบจากมาตรความเร่งของคุณ แต่เราใช้ไม่ได้ ตัวเลขเหล่านี้โดยตรง เราจำเป็นต้องทำการแมปพวกมันใหม่เป็นค่าระหว่าง 1,000 ถึง 2000 ด้วยจุดกึ่งกลางที่ 1500 ในการปรับขนาดตัวเลขให้สูงขึ้น เราจะคูณ "roll" และ "pitch" ด้วย 1000 ซึ่งจะกำจัดทศนิยมทั้งหมดและจะ ให้ความละเอียดที่เหมาะสมแก่เรา ตอนนี้ ถ้าคุณดูตัวเลขในคอลัมน์ที่สอง คุณจะเห็นตัวเลข 'ใหม่' มากำหนดจุดเข้าออกกันเถอะ!

  1. เอียงโทรศัพท์ไปทางซ้าย 45 องศา (ม้วน) แล้วบันทึกหมายเลขนี้
  2. เอียงโทรศัพท์ไปทางขวา 45 องศา (หมุน) แล้วบันทึกหมายเลขนี้
  3. เอียงโทรศัพท์ไปด้านหน้า 45 องศา (ระยะพิทช์) แล้วบันทึกหมายเลขนี้
  4. เอียงโทรศัพท์ไปด้านหลัง 45 องศา (ระดับเสียง) แล้วบันทึกหมายเลขนี้

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

ตัวอย่าง: เอียงโทรศัพท์ไปทางขวา 45 องศา ตัวเลขที่แสดงสำหรับม้วนคือ 5500 สำหรับหมายเลขที่สอง เพียงใช้ -5500 นี่จะเป็นจุดเข้าและออกของเรา เราไม่ต้องการให้ TX ของเราลงทะเบียนอะไรมากไปกว่าจุดเหล่านั้น จากนั้นเราต้องทำการแมปค่าเหล่านั้นใหม่เป็น 1,000-2000 ในกรณีของฉัน -5500 ถึง 5500 เป็นตัวเลขที่ฉันได้รับเมื่อตั้งโทรศัพท์ 45 องศาและหมุนโทรศัพท์ 45 องศา ดังนั้นฉันจึงใช้รหัสต่อไปนี้: หมายเหตุ: ถึงเวลาที่จะลบ /* และ */ ในส่วนที่ 4 เพื่อเปิดใช้งานรหัสนี้ ลบส่วนที่ 3 ทั้งหมดด้วย

pitchval = แผนที่(พิทช์, -5500, 5500, 1000, 2000) -12;

rollval = แผนที่(ม้วน, -5500, 5500, 1000, 2000) + 7;

ตอนนี้ -12 และ +7 เป็นการปรับเพื่อให้ "พิทช์วัล" และ "โรลวัล" มาที่กึ่งกลาง 1500 ตรวจสอบให้แน่ใจว่าโทรศัพท์ของคุณอยู่บนพื้นผิวเรียบเมื่อคุณทำการปรับเปลี่ยนเหล่านี้ หากศูนย์ของคุณไม่ได้อยู่ที่ 1500 เครื่องบินของคุณอาจเบี่ยงเบนไปในทิศทางที่คุณมีระดับโทรศัพท์ของคุณ

เราจำเป็นต้องจำกัดการพลิกกลับและระยะพิทช์ เราไม่ต้องการให้พวกเขาไปมากกว่า 2,000 หรือน้อยกว่า 1,000 หรือสิ่งอื่น ๆ เริ่มยุ่งเหยิง! ดังนั้นเราจึงพิมพ์สิ่งนี้..

pitchval = ข้อ จำกัด (pitchval, 1000, 2000);

rollval = ข้อ จำกัด (rollval, 1000, 2000);

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

  • เมื่อคุณหมุนโทรศัพท์ไปทางซ้าย ค่า Rollval ควรลดลงเหลือ 1,000
  • เมื่อหมุนขวาควรเพิ่มเป็น 2,000
  • เมื่อคุณตั้งโทรศัพท์ถอยหลัง ระดับเสียงควรลดลงเหลือ 1,000
  • เมื่อคุณขว้างโทรศัพท์ไปข้างหน้า โทรศัพท์ควรเพิ่มขึ้นเป็น 2000
  • ศูนย์ทั้งสองควรอยู่ที่ 1500 เมื่อคุณวางโทรศัพท์บนพื้นผิวเรียบ

หากคุณหมุนโทรศัพท์ไปทางซ้ายและโรลวัลเพิ่มขึ้นแทนที่จะลดลง ให้เปลี่ยน 1,000 ที่คุณคูณ "ม้วน" เป็น -1000 (ในส่วนที่ 2) เช่นเดียวกันสำหรับ "ระดับเสียง" หากตัวเลขกลับด้าน

โค้ดตัวอย่างการยึดม้วนในตัวอย่างด้านบน

พิทช์ = (พิทช์ * -1000); // คูณ 1000 เพื่อกำจัดทศนิยม

ม้วน = (ม้วน * -1000);

ดังนั้นหากทุกอย่างทำงานได้ดี เราก็สามารถเพิ่มสิ่งนี้ลงในโค้ดสุดท้ายได้!

  1. เปิดแบบร่าง ReadRawAccel คัดลอกทุกอย่างภายใต้ตัวสร้าง page1
  2. เปิดภาพร่าง TiltTX_Final เลื่อนไปที่ด้านล่างสุดโดยระบุว่า "วางหน้า 1 ที่นี่" และแทนที่โค้ดทั้งหมดด้านล่าง
  3. อัปโหลดภาพร่าง TiltTX_Final ไปยัง Arduino ของคุณ

ขั้นตอนที่ 13: เวลาวงจร

เวลาวงจร!
เวลาวงจร!
เวลาวงจร!
เวลาวงจร!
เวลาวงจร!
เวลาวงจร!
เวลาวงจร!
เวลาวงจร!

เมื่อทำส่วนที่ยากเสร็จแล้ว ก็ถึงเวลาสร้างวงจร คุณอาจเลือกที่จะไม่สร้างเกราะป้องกันเพื่อประหยัดเวลาและชิ้นส่วน แต่ฉันชอบที่จะสร้างโปรเจ็กต์ของฉันด้วยชีลด์เสมอในกรณีที่ฉันจำเป็นต้องใช้ Arduino นั้นกับโปรเจ็กต์อื่น สำหรับโครงการนี้ ฉันจะใช้ Arduino Nano เพราะฉันต้องการให้ทั้งหมดนี้อยู่ในกล่องขนาดเล็ก แต่คุณสามารถใช้ Arduino ตัวอื่นได้ ตั้งแต่ Mega ไปจนถึง LilyPad ดังนั้นให้ศึกษาแผนผัง ดูวิดีโอ และเริ่มบัดกรี! ฉันจะไม่โพสต์ภาพทั้งหมดที่นี่เพราะฉันแสดงให้คุณเห็นทีละขั้นตอนวิธีการทำในวิดีโอ

ขั้นตอนที่ 14: การตั้งค่าเทรนเนอร์

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

หมายเหตุ ช่อง 0 คือเค้น ช่อง 1 คือม้วน และช่อง 2 คือระยะห่าง

หากคุณต้องการเปลี่ยนสิ่งเหล่านี้ให้ไปที่รหัสที่นี่:

ppm[0] = เค้น;

ppm[1] = โรลวัล; ppm[2] = pitchval;

ขั้นตอนที่ 15: บทสรุป

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

1. MeetAndroid meetAndroid(ข้อผิดพลาด); //สิ่งที่เกี่ยวกับบลูทูธของ Android อย่าแตะต้องข้อผิดพลาด this.void (ค่าสถานะ uint8_t, ค่า uint8_t) // สิ่งอื่นๆ เกี่ยวกับบลูทูธ { Serial.print ("ข้อผิดพลาด: "); Serial.println (แฟล็ก); }

เมื่อเสร็จแล้วควรมีลักษณะดังนี้:

เกิดข้อผิดพลาดเป็นโมฆะ (แฟล็ก uint8_t, ค่า uint8_t) // สิ่งอื่นๆ เกี่ยวกับบลูทูธ

{ Serial.print ("ข้อผิดพลาด: "); Serial.println (แฟล็ก); } MeetAndroid meetAndroid(ข้อผิดพลาด); //สิ่งที่เกี่ยวกับบลูทูธของ Android อย่าแตะต้องสิ่งนี้

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

HavocRC, ~AJ

แนะนำ: