Mündəricat:

UDP üzərində Kabelsiz RC Servosuna Nəzarət: 3 Addım
UDP üzərində Kabelsiz RC Servosuna Nəzarət: 3 Addım

Video: UDP üzərində Kabelsiz RC Servosuna Nəzarət: 3 Addım

Video: UDP üzərində Kabelsiz RC Servosuna Nəzarət: 3 Addım
Video: CS50 2013 - Week 8, continued 2024, Noyabr
Anonim
Image
Image
Avadanlıq
Avadanlıq

Bu layihədə RC servolarını idarə etmək üçün iPhone -dan istifadə etmək istəyirəm. UDP bağlantısı üzərində iki servo idarə etmək üçün akselerometrdən istifadə edəcəyəm. Bu, iPhone və ətraf qurğu arasındakı əlaqənin UDP istifadə edərək yüksək yeniləmə nisbətlərinə (BLE -dən yüksək) nail ola biləcəyini yoxlamaq üçün bir Proof Of Concept layihəsidir.

Addım 1: Parça siyahısı

Avadanlıq

  • ESP8266 (Wemos D1 mini pro) lövhəsi
  • İki RC servo
  • Güc mənbəyi olaraq USB güc bankı
  • Bəzi keçid telləri
  • İOS12 istifadə edən bir iPhone və ya iPad
  • Layihəni qurmaq üçün mac

Proqram təminatı

  • ESP8266 Arduino core quraşdırılmış Arduino IDE: Quraşdırma təlimatı
  • Xcode 10:
  • Arduino eskizini burada tapa bilərsiniz
  • İPhone tətbiqinin Swift mənbəyi burada

Addım 2: Avadanlıq

Avadanlıq
Avadanlıq

Avadanlıqların qurulması çox sadədir. RC servolarını idarə etmək üçün ESP8266 üzərindəki D1 (pitch) və D2 (roll) çıxışını istifadə edirəm. Lövhə USB güc bankından təchiz edilmişdir. RC servoları lövhənin 5v və GND pinindən işləyir.

Addım 3: Proqram təminatı

IPhone üçün idarəetmə tətbiqi, ESP8266 idarəetmə lövhəsinə simsiz olaraq qoşulan və iPhone hərəkət məlumatlarına əsaslanaraq pitch və roll servolarını idarə edən Swift dilində yazılmışdır. Nəzarət lövhəsi bir Wifi Giriş Nöqtəsi yaradır və aşağıdakı ümumi formatda bayt axını olaraq servo mövqeyi məlumatlarını ehtiva edən yeni UDP paketlərini dinləyir:

Servo indeksi | Vəzifə MSB | Vəzifə LSB

Servo indeksi ya meydança üçün 1, ya da rulon üçün 2 -dir. Servo mövqeyi telefonun x, y əyilmə dərəcələrindən hesablanır və 1000 ilə 2000 arasında mikrosaniyələrə çevrilir. Yeniləmə sürəti 20 millisaniyədir.

Tətbiq UDP bağlantısı yaratmaq üçün yeni Network.framework -dən istifadə edir, buna görə də yalnız iOS 12 və yuxarıda işləyir.

Bu iOS 12 -də UDP bağlantısının istifadəsinin nə qədər asan olduğunu göstərmək üçün bir POC tətbiqidir. Sadə saxlamaq üçün UDP paketləri meydança və gəzmək üçün ayrıca göndərilir.

Tövsiyə: