Mundarija:

RC samolyotini telefoningiz akslerometri bilan boshqaring: 15 qadam (rasmlar bilan)
RC samolyotini telefoningiz akslerometri bilan boshqaring: 15 qadam (rasmlar bilan)

Video: RC samolyotini telefoningiz akslerometri bilan boshqaring: 15 qadam (rasmlar bilan)

Video: RC samolyotini telefoningiz akslerometri bilan boshqaring: 15 qadam (rasmlar bilan)
Video: еловек Тратит Год на Строительство Гиперреалистичного Самолета по Масштабу | Копия Airbus @RamyRC 2024, Iyul
Anonim
Image
Image
RC samolyotingizni telefoningiz akslerometri bilan boshqaring
RC samolyotingizni telefoningiz akslerometri bilan boshqaring

Hech qachon biror narsani burish orqali RC samolyotingizni boshqarishni xohlaganmisiz? Men har doim bu fikrni boshimning orqasida ko'rganman, lekin bu o'tgan haftagacha hech qachon amalga oshmaganman. Mening dastlabki fikrlarim uch o'qli akselerometrdan foydalanish edi, lekin menda bir fikr paydo bo'ldi…

Ko'pchiligingizda aqlli telefonlar bor, to'g'rimi? Sizlarning ko'pchiligingiz elektron qurilmalar egiluvchanligi tufayli Android -dan foydalanasiz. Aytmoqchimanki, men iPhone -ni yaxshi ko'raman, lekin uni Bluetooth yoki qattiq simlar yordamida Arduino yoki boshqa mikrokontrolderga ulash ko'p jihatdan qulay emas. Xo'sh, nega faqat telefonning akselerometri emas? Shunday qilib, men bu fikrni oldim va u bilan yugurdim. Ikki haftadan so'ng men sizga ushbu loyihani taqdim etaman!

Kechirasiz IOS foydalanuvchilari, bu loyiha faqat Android foydalanuvchilariga tegishli.

Endi bu loyiha rulni yoki gazni nazorat qila olmaydi. Agar siz sezsangiz, men gazni boshqarish uchun A1 pinli potentsiometrdan foydalanish kodini qo'shganman, lekin men buni o'zim ishlatmayman. Men faqat transmitterim gazini ishlataman.

Agar siz ushbu loyihani yakunlamoqchi bo'lsangiz, ishga kirishdan oldin videoni to'liq ko'rishingizni maslahat beraman. Ushbu loyiha uchun zarur bo'lgan elektron ko'nikmalar minimal, lekin qiyin qismi kod bilan ishlash. Shunday qilib, lehim temir va Arduino -ni oling va davom eting.

Loyihaning narxi: (Bepul, past, o'rta, u erda, jiddiymi?)

Loyihaning murakkabligi: (shamolli, oson, o'rta, qiyin, mutaxassis, usta)

Loyihaning vaqti: (bir chashka qahva, o'rtacha, bir stakan qahva, bir necha kun)

Quyida men tez shamolli bo'lgan tez parvoz!

1 -qadam: Videoni to'liq ko'ring

Image
Image

Video va matn deyarli bir xil narsalarni qamrab oladi, bundan tashqari, matn loyiha korpusini yaratish va hamma narsani ulash bosqichma -bosqich jarayonini o'z ichiga olmaydi. Matn ba'zi kodlashlarni biroz ko'proq savodsiz qiladi.

2 -qadam: MUHIM YANGILANISH [7/16/18]

Men bu loyihani bir necha yil o'tgach amalga oshira boshladim va ba'zi ma'lumotlarga ega bo'lish uchun yana shu joyga qaytishga to'g'ri keldi: D.

Yaxshiyamki, kodda kichik xato borligini aniqladim va men buni bir necha soniya ichida tuzatishni ko'rsataman. Agar siz kodni yuklab olsangiz, u kompilyatsiya qilinmaydi. Siz kirishingiz va kichik qatorni o'zgartirishingiz kerak.

Siz kompilyatsiya qilganingizda, 20 -qator sizga xato beradi.

int ppm [chanAmount];

Buni shunchaki o'zgartiring:

int ppm [2];

Va mana siz ketyapsiz! Qolgan darsliklardan zavqlaning va agar siz bu loyihani tasodifan qilgan bo'lsangiz, pastga aylantiring va "Men buni qildim" tugmasini bosing va rasmni yuklang!

3 -qadam: Tarkibi:

Yuklamalar
Yuklamalar

Har bir yaxshi retseptga nima kerak? Tarkibi. Afsuski, buning uchun siz o'zingizning oziq -ovqat do'koningizdan boshqa joyga borishingiz kerak bo'lishi mumkin.

Tarkibi:

  • Android telefon
  • Arduino (Uno, Nano, Micro, muhim emas)
  • Arduino uchun quvvat manbai. Men kichik 2 hujayrali 500mAh LiPo ishlataman.
  • HC - 05 yoki HC -06 Bluetooth moduli
  • FTDI Breakout Board (Arduino yordamida amalga oshirilishi mumkin, lekin men sizga buni ko'rsatmayman)
  • 3,5 mm mono erkak ovoz vilkasi. Stereo uyasi ishlamaydi! Men sinab ko'rdim!
  • 2x LED va mos keladigan rezistorlar
  • Loyihaning yopilishi
  • 2 yadroli sim (dinamik sim yaxshi ishlaydi yoki uzun USB kabeli)
  • Issiqlik qisqarishi yoki elektr tasmasi
  • Ayol pin sarlavhalari (agar siz tanlasangiz, Arduino qalqoni uchun)
  • Perf taxtasi (Arduino Shild uchun, agar siz uni tanlashni xohlasangiz.

Asboblar:

  • Lehimlash temir
  • Tel -striptizchilar
  • Qaychi
  • Har xil matkaplar yordamida burg'ulash
  • Issiq yopishtiruvchi qurol

4 -qadam: Yuklamalar

Agar siz.zip faylini yuklab olishni xohlasangiz, buning uchun kerak bo'lgan hamma narsani topishingiz mumkin. Aks holda, quyida o'qing.

Avval siz Amarino ilovasini va Amarino asboblar to'plamini yuklab olishingiz va uni telefoningizga olishingiz kerak. Siz buni micro SD yordamida qilishingiz yoki Google Drive kabi sevimli fayllarni joylashtirish veb -saytidan foydalanishingiz mumkin.

Ikkinchidan, Arduino IDE uchun MeetAndroid kutubxonasini yuklab olishingiz kerak. Kutubxonani o'rnatish uchun qadamlarni diqqat bilan bajaring.

Kompyuter uchun:

  1. Arduino IDE -ni yoping.
  2. MeetAndroid papkasini oching. Endi sizda ochilmagan MeetAndroid_4 papkasi bo'lishi kerak. Ushbu papkani oching va ichidagi MeetAndroid nomli papkani kesib tashlang.
  3. C: / Program Files (x86) Arduino / kutubxonalariga o'ting va MeetAndroid -ga joylashtiring. Agar siz hamma narsani to'g'ri qilsangiz, u birinchi rasmga o'xshaydi.
  4. Arduino IDE -ni qayta oching va kutubxonalarda "Hissa qo'shilgan" ostida MeetAndroid lib -ni ko'rishingiz kerak.

MAC uchun

  1. Arduino IDE -ni yoping.
  2. MeetAndroid papkasini oching. Endi MeetAndroid_4 papkasini ochish kerak. Ushbu papkani oching va ichidagi MeetAndroid nomli papkani nusxalash.
  3. Arduino dasturiga o'ting, sichqonchaning o'ng tugmasi bilan paket tarkibini, so'ngra Contents/Java/kutubxonalarini ko'rsatish va MeetAndroid jildiga joylashtirish.
  4. Arduino IDE -ni qayta oching va kutubxonalarda "Hissa qo'shilgan" ostida MeetAndroid lib -ni ko'rishingiz kerak.

Nihoyat, bu qadamning pastki qismiga biriktirilgan Arduino eskizlarini ham yuklab oling (.zip -ga kiritilgan).

5-qadam: HC-06 ni sozlash

HC-06 ni sozlash
HC-06 ni sozlash
HC-06 ni sozlash
HC-06 ni sozlash
HC-06 ni sozlash
HC-06 ni sozlash

Sizning HC-06 Bluetooth moduli faqat ushbu loyihada foydalanishga tayyor qutidan chiqmaydi. Biz faqat bitta oddiy narsani o'zgartirishimiz kerak: bod tezligi. Kimdan sotib olganingizga qarab, u har xil bod tezligida o'rnatilishi mumkin. Men ikki xil sotuvchidan ikkita HC-06 oldim va ularning har biri har xil bod tezligida ishlaydi. Biz uni soniyasiga 115200 bitga o'zgartirishimiz kerak. Quyidagi ulanishlarni amalga oshiring:

HC-06 ------- FTDI uzilishlar taxtasi

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

GND ----- GND

VCC ------ 3.3v

TX -------- RX (yoki DRX)

RX -------- TX (yoki DTX)

  1. FTDI panelini kompyuteringizga ulang.
  2. Arduino IDE -ni oching. Hamma mavjud portni tanlang. (kompyuterga Arduino yoki boshqa biror narsa ulanmaganligiga ishonch hosil qiling).
  3. Seriya monitorini oching (kod kerak emas!)
  4. Kommutatsiya oynasining o'ng pastki qismidagi bod tezligi uchun 9600 ni tanlang. "AT" ni kiriting (u katta harf bilan yozilishi kerak) va yuborish tugmasini bosing. Agar biror narsani qaytarib olmasangiz, yaxshi. Bu shuni anglatadiki, sizning qurilmangiz boshqa tezlikda sozlangan. 115200 bost tezligini sinab ko'ring va "AT" kiriting. Agar siz hali ham hech narsa olmagan bo'lsangiz, har bir uzatish tezligini sinab ko'ring va javob kelmaguncha "AT" yozing. Agar siz javob olmasangiz, ehtimol siz HC-06 ni to'g'ri ulamagan bo'lishingiz mumkin. Ulanishlarni tekshiring.
  5. Agar siz "OK" javobini olsangiz, ajoyib! Agar siz boshqa javob tezligi 115200 ga bo'ladigan bo'lsa, uni 115200 ga o'zgartirishingiz kerak. Buning uchun "AT+BUAD8" yozing. Siz "OK115200" javobini olasiz. Bluetooth bilan gaplashishni davom ettirish uchun siz tezlikni 115200 ga o'zgartirishingiz kerak bo'ladi. Keyin "AT+NAMERANDOM" ni tasodifiy yozib, kerakli nom bilan ismni o'zgartirish kabi narsalarni qilishingiz mumkin. Endi ketma -ket monitorni yopishingiz mumkin.

6 -qadam: Sinov uchun to'liq bo'lmagan davr

Bu sxema juda oddiy. Siz Arduinoni quvvatlantirishingiz kerak (USB orqali, chunki biz unga ba'zi narsalarni yuklashimiz kerak), keyin HC-06 ni ulang. Faqat ulanish uchun quyidagi havolalarga amal qiling.

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

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

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

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

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

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

7 -qadam: Amarino va Amarino asboblar to'plamini o'rnatish

Amarino va Amarino asboblar to'plamini o'rnatish
Amarino va Amarino asboblar to'plamini o'rnatish
Amarino va Amarino asboblar to'plamini o'rnatish
Amarino va Amarino asboblar to'plamini o'rnatish
Amarino va Amarino asboblar to'plamini o'rnatish
Amarino va Amarino asboblar to'plamini o'rnatish

Siz hozirgacha telefoningizga Amarino ilovasi va asboblar to'plamini yuklab olishingiz va o'tkazishingiz kerak edi. Ammo o'rnatishdan oldin siz telefoningiz sozlamalarini o'zgartirishingiz kerak. Sizning telefoningiz dastlab ilovani o'rnatishga ruxsat bermaydi, chunki u Android pleystoridan tasdiqlangan dastur emas. Shunday qilib, biz telefonga tasdiqlanmagan ilovalarni o'rnatishga ruxsat berishimiz kerak. Bu juda oddiy.

  1. Sozlamalar/Xavfsizlik -ga o'ting va pastga aylantiring. Siz noma'lum manbalar yozilgan qutini va uning yonida kichik qutini ko'rishingiz kerak. Qutiga teging va uni yoqing. Bu sizga qanday xavfli ekanligini aytib beradigan dialog oynasini ochadi; yaxshi eshitiladi, to'g'rimi? Shunday qilib, OK tugmasini bosing. 1, 2 va 3 -rasmlarga qarang.
  2. Endi siz Amarino ilovasini ochishingiz va ekrandagi ko'rsatmalarga amal qilishingiz mumkin. Juda qiyin emas, faqat "Ha" ni bosing.
  3. Amarino asboblar to'plamini o'rnating. Juda ham qiyin emas.

8 -qadam: Bluetooth -ni sozlash

Bluetooth -ni sozlash
Bluetooth -ni sozlash
Bluetooth -ni sozlash
Bluetooth -ni sozlash
Bluetooth -ni sozlash
Bluetooth -ni sozlash

Loyihangiz yoqilgan (Bluetooth chip yoniq) telefoningizning Bluetooth sozlamalarini toping. Siz telefoningizni Bluetooth chip bilan ulashingiz kerak. Qurilmalarni qidirish-ga teging va agar siz ilgari nom bermagan bo'lsangiz, qurilmangiz HC-05 yoki HC-06 sifatida ko'rsatilishi kerak. U PIN-kodni so'raydi va 1234 bo'ladi. (Men bilaman, men qurilmani buzish va maxfiy parolni topish uchun dahoman). 1, 2 va 3 -rasmlarni ko'ring. Qurilma bilan bog'langaningizga va keyingi bosqichga tayyor ekanligingizga ishonch hosil qiling. DIQQAT: telefoningiz bilan bog‘langaningizda Bluetooth qurilmasidagi chiroq o‘chmaydi! Men telefonimda Amarino ilovasida paydo bo'lishi uchun bu jarayondan keyin uni qayta ishga tushirishim kerakligini aniqladim, shuning uchun davom eting va telefoningizni qayta yoqing.

9 -qadam: Amarino

Amarino
Amarino
Amarino
Amarino
Amarino
Amarino

Amarinoni ochish vaqti keldi. Sizga nashr yozuvlari ko'rsatiladi va OK ni bosing. Rahmat Bonifaz Kaufman, bu ajoyib dasturni yaratganingiz uchun. Quyidagi raqamlar rasm raqamiga mos keladi, masalan. 1 -qadam = 1 -rasm.

  1. Xush kelibsiz ekrani. "Qurilma qo'shish" ni bosing.
  2. Sizning qurilmangiz endi ro'yxatda bo'lishi kerak; unga teging. Agar u ko'rinmasa, telefonni qayta ishga tushiring va Bluetooth qurilmasi telefonga ulanganligiga ishonch hosil qiling.
  3. Endi siz bu ekranga o'tishingiz kerak. "Ulanish" ni bosing. Bu bir necha soniya davom etishi mumkin.
  4. Agar u ulansa, Bluetooth qurilmasidagi chiroq yonadi va siz tepada "Faol ulanishlar: 1. Endi qurilmaning nomiga teging va uzilmang.
  5. "Voqealarni ko'rsatish" ni bosing.
  6. Hech qanday hodisalar bo'lmasligi kerak. "Voqeani qo'shish" ni bosing.
  7. Ro'yxat ochiladi va siz akselerometrni tanlashni xohlaysiz. Telefoningizga o'rnatilgan boshqa sensorlar haqida unutmang. Bir kun kelib ular keyingi loyihaga yordam berishi mumkin!
  8. Bu erda akselerometr uchun bir nechta sozlamalar. Slayder "juda tez" yoqilganligiga va ma'lumotlar vizualizatori "Matn" da ekanligiga ishonch hosil qiling. Keyin saqlashni bosing.
  9. Agar siz "akselerometr sensori" ning o'ng tomonida raqamlarni ko'rsangiz, demak siz yaxshisiz. Siz hozir telefoningizni yolg'iz qoldirishingiz mumkin. Agar siz raqamlarni ko'rmasangiz, menyuni ochish uchun kulrang maydonni uzoq bosing.
  10. "Majburiy yoqish" -ni tanlang.
  11. Bingo! Raqamlar! Telefoningizni egib, raqamlar akselerometr bilan qanday mos kelishini bilib oling.
  12. Endi siz telefoningizni tekis yuzaga qo'yishingiz va kodlashni boshlashingiz mumkin!

10 -qadam: Kodni o'tkazib yuborish

Kodni o'tkazib yuborish
Kodni o'tkazib yuborish

Shunday qilib, agar siz qo'llaringizni kod bilan iflos qilishni xohlamasangiz va yuklamoqchi bo'lsangiz, siz biroz muammoga duch kelishingiz mumkin. Men hozirgacha faqat telefonimni ishlatganman, shuning uchun boshqa odamlarning telefonlari bir xilligini bilmayman. Agar siz SensoDuino ilovasini yuklab olsangiz va "O'rnatilgan sensorlar" yorlig'ini bossangiz, akselerometrni topishingiz kerak bo'ladi. Agar siz akselerometr MPU6050 bo'lsa, bu menda bo'lgan sensori va ehtimol siz kodni tahrir qilishingiz shart emas. Agar sizda xuddi shunday sensor bo'lsa, ushbu bosqichga yuklangan kodni sinab ko'ring.

Agar shunday bo'lmasa, ehtimol siz keyingi bosqichlarni bajarishingiz kerak bo'ladi.

11 -qadam: Akselerometr ma'lumotlarini tayinlash

Akselerometr ma'lumotlarini tayinlash
Akselerometr ma'lumotlarini tayinlash
Akselerometr ma'lumotlarini tayinlash
Akselerometr ma'lumotlarini tayinlash
Akselerometr ma'lumotlarini tayinlash
Akselerometr ma'lumotlarini tayinlash
Akselerometr ma'lumotlarini tayinlash
Akselerometr ma'lumotlarini tayinlash

Endi biz Arduino eskizini chalkashtirib, qiziqarli qismga o'tamiz! Agar sizning eskizingiz tuzilmasa, bu ko'rsatmaning oxirgi qadamini ko'ring.

Endi siz Arduino-ni HC-06-ga to'g'ri ulashingiz kerak va siz Amarino-ni Bluetooth orqali raqamlaringizni Arduino-ga yuborishingiz kerak. HC-06 hali ham bog'langanligiga ishonch hosil qilish uchun ikki marta tekshiring va quyidagi eskizni Arduino-ga yuklang. (Bu bosqichga biriktirilgan).

ESLATMA: Arduino-ga eskizlarni yuklashda siz Arduino-dan HC-06 ning TX va RX-ni ajratishingiz kerak bo'ladi. RX va TX biror narsaga ulangan paytda Arduino -ni yuklash mumkin emas.

Ushbu eskizni Arduino -ga yuklaganingizdan so'ng, Serial monitorni oching. Siz uchta raqamni bir -biridan ajratilgan holda ko'rishingiz kerak (□). Misol: [0.01 □ 0.02 □□ 9.21] Birinchi ikkita raqam - bu rulon va pitch. Uchinchisi nima ekanligini tushunishga ham harakat qilmadim: D. Sizning telefoningiz shunga o'xshash bo'lishi mumkin yoki bo'lmasligi mumkin. Telefoningiz uchun qaysi raqamlar aylanayotganini va qaysi raqamlar balandligini bilish uchun quyidagi bosqichlarni bajaring.

  1. Telefoningizni tekis yuzaga qo'ying. Telefoningizni kamera/quloqchani chapga, mikrofonni esa o'ngga qaratadigan qilib yo'naltiring. (2 -rasm).
  2. Telefonning chap tomonini yuqoriga eging (3 -rasm) (Z o'qi bo'ylab, o'q uchun 1 -rasmga qarang) 45 gradusgacha. E'tibor bering, ketma -ket monitorda qaysi raqam keskin o'zgaradi. Bu raqam sizning raqamingiz bo'ladi.
  3. Telefonni o'zingizga eging (4 -rasm) (X o'qi bo'ylab, o'q uchun 1 -rasmga qarang) 45 gradusgacha.. Qaysi raqam keskin o'zgarsa, bu balandlik. Buni yozib oling.

Endi biz qaysi ikkita raqamlar siljishi va balandligini bilamiz, biz borib kodni o'zgartirishimiz mumkin. Biz 2 -bo'limni ko'rib chiqamiz.

qadam = ma'lumotlar [0];

roll = ma'lumotlar [1];

Agar siz ilgari kodni ko'rib chiqsangiz, akselerometr ma'lumotlari qatorga joylashtirilganini ko'rasiz. "Ma'lumotlar" qatorida raqamlar, indeks 0, indeks 1 va indeks 2 uchun "indekslar" deb nomlangan uchta "nuqta" mavjud. Endi siz qaysi raqamlar pitch va rollni ifodalayotganini bilsangiz, "pitch" va "roll" tamsayılarini belgilashingiz mumkin. qatordagi to'g'ri raqamlar. Misol: agar telefoningiz chapga/o'ngga burilganda, uchinchi raqamlar to'plami o'zgargan bo'lsa, biz kodni shunday o'zgartiramiz:

roll = ma'lumotlar [2];

Va bu juda oddiy. Agar siz telefoningiz menikiga o'xshash bo'lsa, unda birinchi raqam baland bo'ladi, ikkinchi raqam silindrli bo'ladi, uchinchi raqam - biz uch o'lchovli boshqa jihat.

12 -qadam: Akselerometr ma'lumotlarini xaritalash

Akselerometr ma'lumotlarini xaritalash
Akselerometr ma'lumotlarini xaritalash

Agar siz "siljish" va "qadam" ni qator ma'lumotlariga to'g'ri raqamlarga qo'ygan bo'lsangiz, biz harakat qilishimiz mumkin. Chap tarafdagi 1 -rasmga qarang. Bu sizning akselerometringiz ma'lumotlari. Lekin biz foydalana olmaymiz. Bu raqamlarni to'g'ridan -to'g'ri biz ularni 1000 dan 2000 gacha bo'lgan qiymatga, o'rta nuqtasi bilan 1500 ga o'zgartirishimiz kerak. Raqamlarni kattalashtirish uchun biz "siljish" va "qadam" ni 1000 ga ko'paytiramiz. Bu barcha o'nli kasrlardan xalos bo'ladi va Agar siz ikkinchi ustundagi raqamlarga qarasangiz, "yangi" raqamlarni ko'rishingiz mumkin. Keling, ba'zi kirish va chiqish nuqtalarini belgilaymiz!

  1. Telefoningizni chapga 45 gradusga burang (aylantiring) va bu raqamni yozib oling.
  2. Telefoningizni o'ngga 45 gradusga burang (aylantiring) va bu raqamni yozib oling.
  3. Telefoningizni oldinga 45 gradusga burang va bu raqamni yozing.
  4. Telefoningizni orqaga 45 gradusga egib qo'ying va bu raqamni yozib oling.

Agar ikkita raqam bir xil bo'lsa, siz telefoningizni 45 gradusga har ikki tomonga burganingizda, ikkinchi raqamni tashlab, birinchi raqamni ishlatishingiz mumkin. Birinchi raqamning manfiy sonini olib, ikkinchi raqam yarating.

Misol: telefonni 45 gradus o'ngga burish. Roll uchun raqamli shou -5500. Ikkinchi raqam uchun -5500 dan foydalaning. Bu bizning kirish va chiqish nuqtamiz bo'ladi. Biz TX -ning ushbu nuqtalardan boshqa hech narsani ro'yxatdan o'tkazishini xohlamaymiz. Keyin biz bu qiymatlarni 1000-2000 gacha o'zgartirishimiz kerak. Mening holatimda -5500 dan 5500 gacha telefonimni 45 gradusga va telefonimni 45 gradusga burish paytida olingan raqamlar edi. Shunday qilib, men quyidagi kodni qo'lladim: ESLATMA: Endi bu kodni yoqish uchun 4 -bo'limda / * va * / ni o'chirish vaqti keldi. 3 -bo'limning hammasini o'chirib tashlang.

pitchval = xarita (qadam, -5500, 5500, 1000, 2000) -12;

rollval = xarita (rulon, -5500, 5500, 1000, 2000) + 7;

Endi "-12" va "+7" -"pitchval" va "rollval" ni 1500 markaziga etkazish uchun sozlamalar. Bu sozlamalarni bajarayotganda telefoningiz tekis yuzada ekanligiga ishonch hosil qiling. Agar sizning markazingiz 1500 -da bo'lmasa, samolyotingiz telefon darajasiga ega bo'lsa ham, bir tomonga burilib ketishi mumkin.

Rollval va pitchvalni cheklashimiz kerak. Biz ularning 2000 dan oshmasligini xohlaymiz, 1000 dan oshmaydi, aks holda hamma narsa buzila boshlaydi! Shunday qilib, biz buni yozamiz…

pitchval = cheklash (pitchval, 1000, 2000);

rollval = cheklash (rollval, 1000, 2000);

Bu raqamlar bilan qilishimiz kerak bo'lgan oxirgi narsa, ular telefonni qiyshaytirayotganimizga to'g'ri mos kelishini tekshirish. Telefoningiz kamerasi chap tomonda, mikrofon esa o'ng tomonda ekanligini tekshiring.

  • Telefonni chapga aylantirganda, rollval 1000 ga kamayishi kerak.
  • Agar siz o'ng tomonga o'tsangiz, u 2000 ga ko'tarilishi kerak.
  • Telefonni teskari burganingizda, ovoz balandligi 1000 ga kamayishi kerak.
  • Telefonni oldinga siljitganda, u 2000 ga ko'tarilishi kerak.
  • Telefonni tekis yuzaga qo'yganingizda ikkala markaz ham 1500 bo'lishi kerak.

Agar siz telefoningizni chapga siljitganingizda va aylanish tezligi pasayishdan ko'ra ko'paygan bo'lsa, siz ko'paytirgan 1000ni "rulon" ni -1000 ga o'zgartiring (2 -bo'limda). Agar raqamlar teskari aylansa, "maydon" uchun ham xuddi shunday.

Yuqoridagi misolda rulonni tuzatish uchun namuna kodi.

qadam = (qadam * -1000); // o'nlik kasrlardan qutulish uchun 1000 ga ko'paytiring

rulon = (rulon * -1000);

Agar hamma narsa yaxshi ishlayotgan bo'lsa, biz buni oxirgi kodga qo'shishimiz mumkin!

  1. ReadRawAccel eskizini oching. 1 -sahifa yaratuvchisi ostidagi hamma narsani nusxalash.
  2. TiltTX_Final eskizini oching. Pastga o'ting, u erda "1 -sahifani bu erga joylashtiring" va uning ostidagi barcha kodlarni almashtiring.
  3. TiltTX_Final eskizini arduino -ga yuklang.

13 -qadam: O'chirish vaqti

O'chirish vaqti!
O'chirish vaqti!
O'chirish vaqti!
O'chirish vaqti!
O'chirish davri!
O'chirish davri!
O'chirish vaqti!
O'chirish vaqti!

Endi biz qiyin qismni tugatganimizdan so'ng, sxemani tuzish vaqti keldi. Siz vaqt va qismlarni tejash uchun qalqon qilmaslikni tanlashingiz mumkin, lekin men har doim Arduinoni boshqa loyiha bilan ishlatishim kerak bo'lsa, men o'z loyihalarimni qalqon bilan qilishni yaxshi ko'raman. Bu loyiha uchun men Arduino Nano -dan foydalanaman, chunki bularning barchasi kichik qutiga joylashishini xohlayman. Ammo siz Mega -dan LilyPadgacha bo'lgan boshqa Arduino -dan foydalanishingiz mumkin. Shunday qilib, sxemani o'rganing, videoni ko'ring va lehimlashni boshlang! Men bu erda hamma rasmni joylashtirmayman, chunki men sizga videoda qanday qilib bosqichma -bosqich ko'rsataman.

14 -qadam: murabbiyni sozlash

Endi siz elektr tarmog'ini yoqib bo'lgach, telefoningizga ulang va mono raz'emni radio orqasidagi o'quv portiga ulang. Multiplikatorni 1,3 ga o'rnating va telefoningizni tekis yuzaga qo'ying. Keyin kalibrlang.

E'tibor bering, 0 -kanal - gaz, 1 -kanal - rulon, 2 -kanal - balandlik.

Agar siz ularni o'zgartirmoqchi bo'lsangiz, bu erdagi kodni kiriting:

ppm [0] = gaz;

ppm [1] = rolval; ppm [2] = pitchval;

15 -qadam: Xulosa

Ba'zi odamlar kodni kompilyatsiya qilmagan. Nima uchun men bilmayman, chunki bu ikkala platformada ham men uchun yaxshi ishlaydi, lekin agar siz xato xabari olsangiz (bu doirada xato aniqlanmagan bo'lsa), unda bo'sh xato pastadiridan keyin sizga 1 -qator kerak bo'ladi.

1. MeetAndroid meetAndroid (xato); // Android bluetooth uchun narsalar. Bunga tegmang. Xato xato (uint8_t bayrog'i, uint8_t qiymatlari) // ko'proq bluetooth. {Serial.print ("Xato:"); Serial.println (bayroq); }

Ishingiz tugagach, u shunday ko'rinishi kerak:

bo'sh xato (uint8_t bayroq, uint8_t qiymatlari) // ko'proq bluetooth.

{Serial.print ("Xato:"); Serial.println (bayroq); } MeetAndroid meetAndroid (xato); // Android bluetooth uchun narsalar. Bunga tegmang.

Umid qilamanki, siz ushbu darsni qiziqarli va yangi topdingiz. Men amal qilish oson ekanligiga ishonch hosil qilishga harakat qildim. Agar biror narsa bilan adashib qolsangiz, video ko'rsatmaga qaraganda biroz batafsilroq. Agar biron bir muammoga duch kelsangiz, iltimos, men bilan bog'laning va sizning savolingiz tegishli bo'lsa, men yordam berishdan xursand bo'laman. Iltimos, ushbu ovoz berishga ruxsat bering va pastdagi rasmni replikatsiyaga joylashtiring, agar siz video qilgan bo'lsangiz, havolani joylashtiring! Fikr -mulohazalaringizni quyida qoldirganingizga ishonch hosil qiling!

HavocRC, ~ AJ

Tavsiya: