สารบัญ:

การควบคุม RC Servos แบบไร้สายผ่าน UDP: 3 ขั้นตอน
การควบคุม RC Servos แบบไร้สายผ่าน UDP: 3 ขั้นตอน

วีดีโอ: การควบคุม RC Servos แบบไร้สายผ่าน UDP: 3 ขั้นตอน

วีดีโอ: การควบคุม RC Servos แบบไร้สายผ่าน UDP: 3 ขั้นตอน
วีดีโอ: สอน เขียนโปรแกรม ภาษาซี Arduino | Uno R3 การต่อ และควบคุม มอเตอร์ 1 ตัว #EP11 2024, พฤศจิกายน
Anonim
Image
Image
ฮาร์ดแวร์
ฮาร์ดแวร์

ในโครงการนี้ ฉันต้องการใช้ iPhone เพื่อควบคุมเซอร์โว RC ฉันจะใช้มาตรความเร่งเพื่อควบคุมเซอร์โวสองตัวผ่านการเชื่อมต่อ UDP นี่เป็นโครงการ Proof Of Concept เพื่อตรวจสอบว่าการเชื่อมต่อระหว่าง iPhone และอุปกรณ์ต่อพ่วงสามารถบรรลุอัตราการอัพเดทที่สูง (สูงกว่า BLE) โดยใช้ UDP

ขั้นตอนที่ 1: รายการชิ้นส่วน

ฮาร์ดแวร์

  • บอร์ด ESP8266 (Wemos D1 mini pro)
  • เซอร์โว RC สองตัว
  • ธนาคารพลังงาน USB เป็นแหล่งจ่ายไฟ
  • สายจัมเปอร์บางส่วน
  • iPhone หรือ iPad ที่ใช้ iOS12
  • Mac เพื่อสร้างโครงการ

ซอฟต์แวร์

  • Arduino IDE พร้อม ESP8266 Arduino core ติดตั้งแล้ว: คู่มือการติดตั้ง
  • Xcode 10:
  • สามารถดูสเก็ตช์ Arduino ได้ที่นี่
  • แหล่ง Swift ของแอพ iPhone อยู่ที่นี่

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

ฮาร์ดแวร์
ฮาร์ดแวร์

การตั้งค่าฮาร์ดแวร์ทำได้ง่ายมาก ฉันใช้เอาต์พุต D1 (pitch) และ D2 (ม้วน) บน ESP8266 เพื่อควบคุมเซอร์โว RC ตามลำดับ บอร์ดนี้ใช้พลังงานจากแบตสำรอง USB เซอร์โว RC ใช้พลังงานจากพิน 5v และ GND ของบอร์ด

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

แอพควบคุมสำหรับ iPhone เขียนด้วยภาษา Swift ซึ่งเชื่อมต่อกับบอร์ดควบคุม ESP8266 แบบไร้สาย และควบคุมเซอร์โวแบบ pitch และ roll ตามข้อมูลการเคลื่อนไหวของ iPhone บอร์ดควบคุมจะสร้างจุดเข้าใช้งาน Wifi และรับฟังแพ็กเก็ต UDP ที่กำลังจะมีขึ้นซึ่งมีข้อมูลตำแหน่งเซอร์โวเป็นสตรีมไบต์ด้วยรูปแบบทั่วไปดังต่อไปนี้:

ดัชนีเซอร์โว | ตำแหน่ง MSB | ตำแหน่ง LSB

ดัชนีเซอร์โวคือ 1 สำหรับระยะพิทช์หรือ 2 สำหรับการหมุน ตำแหน่งเซอร์โวคำนวณจากโทรศัพท์ x องศาเอียง y และแปลงเป็นไมโครวินาทีระหว่าง 1,000 ถึง 2000 อัตราการรีเฟรชคือ 20 มิลลิวินาที

แอปกำลังใช้ Network.framework ใหม่เพื่อสร้างการเชื่อมต่อ UDP ดังนั้นจึงทำงานบน iOS 12 ขึ้นไปเท่านั้น

นี่คือแอป POC เพื่อสาธิตให้เห็นถึงความง่ายในการใช้การเชื่อมต่อ UDP ใน iOS 12 เพื่อให้ง่าย แพ็กเก็ต UDP จะถูกส่งแยกต่างหากสำหรับระดับเสียงและการหมุน

แนะนำ: