สารบัญ:
- ขั้นตอนที่ 1: ดูวิดีโอแบบเต็ม
- ขั้นตอนที่ 2: การอัปเดตที่สำคัญ [7/16/18]
- ขั้นตอนที่ 3: ส่วนผสม:
- ขั้นตอนที่ 4: ดาวน์โหลด
- ขั้นตอนที่ 5: การกำหนดค่า HC-06
- ขั้นตอนที่ 6: วงจรที่ไม่สมบูรณ์สำหรับการทดสอบ
- ขั้นตอนที่ 7: การติดตั้ง Amarino และ Amarino Toolkit
- ขั้นตอนที่ 8: การตั้งค่า Bluetooth
- ขั้นตอนที่ 9: Amarino
- ขั้นตอนที่ 10: ข้ามรหัส
- ขั้นตอนที่ 11: การกำหนดข้อมูลมาตรความเร่ง
- ขั้นตอนที่ 12: การทำแผนที่ข้อมูลมาตรความเร่ง
- ขั้นตอนที่ 13: เวลาวงจร
- ขั้นตอนที่ 14: การตั้งค่าเทรนเนอร์
- ขั้นตอนที่ 15: บทสรุป
วีดีโอ: ควบคุมเครื่องบิน RC ของคุณด้วยเครื่องวัดความเร่งในโทรศัพท์ของคุณ: 15 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
คุณเคยต้องการควบคุมเครื่องบิน RC ของคุณด้วยการเอียงวัตถุหรือไม่? ฉันมีความคิดอยู่ในหัวมาตลอด แต่ฉันไม่เคยทำตามเลยจนกระทั่งเมื่อสัปดาห์ที่แล้ว ความคิดเริ่มต้นของฉันคือการใช้มาตรความเร่งสามแกนแต่แล้วฉันก็มีความคิด..
พวกคุณส่วนใหญ่มีสมาร์ทโฟนใช่ไหม? และพวกอิเล็กทรอนิกส์ส่วนใหญ่ของคุณส่วนใหญ่ใช้ Android เนื่องจากมีความยืดหยุ่น ฉันหมายความว่าฉันรัก iPhone แต่มันไม่อเนกประสงค์ในการเชื่อมต่อผ่าน Bluetooth หรือฮาร์ดไวร์กับ Arduino หรือไมโครคอนโทรลเลอร์อื่นๆ ทำไมไม่เพียงแค่มาตรความเร่งของโทรศัพท์ล่ะ ดังนั้นฉันจึงเอาความคิดและวิ่งไปกับมัน สองสัปดาห์ต่อมาฉันขอเสนอโครงการนี้ให้คุณ!
ขออภัยผู้ใช้ IOS โครงการนี้เกี่ยวข้องกับผู้ใช้ Android เท่านั้น
ตอนนี้โครงการนี้ไม่ได้ควบคุมหางเสือหรือเค้น หากคุณจะสังเกตเห็นว่าฉันได้เพิ่มโค้ดให้คุณใช้โพเทนชิออมิเตอร์บนพิน A1 เพื่อควบคุมคันเร่ง แม้ว่าตัวฉันเองจะไม่ใช้มันก็ตาม ฉันจะใช้คันเร่งของเครื่องส่งสัญญาณของฉัน
หากคุณต้องการทำโปรเจ็กต์นี้ให้เสร็จ เราขอแนะนำให้คุณดูวิดีโอทั้งหมดก่อนเริ่มทำงาน ทักษะทางอิเล็กทรอนิกส์ที่จำเป็นสำหรับโครงการนี้มีน้อย แต่ส่วนที่ยากคือการทำงานกับโค้ด คว้าหัวแร้งและ Arduino แล้วไปต่อได้เลย
ต้นทุนโครงการ: (ฟรี ต่ำ ปานกลาง บนนั้น อย่างจริงจัง?)
ความยากของโครงการ: (Breezy, Easy, Medium, Hard, Expert, Master)
ระยะเวลาโครงการ: (บนกาแฟหนึ่งถ้วย กลาง เหนือหม้อกาแฟ หลายวัน)
ด้านล่างนี้เป็นเที่ยวบินด่วนที่ฉันมีก่อนหน้านี้เมื่อลมแรง!
ขั้นตอนที่ 1: ดูวิดีโอแบบเต็ม
วิดีโอและข้อความครอบคลุมเนื้อหาเดียวกันเกือบทั้งหมด ยกเว้นข้อความไม่ได้รวมกระบวนการทีละขั้นตอนเพื่อสร้างกรณีของโครงการและเชื่อมต่อทุกอย่าง ข้อความอ่านไม่ออกอีกเล็กน้อยเกี่ยวกับการเข้ารหัสบางส่วนที่เกี่ยวข้อง
ขั้นตอนที่ 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 ในการติดตั้งไลบรารีให้ทำตามขั้นตอนอย่างระมัดระวัง
สำหรับพีซี:
- ปิด Arduino IDE
- เปิดเครื่องรูดโฟลเดอร์ MeetAndroid ตอนนี้คุณควรมีโฟลเดอร์ MeetAndroid_4 ที่คลายซิปแล้ว เปิดโฟลเดอร์นี้แล้วตัดโฟลเดอร์ภายในชื่อ MeetAndroid
- ไปที่ C:\Program Files (x86)\Arduino\libraries แล้ววางใน MeetAndroid หากคุณทำทุกอย่างถูกต้องควรมีลักษณะเหมือนภาพแรก
- เปิด Arduino IDE อีกครั้งและคุณควรเห็นในไลบรารีภายใต้ 'สนับสนุน' ของ MeetAndroid lib
สำหรับ MAC
- ปิด Arduino IDE
- เปิดเครื่องรูดโฟลเดอร์ MeetAndroid ตอนนี้คุณควรคลายซิปโฟลเดอร์ MeetAndroid_4 แล้ว เปิดโฟลเดอร์นี้และคัดลอกโฟลเดอร์ภายในชื่อ MeetAndroid
- ไปที่แอปพลิเคชัน Arduino คลิกเมาส์ขวาเพื่อแสดงเนื้อหาแพ็คเกจ จากนั้นไปที่เนื้อหา/Java/ไลบรารี และวางในโฟลเดอร์ MeetAndroid
- เปิด Arduino IDE อีกครั้งและคุณควรเห็นในไลบรารีภายใต้ 'สนับสนุน' ของ MeetAndroid lib
สุดท้ายให้ดาวน์โหลดทั้งภาพสเก็ตช์ Arduino ของฉันที่แนบอยู่ด้านล่างของขั้นตอนนี้ (รวมอยู่ในไฟล์.zip)
ขั้นตอนที่ 5: การกำหนดค่า HC-06
โมดูล Bluetooth HC-06 ของคุณไม่เพียงแค่แกะออกจากกล่องพร้อมใช้ในโปรเจ็กต์นี้ เราต้องเปลี่ยนสิ่งง่ายๆ เพียง 1 อย่าง นั่นคือ อัตรารับส่งข้อมูล ขึ้นอยู่กับว่าคุณซื้อจากใคร อาจมีการกำหนดอัตรารับส่งข้อมูลที่แตกต่างกัน ฉันได้รับ HC-06 สองเครื่องจากผู้ขายสองรายที่แตกต่างกัน และแต่ละเครื่องทำงานที่อัตราบอดที่ต่างกัน เราต้องเปลี่ยนเป็น 115200 บิตต่อวินาที ทำการเชื่อมต่อต่อไปนี้:
HC-06 ------- FTDI Breakout Board
| -------------- |
GND ----- GND
VCC ------ 3.3v
เท็กซัส -------- RX (หรือ DRX)
RX -------- TX (หรือ DTX)
- เสียบบอร์ดฝ่าวงล้อม FTDI เข้ากับคอมพิวเตอร์ของคุณ
- เปิด Arduino IDE เลือกคอมพอร์ตใดก็ได้ที่มี (ตรวจสอบให้แน่ใจว่าไม่มี Arduino หรืออย่างอื่นเสียบอยู่ในคอมพิวเตอร์)
- เปิด Serial Monitor (ไม่ต้องใช้รหัส!)
- เลือก 9600 สำหรับอัตราบอดที่ด้านล่างขวาของหน้าต่าง com พิมพ์ "AT" (ต้องเป็นตัวพิมพ์ใหญ่) แล้วกดส่ง ถ้าไม่ได้อะไรคืนก็ไม่เป็นไร ซึ่งหมายความว่าอุปกรณ์ของคุณได้รับการกำหนดค่าด้วยอัตรารับส่งข้อมูลที่แตกต่างกัน ลองใช้อัตราบอดที่ 115200 แล้วพิมพ์ "AT" หากคุณยังไม่ได้รับอะไรเลย ให้ลองทุกอัตราบอดและพิมพ์ "AT" ที่ตัวทั้งหมดจนกว่าคุณจะได้รับการตอบกลับ หากคุณไม่ได้รับการตอบกลับ เป็นไปได้มากว่าคุณไม่ได้ต่อสาย HC-06 อย่างถูกต้อง ตรวจสอบการเชื่อมต่อ
- หากคุณได้รับคำตอบว่า "ตกลง" ก็เยี่ยมไปเลย! หากคุณได้รับการตอบสนองจากอัตราบอดอื่น ๆ เท่ากับ 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 ไปยังโทรศัพท์ของคุณแล้ว แต่ก่อนที่คุณจะติดตั้ง คุณต้องเปลี่ยนการตั้งค่าในโทรศัพท์ของคุณ โทรศัพท์ของคุณจะไม่อนุญาตให้คุณติดตั้งแอปในตอนแรกเนื่องจากไม่ใช่แอปพลิเคชันที่ผ่านการรับรองจาก Play Store ของ Android ดังนั้น เราจะต้องอนุญาตให้โทรศัพท์ติดตั้งแอพที่ไม่ผ่านการรับรอง นี้ค่อนข้างง่าย
- ไปที่การตั้งค่า/ความปลอดภัย และเลื่อนลง คุณควรเห็นกล่องที่ระบุว่า Unknown Sources และกล่องเล็กๆ อยู่ข้างๆ แตะที่กล่องและเปิดใช้งาน มันจะเปิดกล่องโต้ตอบขึ้นมาเพื่อบอกคุณว่ามันเสี่ยงแค่ไหน ฟังดูดีใช่มั้ย? แตะที่ปุ่มตกลง ดูภาพ 1, 2 และ 3
- ตอนนี้คุณสามารถเปิดแอป Amarino และปฏิบัติตามคำแนะนำบนหน้าจอได้แล้ว ไม่ยากเกินไปแค่กดใช่
- ติดตั้ง Amarino Toolkit ไม่ยากเกินไปเช่นกัน
ขั้นตอนที่ 8: การตั้งค่า Bluetooth
เมื่อใช้โปรเจ็กต์ของคุณ (ชิปบลูทูธเปิดอยู่) ค้นหาการตั้งค่าบลูทูธในโทรศัพท์ของคุณ คุณต้องจับคู่โทรศัพท์กับชิปบลูทูธ แตะสแกนหาอุปกรณ์และอุปกรณ์ของคุณควรแสดงเป็น HC-05 หรือ HC-06 เว้นแต่คุณจะตั้งชื่อไว้ก่อนหน้านี้ มันจะขอหมายเลขพินและจะ 1234 (ฉันรู้ว่าฉันเป็นอัจฉริยะในการแฮ็คอุปกรณ์และค้นหารหัสผ่านลับสุดยอด) ดูรูปภาพ 1, 2 และ 3 ตรวจสอบว่าคุณจับคู่กับอุปกรณ์แล้ว และพร้อมสำหรับขั้นตอนต่อไป หมายเหตุ: ไฟบนอุปกรณ์ Bluetooth จะไม่สว่างเมื่อคุณจับคู่กับโทรศัพท์ของคุณ! ฉันพบว่าในโทรศัพท์ของฉัน ฉันต้องรีสตาร์ทเครื่องหลังจากกระบวนการนี้เพื่อให้โทรศัพท์ปรากฏในแอป Amarino ดังนั้นให้เริ่มต้นโทรศัพท์ของคุณใหม่
ขั้นตอนที่ 9: Amarino
ได้เวลาเปิดอมาริโน่แล้ว คุณจะเห็นบันทึกประจำรุ่นและแตะตกลง ขอบคุณ Bonifaz Kaufman สำหรับการสร้างแอพที่ยอดเยี่ยมนี้ ตัวเลขด้านล่างตรงกับหมายเลขภาพเช่น ขั้นตอนที่ 1 = ภาพที่ 1
- หน้าจอต้อนรับ. แตะที่ "เพิ่มอุปกรณ์"
- อุปกรณ์ของคุณควรอยู่ในรายการแล้ว แตะที่มัน หากไม่ปรากฏขึ้น ให้ลองรีบูตโทรศัพท์ของคุณ และตรวจสอบให้แน่ใจว่าอุปกรณ์ Bluetooth เชื่อมต่อกับโทรศัพท์แล้ว
- ตอนนี้คุณควรมาที่หน้าจอนี้ แตะที่ "เชื่อมต่อ" อาจใช้เวลาสักครู่
- หากเชื่อมต่อได้ ไฟบนอุปกรณ์บลูทูธจะติดสว่าง และคุณจะเห็น "การเชื่อมต่อที่ใช้งานอยู่: 1. แตะที่ชื่ออุปกรณ์และไม่ต้องตัดการเชื่อมต่อ
- แตะที่ "แสดงกิจกรรม"
- ไม่ควรมีเหตุการณ์ แตะที่ "เพิ่มกิจกรรม"
- รายการจะปรากฏขึ้นและคุณจะต้องเลือกมาตรความเร่ง โปรดจำไว้ว่าเซ็นเซอร์อื่นๆ เหล่านี้มีอยู่ในโทรศัพท์ของคุณ พวกเขาอาจมีประโยชน์ในวันหนึ่งสำหรับโครงการในภายหลัง!
- นี่เป็นเพียงการตั้งค่าบางส่วนสำหรับมาตรความเร่ง ตรวจสอบให้แน่ใจว่าแถบเลื่อนอยู่ที่ "เร็วมาก" และตัวสร้างภาพข้อมูลอยู่บน "ข้อความ" จากนั้นแตะบันทึก
- หากคุณเห็นตัวเลขทางด้านขวาของ "เซ็นเซอร์มาตรความเร่ง" แสดงว่าคุณทำได้ดี คุณสามารถทิ้งโทรศัพท์ไว้คนเดียวได้แล้ว หากคุณไม่เห็นตัวเลข ให้กดที่พื้นที่สีเทาค้างไว้เพื่อเปิดเมนู
- เลือก "บังคับเปิดใช้งาน"
- บิงโก! ตัวเลข! เอียงโทรศัพท์ของคุณและทำความเข้าใจว่าตัวเลขนั้นสัมพันธ์กับมาตรความเร่งอย่างไร
- ตอนนี้คุณสามารถวางโทรศัพท์ไว้บนพื้นผิวที่เรียบและเตรียมพร้อมที่จะเริ่มเขียนโค้ดได้แล้ว!
ขั้นตอนที่ 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 โทรศัพท์ของคุณอาจจะคล้ายกันหรือไม่ก็ได้ หากต้องการค้นหาว่าหมายเลขใดที่หมุนและหมายเลขใดสำหรับระดับเสียงสำหรับโทรศัพท์ของคุณ ให้ทำตามขั้นตอนเหล่านี้
- วางโทรศัพท์ไว้บนพื้นผิวเรียบ วางโทรศัพท์โดยให้กล้อง/ลำโพงในหูชี้ไปทางซ้าย และไมโครโฟนชี้ไปทางขวา (ภาพที่ 2).
- เอียงด้านซ้ายของโทรศัพท์ขึ้น (ภาพที่ 3) (ตามแนวแกน Z ดูรูปที่ 1 สำหรับแกน) เป็น 45 องศา สังเกตว่าตัวเลขใดเปลี่ยนแปลงอย่างมากในจอภาพแบบอนุกรม หมายเลขนี้จะเป็นม้วนของคุณ
- เอียงโทรศัพท์เข้าหาคุณ (ภาพที่ 4) (ตามแนวแกน X ดูรูปที่ 1 สำหรับแกน) เป็น 45 องศา. ไม่ว่าตัวเลขใดจะเปลี่ยนไปอย่างมากก็คือระดับเสียง บันทึกนี้
ตอนนี้เรารู้แล้วว่าตัวเลขสองชุดใดเป็นแบบหมุนและระดับเสียง เราก็ไปเปลี่ยนรหัสได้ เราจะมาดูภาค 2 กัน
สนาม = ข้อมูล[0];
ม้วน = ข้อมูล[1];
หากคุณดูโค้ดก่อนหน้านี้ คุณจะสังเกตเห็นว่าข้อมูลมาตรความเร่งถูกใส่ลงในอาร์เรย์ อาร์เรย์ "ข้อมูล" มี 'จุด' สามจุดที่เรียกว่า 'ดัชนี' สำหรับตัวเลข ดัชนี 0, ดัชนี 1 และดัชนี 2 ตอนนี้คุณทราบแล้วว่าตัวเลขใดแสดงถึงระดับเสียงและการหมุน คุณสามารถกำหนด "ระดับเสียง" และ "การหมุน" ของจำนวนเต็มได้ ตัวเลขที่ถูกต้องในอาร์เรย์ ตัวอย่าง: หากตัวเลขชุดที่สามเปลี่ยนไปเมื่อคุณเอียงโทรศัพท์ไปทางซ้าย/ขวา ซึ่งเป็นการหมุน เราจะเปลี่ยนรหัสเป็นดังนี้:
ม้วน = ข้อมูล[2];
และมันก็ง่ายอย่างนั้น หากโทรศัพท์ของคุณคล้ายกับของฉัน ตัวเลขแรกจะเป็นระดับเสียง ตัวเลขที่สองจะเป็นการทอย และหมายเลขที่สามจะเป็นลักษณะอื่นๆ ของสามมิติ
ขั้นตอนที่ 12: การทำแผนที่ข้อมูลมาตรความเร่ง
เมื่อคุณกำหนด "roll และ "pitch" ให้กับตัวเลขที่ถูกต้องในข้อมูลอาร์เรย์แล้ว เราก็ไปต่อได้ ดูรูปที่ 1 ไปจนสุดทางซ้าย นี่คือข้อมูลดิบจากมาตรความเร่งของคุณ แต่เราใช้ไม่ได้ ตัวเลขเหล่านี้โดยตรง เราจำเป็นต้องทำการแมปพวกมันใหม่เป็นค่าระหว่าง 1,000 ถึง 2000 ด้วยจุดกึ่งกลางที่ 1500 ในการปรับขนาดตัวเลขให้สูงขึ้น เราจะคูณ "roll" และ "pitch" ด้วย 1000 ซึ่งจะกำจัดทศนิยมทั้งหมดและจะ ให้ความละเอียดที่เหมาะสมแก่เรา ตอนนี้ ถ้าคุณดูตัวเลขในคอลัมน์ที่สอง คุณจะเห็นตัวเลข 'ใหม่' มากำหนดจุดเข้าออกกันเถอะ!
- เอียงโทรศัพท์ไปทางซ้าย 45 องศา (ม้วน) แล้วบันทึกหมายเลขนี้
- เอียงโทรศัพท์ไปทางขวา 45 องศา (หมุน) แล้วบันทึกหมายเลขนี้
- เอียงโทรศัพท์ไปด้านหน้า 45 องศา (ระยะพิทช์) แล้วบันทึกหมายเลขนี้
- เอียงโทรศัพท์ไปด้านหลัง 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);
ดังนั้นหากทุกอย่างทำงานได้ดี เราก็สามารถเพิ่มสิ่งนี้ลงในโค้ดสุดท้ายได้!
- เปิดแบบร่าง ReadRawAccel คัดลอกทุกอย่างภายใต้ตัวสร้าง page1
- เปิดภาพร่าง TiltTX_Final เลื่อนไปที่ด้านล่างสุดโดยระบุว่า "วางหน้า 1 ที่นี่" และแทนที่โค้ดทั้งหมดด้านล่าง
- อัปโหลดภาพร่าง 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
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
หมวกนิรภัย Covid ส่วนที่ 1: บทนำสู่ Tinkercad Circuits!: 20 ขั้นตอน (พร้อมรูปภาพ)
Covid Safety Helmet ตอนที่ 1: บทนำสู่ Tinkercad Circuits!: สวัสดีเพื่อน ๆ ในชุดสองตอนนี้ เราจะเรียนรู้วิธีใช้วงจรของ Tinkercad - เครื่องมือที่สนุก ทรงพลัง และให้ความรู้สำหรับการเรียนรู้เกี่ยวกับวิธีการทำงานของวงจร! หนึ่งในวิธีที่ดีที่สุดในการเรียนรู้คือการทำ ดังนั้น อันดับแรก เราจะออกแบบโครงการของเราเอง: th
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-