» Elektronika » Arduino »Radijo valdymo įranga Arduino mieste

Radijo valdymo įranga Arduino mieste



Šiame straipsnyje aptariama proporcingos plokščių radijo valdymo įrangos gamyba Arduino. Įdomus projekto bruožas yra tai, kad įranga buvo sumanyta kaip alternatyva „suaugusiems“ skirtai įrangai, tačiau kurią galite pasigaminti patys. Ant siųstuvo yra apdailos mygtukai, kurie, pavyzdžiui, yra svarbūs valdymui modeliai orlaivių siųstuvas taip pat turi nedidelį ekraną su organiniais šviesos diodais, kuriame rodoma pagrindinė informacija apie siųstuvo veikimą. Įranga skirta 6 kanalams, 4 proporcingiems ir 2 diskrečiams. Autorius taip pat padėjo pagrindą ateityje papildyti dar dviem proporcingais kanalais, prie bylos buvo pridėti 2 potenciometrai, tačiau šiuo metu jie nedalyvauja. Nepaisant to, to pakanka, kad būtų galima valdyti lėktuvo, laivo ar automobilio modelį, o atskiri kanalai leis valdyti papildomą krovinį, pavyzdžiui, priekinių žibintų, denio žiburių, navigacijos žiburių įtraukimą ar net nedidelių raketų paleidimą. Įranga turi du valdymo režimus - linijinį ir eksponentinį.




Siųstuvui jums reikės:

1 x Arduino NANO / UNO / ProMini
1 x BMS apsauginė lenta trims Ličio jonų skardinėms
1 x 5,5 x 2,1 mm jungtis
1 x paspartinkite DC / DC keitiklį XL6009
1 x mažas keitiklis LM2596 (apie tai kalbėsiu atskirai)
3 x 18650:
2 x vairasvirtės JH-D202X (parduodamos Ali)
2 x perjungimo jungiklis
1 x i2c OLED ekranas, 0,96 colio, 128X64
1 x radijo modulis NRF24l01 su stiprintuvu ir antena
9 x takto mygtukas 6 * 6 * 5 mm
Išėjimo varžai (žr. Diagramą)

Imtuvui jums reikės:

1 x Arduino NANO / UNO / Pro Mini
1 x radijo modulis NRF24l01
1 x AMS1117 3,3 V įtampos reguliatorius
30 x pls šukos
1 x lentos
1 x 10 uF kondensatorius

Žemiau galite pamatyti visų komponentų grafinį vaizdą ir jų sujungimo schemą. Prieš surenkant, reikia sukonfigūruoti „Buck“ keitiklius, XL6009 - 12,6 V (šis modulis atsakingas už įkrovimą), LM2596 - 3,3 V (maitinimas radijo moduliui). Vietoj LM2596 teoriškai galima naudoti ASM117, pagal duomenų lentelę didžiausia šio stabilizatoriaus įėjimo įtampa yra 15 V, tačiau patariama jo nenaudoti aukštesnėje nei 12 V. Matyt, remdamasis šiais svarstymais, autorius naudojo kitą nuolatinės / nuolatinės srovės keitiklį. Vietoj to, jūs taip pat galite naudoti reguliuojamą stabilizatorių, pavyzdžiui, LM317.




Būstas

Radijo valdymo įranga Arduino mieste


Korpusą sudaro dvi pagrindinės dalys: viršutinė ir apatinė. Be to, išspausdinti 9 mygtukai (8 - apipjaustymui ir vienas režimo mygtukas), 5 - atsarginės mygtukų atsarginės kopijos, ekrano rėmelis ir maitinimo slankiklis.Autorius spausdino PLA su trintuku su 20% padengimu, 0,4 mm purkštuku ir 0,3 mm sluoksnio aukščiu. Beje, niekas nedraudžia naudoti kito dėklo, galite tiesiog pasiimti tinkamą dėžę, patys suklijuoti arba paimti iš Kinijos žaislo gana didelį dėklą, jie beveik parduodami maišuose klasifikuotose svetainėse.


Siųstuvo tvirtinimas

Baterijos yra sujungtos nuosekliai. Autorius tai padarė su litavimu, noriu atkreipti dėmesį, kad 18650 m. Skardinių litavimas reikalauja tam tikrų įgūdžių, todėl, jei jūs neturite tokios patirties, nusipirkite baterijas su jau suvirintais žiedlapiais ir lituokite prie jų. Taip pat akumuliatoriai pagal aukščiau pateiktą schemą yra lituoti į BMS modulį, kurio įvestis tiekiama iš XL6009 keitiklio įtampos (vietoj to gali būti naudojamas MT3608). BMS yra atsakingas už tolygų visų skardinių įkrovimą / iškrovimą ir maitinimo išjungimą, kai baterijos yra išeikvotos. Įtampą taip pat galima stebėti naudojant ekraną. Baterijos įkraunamos iš 9 V maitinimo šaltinio, kurio srovė ne didesnė kaip 3 A (maksimali „XL6009“). Tiesą sakant, įkrovimo srovė turi būti apskaičiuojama atsižvelgiant į baterijų talpą ir imti maitinimo šaltinį su šiek tiek mažesne srove arba ją apriboti. Montuoti modulius į korpusą patogu naudojant „automobilinę“ dvipusę juostą.




Laikrodžio mygtukai montuojami ant specialių platformų, po kurių jie pritvirtinami mažais varžtais prie atitinkamų atramų korpuso viduje. Čia iš tikrųjų viskas yra dizainerio lygiu ir gerai suprantama iš nuotraukos.




Mygtukai yra sujungti rezistoriais, taigi iš esmės lieka maža varžinė klaviatūra, leidžianti naudoti tik vieną „Arduino“ plokštės kaištį. Laidai yra lituojami prie vairasvirtės potenciometrų, kraštiniai laidai eina į žemę ir 5 V, vidurkis veda prie atitinkamo Arduino kaiščio. Aš planuoju pakartoti šią schemą, aš jau šiek tiek eksperimentavau ir galiu pasakyti, kad kodas turi funkciją automatiškai apversti kanalus pagal poreikį, tačiau aš dar nesupratau, kaip schema lemia šį patį poreikį. Tai reiškia, kad kanalo inversija iš esmės atliekama tiriant kraštutines išvadas vietomis. Tokie kreiptukai rašymo metu parduodami Ali maždaug už 7 USD už vienetą, nesvarbu, ar tai priklauso nuo jūsų, ar ne. Vietoje to galite naudoti kreiptuko modulius žaidimų valdiklių „arduino“ arba vairasvirtėms.

Tiesą sakant, vairasvirtė veikia kaip daliklis, nukreipdamas rankeną, mes keičiame įtampą ties potenciometro vidurine išvestimi ir priklausomai nuo šios įtampos arduino nustato nuokrypį.
[centras] [/ centras]
Stikliniai taip pat sujungti. „Toggle“ jungikliai reikalingi įjungiant-išjungiant, nes kanalas yra diskretus ir turi tik dvi reikšmes - 0 arba 1., atsižvelgiant į tai, arduino išėjimas traukia į žemę, ar į 5 V maitinimo šaltinį. Be to, įjungimo-išjungimo jungiklis yra būtinas, jei išeitį paliekate „kabančio ore". kas nutiktų naudojant tris padėties, valdiklis nesupranta, kas vyksta, ir vertė atsitiktine tvarka šokinėja arba 0, arba 1 (mano patirtis). Negalite nustatyti papildomų potenciometrų, nes jie kol kas neįsijungia. Arba galite įdėti ir stebėti šaltinio puslapį, galbūt autorius galiausiai paskelbs atnaujintą programinę-aparatinę įrangą.




Kitas, sumontuotas arduino, radijo modulis ir radijo modulio maitinimo plokštė. Kaip aprašyta aukščiau, būtina nustatyti 3,3 voltų įtampą. Tai beveik neįmanoma padaryti naudojant standartinį kintamąjį rezistorių, todėl autorius jį išskleidė ir vietoje to pasuko litavimo krypčių žoliapjovę. Tada ekranas sumontuotas, o visi komponentai yra prijungti prie arduino gnybtų pagal schemą.




Firmware

Apie „Arduino“ programinę-aparatinę įrangą jau kalbėta apie 1000 kartų, šiuo metu galimybė tai padaryti laikantis „arduino“ projekto yra tokia pat svarbi kaip numatytoji nuostata, kaip ir galimybė laikyti rankose lituoklį, laikant ką nors lituoti.Siųstuvo, imtuvo, būtinų bibliotekų kodą ir bylos 3D spausdinimo bylą galima atsisiųsti į vieną archyvą straipsnio pabaigoje.


Imtuvas



Imtuvui jums reikės dar vienos „Arduino“ plokštės, radijo modulio (be antenos, telemetrija čia vis dar neįgyvendinta) ir 3,3 voltų stabilizatoriaus. Imtuvas yra lituotas prie duonos lentos. Imtuvo galia vykdoma taip pat, kaip ir bet kurio kito gamyklos imtuvo galia, naudojant specialų greičio reguliatoriaus išėjimą.




Savo jėgomis noriu pridurti, kad vietoj standartinės šio modulio antenos pageidautina lituoti tą pačią anteną, kuri yra įmontuota modulyje su stiprintuvu (tik be korpuso). Tai ypač neturės įtakos priėmimo diapazonui, tačiau reikšmingai paveiks priėmimo kokybę, priklausomai nuo valdomo modelio padėties skirtingose ​​plokštumose. Šiuolaikiniams imtuvams ir siųstuvams šiuo tikslu yra sumontuotos net dvi antenos, kurios yra statmenos viena kitai.


Be to, autorius įgyvendino labai svarbią funkciją - išvestį iš PPM imtuvo signalo. Schematiškai šiuo atveju niekas nesikeičia, jums tiesiog reikia užpildyti kitą programinę-aparatinę įrangą, PPM signalas išvedamas taip pat, kaip ir daugumoje gamyklinių imtuvų - iš pirmojo kanalo (dujų).




Tai viskas. Asmeniškai projektas man labai patiko ir, kaip jau sakiau, planuoju tai pakartoti iš nuotolinio vaikų žaislo valdymo pulto. Meniu galite pasirinkti režimą nuo linijinio iki eksponentinio ir tiksliai sureguliuoti kiekvienos lazdos vertę. Atminkite, kad vidutinė kiekvieno kanalo vertė turėtų būti 127.


Galite atsisiųsti viską, ko jums reikia čia.

Visa sėkmė darbe!
8.9
8.6
8.6

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalėju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti
30 komentarai
feonor12 teisingai rašo, kad nenaudojami įėjimai turi būti traukiami arba į žemę, arba į galią. Aš pradėjau laikytis šios taisyklės, kai tik išmokau dirbti su CMOS mikroschemomis. O, kaip seniai tai buvo ... Ir, žinoma, mikrovaldikliuose šios taisyklės niekas neatšaukė.
labai ačiū !!!!!
Autorius
Kompiliavimo procese aš taip pat priskyriau tam tikrus kintamuosius ir taip pat parašiau, kad mažai atminties, nors iškart buvo parašyta, kad eskizas naudoja 77% atminties. Eskizas yra gremėzdiškas, niekas neneigia, bet jis veikia. Pagrindinis dalykas, kuris sudarė. Sukurkite bandymo grandinę ir patikrinkite, kaip ji veikia, problemas reikia išspręsti, kai tik jos tampa prieinamos. Surinkus siųstuvo bandomąją grandinę - visi nenaudojami kanalai, ar tai būtų vairasvirtės, perjungimo jungiklis ar klaviatūra, apskritai viskas, kas neprijungta, turi būti pririšta prie žemės arba prie 5 V, jei paliksite įrenginį „kabantį ore“, jis neveiks tinkamai, su tuo susidūrė pakartotinai.

Z.Y. Užsiregistruokite ir galite.
Svečias Andrius
tai beveik pasirodė kaip jūsų nuotraukoje.
tik dabar prisiekiu, trumpai tariant, čia
C: \ Vartotojai \ mozga \ Dokumentai \ Arduino \ biblioteka \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: nario funkcijoje loginė reikšmė Adafruit_GFX_Button :: yra (int16_t, int16_t) ':

C: \ Vartotojai \ mozga \ Dokumentai \ Arduino \ biblioteka \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1120: 28: įspėjimas: palyginimas tarp pasirašytų ir nepasirašytų sveikųjų išraiškų [-Wsign-palyginti]

grąžinti ((x> = _x1) && (x <(_ x1 + _w)) &&

                             ^

C: \ Vartotojai \ mozga \ Dokumentai \ Arduino \ biblioteka \ Adafruit_GFX_Library \ Adafruit_GFX.cpp: 1121: 28: įspėjimas: palyginimas tarp pasirašytų ir nepasirašytų sveikųjų išraiškų [-Wsign-palyginti]

(y> = _y1) && (y <(_ y1 + _h)));
galiausiai kompiliacija baigta
rašo nepakankamai atminties ir programa gali neveikti stabiliai.
atsiprašau, negaliu čia įdėti nuotraukos.
Autorius
Nuimkite / padėkite du brūkšnius.

#define SSD1306_128_64
// #define SSD1306_128_32
// #define SSD1306_96_16

Taip turi būti.
Svečias Andrius
labai ačiū.
nelabai prisiekiu.
Dabar aš google, o tai reiškia:
(Pakomentuokite antrą, o pirmąjį nekomentuokite.)
Autorius
Dviese, prakeiktas, „Google“ minutes. Faile „Adafruit_SSD1306.h“ reikia rasti šias eilutes

// #define SSD1306_128_64
#define SSD1306_128_32
// #define SSD1306_96_16

pakomentuokite antrą ir nekomentuokite pirmojo.
Autorius
Klausykite, aš neparašiau šio kodo ir nesu programavimo specialistas. Tai, ką aš žinojau, paskui paskatino, tau netinka. Tai veikia autorius, aš kolekcionuoju - jis tinka ir man. Tai neveikia jūsų, todėl klaidos nėra kode ar bibliotekoje. Kreipkitės į teminį forumą, eikite į šaltinį ir parašykite autoriui arba palaukite, kol kas nors čia žinos. Aš sakiau, kad nežinau, kas čia yra, ko dar reikia iš manęs, kad viską mestų ir pradėčiau spręsti problemą tau? Atsiprašau, ne.
Svečias Andrius
"ačiū už pagalbą"
klaida „Adafruit_SSD1306.h“ bibliotekoje
Ir aš turiu „privačios tvarkos“ problemą.
tai kas išduoda.
Transmitter_code: 102: 2: error: #error („Neteisingas aukštis, pataisykite tai Adafruit_SSD1306.h!“);
gal kokį numerį ar raidę reikėtų ten pakeisti, bet aš nežinau
Autorius
Tada aš nežinau, viskas buvo sukompiliuota ir susiūta. Dabar pasidomėjau, kad būtų įdomu, viskas taip pat buvo sudaryta. Taigi privati ​​problema.

Svečias Andrius
Adafruit_SSD1306-master biblioteka
pačioje programoje įdiegė „arduino ide“ programą
Autorius
Ar kompiliavimo metu yra klaida? Jis keikiasi prie parodos bibliotekos. Ar trečiadienį iš archyvo įdiegėte „Adafruit_SSD1306-master“ biblioteką?
Svečias Andrius
labas.
Pirmiausia nusprendžiau patikrinti eskizus. PPM ir PWM imtuvai (skaitykite)
Aš pradėjau tikrinti siųstuvą, jis duoda klaidą.
#error („Aukštis neteisingas, pataisykite tai Adafruit_SSD1306.h!“);
„Google“ vertėjas išverstas.
#error ("Aukštis neteisingas, pataisykite tai Adafruit_SSD1306.h!");
Ir ką turėčiau daryti dabar, net nežinau ..............
Autorius
Sveiki visi. Apskritai neturiu nei laiko, nei noro artimiausiu metu baigti programos sudarymo, kad galėčiau apie tai parašyti straipsnį, tačiau ilgą laiką piešiau imtuvo ženklą, kurį reikia pasiimti. Aš lentos nerinkau, bet kelis kartus patikrinau, atrodo, kad viskas teisinga. Keletas žodžių, kad klausimų nebus:
Radijo modulio stabilizatorius yra išlydytas smd plokštėje (ASM1117 esant 3,3 V, įjungiama pagal duomenų lapą). Jei jis veiks nestabiliai arba nedidelį atstumą - pakabinkite 10 mikrotadų konderų tiesiai ant modulio maitinimo kontaktų (aš nerandu vietos, kur įspausti lentą).
Lydome smd, tada džemperius, po to seka arduino (programavimo letenos prie išėjimų šukos), antrąjį radijo modulio „aukštą“, kaip aš dariau skrydžio kontrolieriuose. Radijo modulis sutampa su arduino nustatymo iš naujo mygtuku, todėl aš jį nunešiau į užrašo užpakalinę dalį (tik litavau jį iš arduino ir litavau). Jei jūsų programuotojas pats ištraukia iš naujo nustatytą elementą arba neketinate atnaujinti po surinkimo, galite pašalinti mygtuką ir takelius iš laistymo indelio, skara išeis keliais milimetrais siauresnė ir trumpesnė (20x50 mm). Bet kokiu atveju šalikas pasirodė labai kompaktiškas. Radijo modulyje pageidautina nupjauti atspausdintą anteną ir litavimą, kaip ir standartiniuose 2,4 GHz imtuvuose (nuotrauka žemiau). Tai neturės įtakos diapazonui, tačiau priėmimas pagerės esant skirtingoms orientacijoms erdvėje. 5 V galia prie bet kurios jungties iš Svorio reguliatoriaus arba išorinis.
Nustatykite gatavą plokštę permatomoje šilumos susitraukiančioje vietoje, galite iš anksto piešti, atsispausdinti ir įterpti vardinę lentelę su kontaktinių grupių žymėjimu. Arba pasidarykite sąsiuvinį kaip tą patį skrydžio stabilizatorių.
Na, viskas atrodo galite atsisiųsti ženklą čia.



Čia yra stuburas. skrydis, straipsnis apie tai mano profilyje.


Svečias Vladislavas
Rašykite, kad padėtų, eskizą surinkau gabalėliais, nes mano gimtoji nepradėjo, dabar viskas veikia gerai, Viber 0993482290
robotas
pagalba su skatech. yra daug klaidų !!
Autorius
Aš „Appu“ laisvalaikiu darau net iš laisvo laiko, tai yra tautologija, bet tai tiesa.Kadangi yra gamyklinė „flysky i6“ programa, tai šią, norėdama sportuoti, renku. Kai aš tai baigsiu, aš surinksiu įprastą imtuvą - viską surašysiu atskirame straipsnyje.
Bet kad jums nekiltų abejonių dėl jo atlikimo, čia suskubote:

Kaip matai, jis veikia. Pvz., Prijungtas vienas kanalas. Laidas prie imtuvo yra maitinamas, jį maitina įkrovimas iš telefono.

Nors dar daug ką reikia tobulinti, programinės įrangos dalyje tai yra, kad būtų galima pasirinkti labiausiai triukšmingą kanalą, įpareigojimą, surinkti kelis imtuvus, pridėti atmintį bent 5 modeliams. Net telemetriją galima nuplauti, jei norite. Bet tam mums reikia arba entuziastų pagalbos, arba pačią arduino kalbą geriau išmokti, arba autorius parašyti, galbūt tai jį sudomins. Aš artimiausiu metu tikrai to nepadarysiu.

Ir aš jau sakiau apie maistą. 1 skardinė 18650 + MT3608 + ASM1117 + TP4056 su apsauga nuo -54-5 dolerių. Kaip pasirinkimas, tačiau jų yra daug, bent jau iš baterijų.
Andrius1978 m
Parodykite savo nuotolinio valdymo pulto vaizdo įrašą ..... Apie nesąmonę - nesąmonė gali būti jums, tačiau tai sudaro 65% viso nuotolinio valdymo pulto - trijų kotelių, įkroviklio ir trijų ličio - kainos.
Autorius
Niekas nesivargina organizuoti maitinimo kitaip. Dėl tam tikrų priežasčių visi prikimba prie nesąmonių, praleisdami pagrindinį niuansą - tai yra paruoštos „smegenys“, imtuvas ir siųstuvas ant standartinio PPM signalo, o kaip juos maitinti ir tokiu atveju paspausti yra dešimtas dalykas. Taip pat galite tiekti energiją iš vienos skardinės naudodamiesi padidintu DC / DC keitikliu, pataisydami kodą, kad būtų teisingai nurodytas vienos skardinės įkrovimas. Iki šiol valgau iš vainiko, nuolatiniam vartojimui nesu įsivaizdavusi savo versijos.
Andrius1978 m
Koks iškrypimas maitinti tris ličius nuotolinio valdymo pultu, kuris naudoja 5v ir 3,3v ....
Autorius
Autorius
Ar norite patys pasidaryti bylą? Tai yra laiko švaistymas, paprastai jis vis tiek nebus veiksmingas. Svetainėse klasifikuoti skelbimai parduoda daugybę žaislų, įskaitant pistoletą, nuotolinio valdymo pultų. Parduokite už centą (vaikas užmušė žaislą, bet liko nuotolinio valdymo pultas). Pasirinkite mažiau masyvią ir perdarykite. Pakeitimas sumažinamas iki to, kad išmetamas visas užpildymas ir linkstama prie linijinio potenciometro valdiklių.
Kitas variantas yra nusipirkti „appu“ su įdaru, tačiau su visa mechanika. Tokių modeliuotojų svetainėse laikas nuo laiko pasirodo.
Mano appa atrodys maždaug taip (duomenų lentelė yra bandomoji, tada aš padarysiu ją gražesnę)
Svečias Eugenijus
tai yra mechanika ir interesai, ir nėra ko atsigręžti
Autorius
Kodėl? Taip, ir kas sustoja, tai mechanikos reikalas. Paimkite pistoleto pultą iš žaislo, modifikuokite jį ir jis bus toks. Galite pasiimti bet ką, kompiuterinį vairasvirtę skrydžio treniruokliams, net žaidimų planšetę iš „Sonya“. Čia pagrindinė schema.
Aš jau renku save iš žaislinės konsolės.
Svečias Eugenijus
būtų pagaminta pistoleto tipo įranga ...
Autorius
Tiesiog pažymėjus, viskas atidaroma ir atsisiųsta. Galbūt turite kažkokį skelbimų blokatorių ar dar ką nors.
Jei kam nors kitam kyla problemų su atsisiuntimu - parašykite, kreipsiuosi į administratorių.
tai čia neveikia
Autorius
Čia galite atsisiųsti viską, ko jums reikia.

Spustelėkite čia
Autorius
Čia galite atsisiųsti viską, ko jums reikia.

Spustelėkite čia
o kur yra įrangos eskizas

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...