Kazalo:

Upravljajte ravnino RC z akrometrom telefona: 15 korakov (s slikami)
Upravljajte ravnino RC z akrometrom telefona: 15 korakov (s slikami)

Video: Upravljajte ravnino RC z akrometrom telefona: 15 korakov (s slikami)

Video: Upravljajte ravnino RC z akrometrom telefona: 15 korakov (s slikami)
Video: Обзор крутого самолета Wltoys F939 из TomTop 2024, November
Anonim
Image
Image
Upravljajte ravnino RC z merilnikom akrometra v telefonu
Upravljajte ravnino RC z merilnikom akrometra v telefonu

Ste že kdaj želeli upravljati svoje RC letalo z nagibanjem predmeta? Vedno sem imel idejo v zatilju, a tega nisem dosegel šele prejšnji teden. Moje prve misli so bile, da bi uporabil troosni merilnik pospeška, potem pa sem dobil idejo…

Večina vas ima pametne telefone, kajne? In velika večina vas, elektronskih fantov, uporabljate Android zaradi svoje prilagodljivosti. Mislim, da imam iPhone rad, vendar ni tako vsestranski v zvezi s povezovanjem prek Bluetootha ali hardwarea z Arduinom ali drugim mikrokrmilnikom. Zakaj torej ne samo merilnika pospeška v telefonu? Zato sem idejo vzel in z njo tekel. Dva tedna kasneje vam predstavljam ta projekt!

Žal uporabniki IOS -a, ta projekt se nanaša samo na uporabnike Android.

Zdaj ta projekt nima nadzora nad krmilom ali dušilko. Če boste opazili, da sem vam dodal kodo za uporabo potenciometra na zatiču A1 za nadzor plina, čeprav je sam ne bom uporabljal. Uporabil bom samo dušilko oddajnika.

Če želite dokončati ta projekt, predlagam, da si pred začetkom dela ogledate celoten video. Elektronske spretnosti, potrebne za ta projekt, so minimalne, vendar je težje delati s kodo. Torej vzemite spajkalnik in Arduino in začnite.

Cena projekta: (brezplačno, nizko, srednje, tam zgoraj, resno?)

Težave pri projektu: (Breezy, Easy, Medium, Hard, Expert, Master)

Čas projekta: (Skodelica skodelice kave, srednja, čez lonček kave, več dni)

Spodaj je hiter let, ki sem ga imel prej, ko je kar pihalo!

Korak: Oglejte si celoten video

Image
Image

Video in besedilo pokrivata skoraj enake stvari, le da besedilo ne vključuje postopnega postopka za izgradnjo primera projekta in povezovanje vsega. Besedilo je malo bolj nepismeno o nekaterih vključenih kodah.

2. korak: POMEMBNO Posodobitev [7/16/18]

Pravzaprav sem se tega projekta lotil nekaj let kasneje in sem se moral vrniti k temu, da bi dobil nekaj informacij: D

Kakorkoli že, odkril sem, da je pri kodi nekaj napake, in pokazal vam bom, da to popravite v samo nekaj sekundah. Če prenesete kodo, se ne bo prevedla. Morate vstopiti in spremeniti majhno vrstico.

Pri sestavljanju vrstica 20 prikaže napako.

int ppm [chanAmount];

Preprosto ga spremenite v:

int ppm [2];

In tu ste! Uživajte v preostalem delu vadnice. Če ste slučajno naredili ta projekt, se pomaknite navzdol do dna i'ble in kliknite gumb "Uspelo mi je" in naložite sliko!

Korak: Sestavine:

Prenosi
Prenosi

Kaj potrebuje vsak dober recept? Sestavine. Na žalost boste morda morali iti kam drugam kot v vogalno trgovino.

Sestavine:

  • Telefon Android
  • Arduino (Uno, Nano, Micro, v resnici ni pomembno)
  • Vir energije za Arduino. Uporabil bom majhen dvocelični 500 mAh LiPo.
  • Modul Bluetooth HC - 05 ali HC -06
  • FTDI Breakout Board (lahko naredite z Arduinom, vendar vam ne bom pokazal, kako)
  • 3,5 mm moški moški avdio vtič. Stereo vtičnica NE BO delovala! Poskusil sem!
  • 2x LED in ustrezni upori
  • Priloga projekta
  • 2-žilni kabel (žica zvočnika deluje odlično ali dolg kabel USB)
  • Termoskrčljiv ali električni trak
  • Ženske glave za pin (za Arduino ščit, če se odločite, da ga naredite)
  • Perf deska (za Arduino Shield se odločite, da jo naredite.

Orodja:

  • Spajkalnik
  • Odstranjevalci žice
  • Škarje
  • Vrtajte z različnimi svedri
  • Pištola za vroče lepilo

4. korak: prenosi

Če želite prenesti datoteko.zip z vsem, kar potrebujete za to, jo lahko najdete tukaj. Sicer pa preberite spodaj.

Najprej morate prenesti aplikacijo Amarino in zbirko orodij Amarino in jo prenesti v telefon. To lahko storite z mikro SD -jem ali preprosto uporabite svoje najljubše spletno mesto za gostovanje datotek, na primer Google Drive.

Drugič, morate prenesti knjižnico MeetAndroid za Arduino IDE. Za namestitev knjižnice natančno sledite korakom.

ZA PC:

  1. Zaprite Arduino IDE.
  2. Razpakirajte mapo MeetAndroid. Zdaj bi morali imeti razpakirano mapo MeetAndroid_4. Odprite to mapo in izrežite notranjo mapo, imenovano MeetAndroid.
  3. Pomaknite se do knjižnic C: / Program Files (x86) Arduino / in prilepite v MeetAndroid. Če ste vse naredili pravilno, bi moralo izgledati kot prva slika.
  4. Znova odprite Arduino IDE in v knjižnicah bi morali videti pod »Prispevek« lib MeetAndroid.

ZA MAC

  1. Zaprite Arduino IDE.
  2. Razpakirajte mapo MeetAndroid. Zdaj morate in razpakirati mapo MeetAndroid_4. Odprite to mapo in kopirajte mapo v notranjosti, imenovano MeetAndroid.
  3. Pomaknite se do aplikacije Arduino, z desnim klikom miške pokažite vsebino paketa in nato vsebino/Java/knjižnice ter prilepite v mapo MeetAndroid.
  4. Znova odprite Arduino IDE in v knjižnicah bi morali videti pod »Prispevek« lib MeetAndroid.

Nazadnje prenesite obe moji skici Arduino, ki sta pripeti na dno tega koraka (vključeni v.zip).

5. korak: Konfiguriranje HC-06

Konfiguriranje HC-06
Konfiguriranje HC-06
Konfiguriranje HC-06
Konfiguriranje HC-06
Konfiguriranje HC-06
Konfiguriranje HC-06

Vaš modul Bluetooth HC-06 ni takoj pripravljen za uporabo v tem projektu. Spremeniti moramo le eno preprosto stvar: hitrost prenosa podatkov. Odvisno od tega, od koga kupujete svojega, lahko nastavite različne hitrosti prenosa. Od dveh različnih prodajalcev sem dobil dva HC-06 in vsak je deloval z različno hitrostjo prenosa. Spremeniti ga moramo na 115200 bitov na sekundo. Vzpostavite naslednje povezave:

HC-06 ------- Odbojna plošča FTDI

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

GND ----- GND

VCC ------ 3.3v

TX -------- RX (ali DRX)

RX -------- TX (ali DTX)

  1. Priključite odklopno ploščo FTDI v računalnik.
  2. Odprite Arduino IDE. Izberite, katera vrata Com so na voljo. (Prepričajte se, da v računalnik ni priključen Arduino ali kaj drugega).
  3. Odprite serijski monitor (koda ni potrebna!)
  4. Izberite 9600 za hitrost prenosa v spodnjem desnem kotu okna com. Vnesite "AT" (mora biti velika) in pritisnite pošlji. Če nič ne dobite nazaj, je v redu. To pomeni, da je vaša naprava nastavljena na drugačni hitrosti prenosa. Poskusite s hitrostjo prenosa 115200 in vnesite "AT". Če še vedno ne dobite ničesar, poskusite vsako hitrost prenosa in na vse vnesite "AT", dokler ne dobite odgovora. Če ne dobite odgovora, najverjetneje niste pravilno priključili HC-06. Preverite povezave.
  5. Če dobite odgovor "V redu", potem je super! Če dobite ta odziv pri kateri koli drugi hitrosti prenosa 115200, ga morate spremeniti v 115200. Če želite to narediti, vnesite "AT+BUAD8". Dobili boste odgovor "OK115200". Za nadaljevanje pogovora z Bluetoothom boste morali spremeniti hitrost prenosa na 115200. Nato lahko naredite stvari, na primer spremenite ime, tako da vnesete "AT+NAMERANDOM", ki je naključno želeno ime. Zdaj lahko zaprete serijski monitor.

6. korak: Nepopolno vezje za testiranje

To vezje je precej preprosto. Napajati morate Arduino (preko USB-ja, ker bomo morali nanj naložiti nekaj stvari), nato priključite HC-06. Samo povežite se po spodnjih povezavah.

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

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

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

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

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

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

7. korak: Namestitev programa Amarino in Amarino Toolkit

Namestitev programa Amarino in Amarino Toolkit
Namestitev programa Amarino in Amarino Toolkit
Namestitev programa Amarino in Amarino Toolkit
Namestitev programa Amarino in Amarino Toolkit
Namestitev programa Amarino in Amarino Toolkit
Namestitev programa Amarino in Amarino Toolkit

Doslej bi morali prenesti in prenesti aplikacijo in orodje Amarino v telefon. Toda preden ga namestite, morate spremeniti nastavitev v telefonu. Vaš telefon vam najprej ne dovoljuje namestitve aplikacije, ker ni certificirana aplikacija iz trgovine Android. Zato bomo morali telefonu dovoliti namestitev necertificiranih aplikacij. To je precej preprosto.

  1. Pomaknite se do Nastavitve/Varnost in se pomaknite navzdol. Videti bi morali polje z neznanimi viri in majhno polje zraven njega. Dotaknite se polja in omogočite. Odprlo se bo pogovorno okno, ki vam pove, kako tvegano je to; dobro zveni kajne? Zato se dotaknite gumba V redu. Oglejte si slike 1, 2 in 3.
  2. Zdaj lahko odprete aplikacijo Amarino in sledite navodilom na zaslonu. Ni preveč težko, samo pritisnite da.
  3. Namestite Amarino Toolkit. Tudi ni preveč težko.

8. korak: Nastavitev Bluetootha

Nastavitev Bluetootha
Nastavitev Bluetootha
Nastavitev Bluetootha
Nastavitev Bluetootha
Nastavitev Bluetootha
Nastavitev Bluetootha

Ko vaš projekt deluje (čip Bluetooth je vklopljen), poiščite nastavitve Bluetooth v telefonu. Telefon morate seznaniti s čipom Bluetooth. Dotaknite se iskanja naprav in vaša naprava bi se morala prikazati kot HC-05 ali HC-06, razen če ste jo imenovali prej. Vprašal bo za številko PIN in bo 1234. (Vem, da sem genij za vdor v napravo in iskanje uber-skrivnega gesla). Oglejte si slike 1, 2 in 3. Poskrbite, da ste seznanjeni z napravo in ste pripravljeni na naslednji korak. OPOMBA: lučka na napravi Bluetooth ne bo svetila, ko se seznanite s telefonom! Ugotovil sem, da sem ga moral po tem postopku znova zagnati, da se je prikazal v aplikaciji Amarino, zato pojdite in znova zaženite telefon.

9. korak: Amarino

Amarino
Amarino
Amarino
Amarino
Amarino
Amarino

Čas je, da odprete Amarina. Predstavili vam bodo opombe ob izdaji in se dotaknili V redu. Hvala Bonifaz Kaufman za ustvarjanje te čudovite aplikacije. Spodnje številke ustrezajo številki slike, npr. korak 1 = slika 1.

  1. Pozdravni zaslon. Dotaknite se »Dodaj napravo«.
  2. Vaša naprava bi morala biti zdaj na seznamu; dotaknite se ga. Če se ne prikaže, poskusite znova zagnati telefon in se prepričajte, da je naprava Bluetooth povezana s telefonom.
  3. Zdaj bi morali priti na ta zaslon. Dotaknite se »Poveži«. To lahko traja nekaj sekund.
  4. Če se poveže, bo lučka na napravi Bluetooth zasvetila in na vrhu boste videli "Aktivne povezave: 1. Zdaj se dotaknite imena naprave in NE prekinite povezave.
  5. Dotaknite se možnosti »Prikaži dogodke«.
  6. Dogodkov ne bi smelo biti. Dotaknite se »Dodaj dogodek«.
  7. Pojavil se bo seznam in želeli boste izbrati merilnik pospeška. Upoštevajte te druge senzorje, ki so vgrajeni v vaš telefon. Morda bodo nekoč prav prišli za kakšen kasnejši projekt!
  8. Tu je le nekaj nastavitev za merilnik pospeška. Prepričajte se, da je drsnik vklopljen "zelo hitro" in da je vizualizator podatkov v položaju "Besedilo". Nato tapnite shrani.
  9. Če vidite številke desno od "senzorja merilnika pospeška", ste dobri. Telefon lahko zdaj pustite pri miru. Če ne vidite številk, dolgo pritisnite na sivo območje, da odprete meni.
  10. Izberite "Force Enable".
  11. Bingo! Številke! Nagnite telefon in začutite, kako številke ustrezajo merilniku pospeška.
  12. Zdaj lahko postavite telefon na ravno površino in se pripravite na kodiranje!

10. korak: Preskočite kodo

Preskočite kodo
Preskočite kodo

Če torej ne želite umazati rok s kodo in želite le naložiti in oditi, boste morda imeli malo težav. Doslej sem uporabljal samo telefon, zato ne vem, če so telefoni drugih ljudi enaki. Če prenesete aplikacijo SensoDuino in kliknete zavihek "Vgrajeni senzorji", bi morali najti svoj merilnik pospeška. Če je merilnik pospeška MPU6050, potem je to isti senzor, ki ga imam jaz, in vam verjetno ni treba urejati kode. Če imate isti senzor, poskusite s kodo, naloženo v ta korak.

V nasprotnem primeru boste verjetno morali slediti naslednjim korakom.

11. korak: Dodelitev podatkov merilniku pospeška

Dodelitev podatkov merilnika pospeška
Dodelitev podatkov merilnika pospeška
Dodelitev podatkov merilnika pospeška
Dodelitev podatkov merilnika pospeška
Dodelitev podatkov merilnika pospeška
Dodelitev podatkov merilnika pospeška
Dodelitev podatkov merilnika pospeška
Dodelitev podatkov merilnika pospeška

Zdaj smo prišli do zabavnega dela in se zapletli v skico Arduino! Če se vaša skica ne sestavi, si oglejte zadnji korak tega navodila.

Na tej točki bi morali imeti vaš Arduino pravilno priključen na vaš HC-06, Amarino pa naj bi prek vašega Bluetooth-a potiskal številke na vaš Arduino. Dvakrat preverite, ali je HC-06 še vedno vezan, in naložite naslednjo skico v Arduino. (Priloženo temu koraku).

OPOMBA: Ko naložite skice v Arduino, boste morali TX in RX HC-06 odklopiti iz Arduina. Arduina ni mogoče naložiti, medtem ko sta RX in TX povezana z nečim.

Ko naložite to skico v Arduino, odprite serijski monitor. Videli bi tri združene številke, ločene s škatlo (□). Primer: [0,01 □ 0,02 □□ 9,21] Prvi dve številki sta roll and pitch. Nisem niti poskusil ugotoviti, kaj je tretji: D. Vaš telefon je lahko podoben temu ali pa tudi ne. Če želite izvedeti, katere številke so pomembne in katere številke so za vaš telefon, sledite tem korakom.

  1. Telefon postavite na ravno površino. Telefon usmerite tako, da bo kamera/zvočnik usmerjen v levo, mikrofon pa v desno. (slika 2).
  2. Nagnite levo stran telefona navzgor (slika 3) (vzdolž osi Z, glejte sliko 1 za os) do 45 stopinj. Upoštevajte, katera številka se pri serijskem monitorju drastično spremeni. Ta številka bo vaš zvitek.
  3. Nagnite telefon proti sebi (slika 4) (vzdolž osi X, glejte sliko 1 za os) do 45 stopinj.. Karkoli se drastično spremeni, je smola. Zapišite to.

Zdaj, ko vemo, katera dva niza številk sta roll and pitch, lahko gremo spremeniti kodo. Ogledali si bomo oddelek 2.

smola = podatki [0];

roll = podatki [1];

Če ste kodo pogledali prej, boste opazili, da so podatki merilnika pospeška postavljeni v matriko. Polje "podatki" ima tri "točke", imenovane "indeksi" za številke, indeks 0, indeks 1 in indeks 2. Zdaj, ko veste, katera števila predstavljajo višino in višino, lahko dodelite celo število "višina" in "zvijanje" pravilne številke v matriki. Primer: če se je tretji nabor številk spremenil, ko ste telefon nagnili v levo/desno, kar je zvitek, bi kodo spremenili v to:

roll = podatki [2];

In tako preprosto je. Če je vaš telefon podoben mojemu, bo prva številka višina, druga številka bo zvita, tretja številka pa smo drug vidik treh dimenzij.

12. korak: preslikava podatkov merilnika pospeška

Kartiranje podatkov merilnika pospeška
Kartiranje podatkov merilnika pospeška

Ko določite "roll and" pitch "pravilnim številkam v podatkih matrike, lahko nadaljujemo. Poglejte sliko 1 do konca na levi. To so surovi podatki iz vašega merilnika pospeška. Vendar ne moremo uporabiti te številke jih moramo neposredno preslikati na vrednost med 1000 in 2000 s sredino 1500. Za povečanje števila bomo pomnožili "roll" in "pitch" s 1000. Tako se bomo znebili vseh decimalk in bo dajte nam dostojno ločljivost. Zdaj, če pogledate številke v drugem stolpcu, lahko vidite 'nove' številke. Dovolite, da določimo nekaj vstopnih in izhodnih točk!

  1. Nagnite telefon v levo za 45 stopinj (zavrtite) in zapišite to številko.
  2. Nagnite telefon v desno za 45 stopinj (zavrtite) in zapišite to številko.
  3. Nagnite telefon naprej za 45 stopinj (korak) in zapišite to številko.
  4. Nagnite telefon nazaj za 45 stopinj (višina) in zapišite to številko.

Če sta dve številki približno enaki, ko ste telefon nagnili za 45 stopinj v obe smeri, lahko drugo številko zavržete in uporabite samo prvo. Ustvarite drugo številko tako, da vzamete minus prve številke.

Primer: telefon nagnite za 45 stopinj v desno. Prikaz številk za zvitek je 5500. Za drugo številko uporabite samo -5500. To bo naša vstopna in izstopna točka. Ne želimo, da bi naš TX registriral nič več kot te točke. Nato moramo te vrednosti preslikati na 1000-2000. V mojem primeru so bile -5500 do 5500 številke, ki sem jih dobil pri nagibanju telefona 45 stopinj in pri premikanju telefona 45 stopinj. Zato sem uporabil naslednjo kodo: OPOMBA: Zdaj je čas, da izbrišete / * in * / v razdelku 4, da omogočite to kodo. Izbrišite tudi ves razdelek 3.

pitchval = zemljevid (smola, -5500, 5500, 1000, 2000) -12;

rollval = zemljevid (roll, -5500, 5500, 1000, 2000) + 7;

Zdaj sta -12 in +7 nastavljeni tako, da se "pitchval" in "rollval" pripeljeta do središča 1500. Poskrbite, da bo vaš telefon na teh površinah na ravni površini. Če vaše središče ni na 1500, se lahko vaše letalo obrne v smer, čeprav imate raven telefona.

Omejiti moramo rollval in pitchval. Nočemo, da gredo več kot 2000 ali manj kot 1000 ali pa se stvari začnejo zapletati! Zato vtipkamo tole…

pitchval = omeji (pitchval, 1000, 2000);

rollval = omeji (rollval, 1000, 2000);

Zadnja stvar, ki jo moramo narediti s temi številkami, je zagotoviti, da se pravilno ujemajo z načinom nagibanja telefona. Preverite, ali je telefon obrnjen navzgor s kamero na levi in mikrofonom na desni.

  • Ko zavrtite telefon v levo, se mora rollval zmanjšati na 1000.
  • Ko zavijete desno, se mora povečati na 2000.
  • Ko telefon obrnete nazaj, se mora pitchval zmanjšati na 1000.
  • Ko telefon premaknete naprej, bi se moral ta povečati na 2000.
  • Ko telefon postavite na ravno površino, morata biti pri 1500.

Če, ko telefon zavrtite v levo in se rollval poveča in ne zmanjša, spremenite 1000, ki ste ga pomnožili z "roll" na -1000 (v razdelku 2). Enako velja za "pitch", če so številke obrnjene.

Primer kode za pritrditev zvitka v zgornjem primeru.

smola = (višina * -1000); // pomnožimo s 1000, da se znebimo decimalk

roll = (roll * -1000);

Če torej vse dobro deluje, lahko to dodamo končni kodi!

  1. Odprite skico ReadRawAccel. Kopirajte vse pod izdelovalcem strani1.
  2. Odprite skico TiltTX_Final. Pomaknite se do dna, kjer piše »prilepi stran 1« in zamenjajte vso kodo pod njim.
  3. Naložite skico TiltTX_Final v svoj arduino.

Korak: Čas vezja

Čas vezja!
Čas vezja!
Čas vezja!
Čas vezja!
Čas vezja!
Čas vezja!
Čas vezja!
Čas vezja!

Zdaj, ko smo končali s težjim delom, je čas, da naredimo vezje. Lahko se odločite, da ne boste naredili ščita, da bi prihranili čas in dele, vendar vedno rad delam svoje projekte s ščiti, če moram uporabiti ta Arduino z drugim projektom. Za ta projekt bom uporabil svoj Arduino Nano, ker želim, da se vse to prilega majhni škatli. Lahko pa uporabite kateri koli drug Arduino, od Mega do LilyPad. Zato preučite shemo, poglejte video in začnite spajkati! Tukaj ne bom objavil vse slike, ker vam v videu korak za korakom pokažem, kako to narediti.

14. korak: Nastavitev trenerja

Ko ste končali z vklopom vezja, se povežite s telefonom in priključite mono vtičnico v vrata za usposabljanje na zadnji strani radia. Množitelj nastavite na 1,3 in telefon postavite na ravno površino. Nato kalibrirajte.

Upoštevajte, da je kanal 0 dušilka, kanal 1 je zvitek, kanal 2 pa smola.

Če jih želite spremeniti, pojdite v kodo tukaj:

ppm [0] = plin;

ppm [1] = rollval; ppm [2] = smola;

Korak 15: Zaključek

Nekateri ljudje so imeli težave pri sestavljanju kode. Zakaj ne vem, ker mi dobro deluje na obeh platformah, če pa dobite sporočilo o napaki (napaka v tem obsegu ni opredeljena), potem morate za zanko napake praznine postaviti 1. vrstico.

1. MeetAndroid meetAndroid (napaka); // Android bluetooth stvari. Ne dotikajte se te napake. Void (zastavica uint8_t, vrednosti uint8_t) // več stvari bluetooth. {Serial.print ("Napaka:"); Serial.println (zastava); }

Ko končate, bi moralo izgledati tako:

void error (zastavica uint8_t, vrednosti uint8_t) // več stvari bluetooth.

{Serial.print ("Napaka:"); Serial.println (zastava); } MeetAndroid meetAndroid (napaka); // Android bluetooth stvari. Ne dotikajte se tega.

Resnično upam, da se vam je to navodilo zdelo zanimivo in sveže. Poskušal sem se prepričati, da je enostavno slediti. Če vas kaj zamoti, je videoposnetek nekoliko podrobnejši od navodil. Če naletite na kakršne koli težave, me kontaktirajte in z veseljem vam bom pomagal, če bo vaše vprašanje ustrezno. Prosimo, da glasujete temu učitelju in spodaj objavite sliko za replikacijo, če pa ste posneli video, objavite povezavo! Ne pozabite pustiti povratnih informacij spodaj!

HavocRC, ~ AJ

Priporočena: