Sisällysluettelo:

NRF24 kaksisuuntainen radio telemetriaa varten: 9 vaihetta (kuvilla)
NRF24 kaksisuuntainen radio telemetriaa varten: 9 vaihetta (kuvilla)

Video: NRF24 kaksisuuntainen radio telemetriaa varten: 9 vaihetta (kuvilla)

Video: NRF24 kaksisuuntainen radio telemetriaa varten: 9 vaihetta (kuvilla)
Video: DigiSpark Four-channel Propo Encoder with S/C mix, elevon mix, alarms etc 2024, Heinäkuu
Anonim
NRF24 kaksisuuntainen radio telemetriaa varten
NRF24 kaksisuuntainen radio telemetriaa varten

Hei kaverit, nimeni on Pedro Castelani, ja tuon teille ensimmäisen ohjeen: rakennan kaksisuuntaisen radion arduinolla, no, mitä tahansa tarvitset.

Tässä projektissa teemme kaksi erillistä piiriä, jotka toimivat sekä vastaanottimena että lähettimenä. Tärkeimmät komponentit ovat kaksi arduino -korttia (kaikki toimivat) ja kaksi nrf24 -lähetinmoduulia. Minun tapauksessani ohjaan servoa potentiometrillä toisesta arduinosta ja lähetän kaksikennoisen lipoakun jännitteet takaisin ensimmäiseen.

Aion käyttää sitä lisälaitteena dronelleni, jolla ei ole telemetriaa tai servo-kardaaniohjausta. Voit kuitenkin käyttää sitä muihin tarkoituksiin, kuten oman nelikopterin, lentokoneen, rc -auton jne. Rakentamiseen. Toimitetusta koodista voit myös tehdä haluamasi muutokset tarpeidesi mukaan. Yritän myös selittää, kuinka muokata sitä oikein (mikä kesti jonkin aikaa oppiakseni itse, koska olin tottunut toisenlaiseen käyttöön nrf24 -sirulle).

Vaihe 1: Materiaalit

Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit
Materiaalit

Aloittaaksemme projektimme meidän on tiedettävä kaikki tarvittavat osat. Alla on luettelo tarvittavista perustoiminnoista. Ostin suurimman osan niistä paikallisesta elektroniikkakaupasta, jossa asun, joten en voi suositella sinulle mitään ostopaikkaa. Voit kokeilla Amazonia tai muuta paikkaa. En sano, että sinun pitäisi tilata ne sieltä, mutta se on vain ehdotus.

  1. Kaksi Arduino -levyä (kenenkään pitäisi toimia. Minulla on kaksi arduino pro mini -laitetta, joista pidän paljon, koska niissä on 13 digitaalista nastaa ja 8 analogista, kun taas Unossa on vain 6 analogista).
  2. Kaksi Nrf24 -moduulia. Joissakin on ulkoisia antenneja, joilla on suurempi lähetysalue. Valitse niistä, joista pidät eniten.
  3. Naaras-naaras- ja naaras-uros-kaapelit.
  4. Prototyyppitaulu.
  5. Arduino -ohjelmoija (arduino pro minille, jos sinulla on sellainen USB -liitännän kanssa, et tarvitse sitä).
  6. Arduino IDE (ohjelmisto). Lataa täältä.
  7. Minun tapauksessani käytin myös:
  • Servo. Kuka tahansa, jonka voit saada. Pidän SG90: stä, joka on pieni arduinoa varten.
  • Potentiometri (10–20 k ohmia). Voidaan ostaa paikallisesta elektroniikkakaupasta tai voit käyttää arduinoa varten valmistettua ohjainta. Minulla on muutama kuva niistä. Sain sellaisen myös rikkoutuneelta drone rc -ohjaimelta, vain antaakseni sinulle muutamia ideoita
  • 4 yhtä normaalia vastusta. Käytin 10 tuhatta, jotka sain isoisäni talosta. Käytän niitä jännitteenjakajina.
  • Pieni kuparityynyn perfboard (jonka sain myös isoisältäni) vastusten juottamiseksi yhteen.
  • Nastat. Käytetään jumppikaapelien yhdistämiseen arduinosta helposti vastuksiin.
  • 2s lipoparisto. Käytän sitä yhdelle arduinoistani. Vastukset on kytketty siihen ja lukevat sen jännitteet. Aion arduinoni liittää dronin 2s -akkuun, koska se ei tarvitse ulkoista virtalähdettä ja samalla kertoo minulle, kuinka paljon akkua on jäljellä.
  • Juotosrauta ja juote. Tarvitaan juottamaan vastukset, perfboard ja nastat yhteen.

Vaihe 2: Toiminto ja koodi

Toiminto ja koodi
Toiminto ja koodi

Kun kaikki materiaalit on mainittu, aletaan puhua moduulien toiminnasta.

Kuinka se toimii: Kutsutaan yhtä arduinoa "A" ja toista "B". Minun tapauksessani molempien ohjelmoinnin jälkeen liitin ne vastaavaan radio -siruun ja lisäsin potentiometrin arduino A: han ja vastukset ja servon arduino B: hen. Moduuli A lähettää arvot B: lle ja siirtää servoa. B lukee 2s -akun jännitteet ja lähettää ne takaisin A: lle. Sitten koko ympyrä alkaa uudelleen. Koska A vastaanottaa arvot, joita ei ilmaista mekaanisesti, se yhdistetään ohjelmoijaan, jonka kautta voimme lukea ne sarjamonitorilla (sisältyy Arduino IDE: hen)

Koodi: Kutsun arduino A: n luonnosta (yhdistetty ohjelmoijaan ja potentiometriin) TwoWayRadio_1: aa ja luonnosta arduino B: lle TwoWayRadio_2WithServo

TwoWayRadio_1 ja TwoWayRadio_2WithServo löytyvät tämän kappaleen alapuolelta. Kunkin koodin sisällä on selitys, jotta kaikki olisi helpompi ymmärtää.

Vaihe 3: Juotosmoduulit: jännitteenjakaja ja potentiometri

Juotosmoduulit: Jännitteenjakaja ja potentiometri
Juotosmoduulit: Jännitteenjakaja ja potentiometri
Juotosmoduulit: Jännitteenjakaja ja potentiometri
Juotosmoduulit: Jännitteenjakaja ja potentiometri
Juotosmoduulit: Jännitteenjakaja ja potentiometri
Juotosmoduulit: Jännitteenjakaja ja potentiometri
Juotosmoduulit: Jännitteenjakaja ja potentiometri
Juotosmoduulit: Jännitteenjakaja ja potentiometri

Tämä vaihe on valinnainen, koska haluat ehkä käyttää vain arduinoa varten suunniteltua potentiometrin ohjaussauvaa ja käyttää toista moduulia jännitteenjakajan sijasta. Suunnittelin kuitenkin kaiken (koodit mukaan lukien) näille moduuleille.

Potentiometri:

Tämä osa on lähes helpoin juotosvaiheessa. Sinun tarvitsee vain juottaa joitakin hyppyjohtoja potentiometriisi. Jos haluat, voit ensin juottaa potentiometrin perfboardiin ja sitten juottaa joitain tappeja. Kun sinun on käytettävä sitä, kytke vain hyppyjohdot arduinoon ja sitten perfboardin nastoihin. Kun et käytä kaapeleita, voit irrottaa ne ja käyttää niitä toiseen projektiin. Jos kuitenkin teet kuten minä, voit jättää potentiometrin juotettuna suoraan kaapeleihin

  • Jos teet kuten minä, hanki kolme naaras-naarashyppykaapelia, leikkaa yksi kärki ja poista eristys, jättäen pieni pala kuparijohtoja jokaiseen lankaan.
  • Kuumenna juotosraudasi ja juota muutetut puserot potentiometrin nastoiksi. Jos voit, yritä saada erilaisia värejä, jotta voit muistaa, kumpi on vcc, gnd ja "signaali" (keskimmäinen). Liitä nämä kaapelit arduinon vastaaviin analogisiin nastoihin. Vaiheen alussa on joitain kuvia siitä, miltä se näytti. Potentiometri ei ole tavallinen, se on itse asiassa pieni pyörä, jossa oli viisi nastaa. Minulla kesti jonkin aikaa selvittää, mikä oli mikä. Yritä tehdä se helpommin ja käytä tavallista potentiometriä MATERIALS -vaiheen mukaisesti.
  • Jos juotat sen perfboardille, hanki potentiometri ja perfboard ja juota ne yhdessä juotosraudan kanssa.
  • Ota nastat (kolme) ja aseta ne kätevimmällä tavalla. Muodosta liitäntä jokaisen tapin ja potentiometrin nastojen välillä juotteen avulla. Älä kytke enempää kuin kaksi nastaa, tai se ei toimi (se toimii oikosuluna).
  • Hanki naaras-naaras- tai naaras-uros-hyppyjohtimet ja liitä ne arduino-laitteestasi uuteen potentiometrimoduuliin (muista mikä on).

2. Jännitteenjakaja:

  • Tämä osa on hieman monimutkaisempi. Sinun on hankittava neljä vastusta, viisi nastaa ja perfboard. Suunnittelin koodin käytettäväksi 2 sekunnin akulle (kaksi kennoa), mutta voit käyttää sitä myös 1 sekunniksi muuttamalla arduino -luonnosta hieman ja laitteistoa. Lisäsin kuvia kahdesta tekemästäni jännitteenjakajasta, joista toisessa oli vain 2 vastusta (1 sekunnin paristoille) ja toisessa neljä (arvasit sen: 2 sekunnin paristot).
  • Aloitetaan 2s: stä. Minulla ei ole kuvia rakennusprosessista, koska aloin hioa tätä ohjeistusta jonkin aikaa sen jälkeen, kun olin juottanut sen. Lisään kuvia lopputuloksesta, joten yritän olla mahdollisimman selkeä.
  • Aloita hankkimalla perfboard ja 5 nastaa. Juottaa ne lähelle sivua ja älä anna niiden koskettaa toisiaan.
  • Juota vastukset vaiheen alussa viimeisen kuvan mukaisesti (pieni piirikaavio). Kunkin vastuksen ja tapin väliset liitännät tehdään juotoksella. Yritä ottaa mahdollisimman vähän tilaa.
  • Kun olet valmis, sen pitäisi näyttää siltä kuin kuvat valmiista jännitteenjakajasta, jonka lähetin yllä.
  • 1s -jännitteenjakaja on pohjimmiltaan sama, paitsi että käytät vain kolmea nastaa ja kahta vastusta. Lisäsin kuvia siitä, miltä se näyttää, kun se on valmis. Katsokaa vain 2s: n kaaviota ja kuvitelkaa se ilman signaalijohtoa 1, keskijohtoa ja vastuksia r2 ja r3 ja siellä, sinulla on se!
  • Joten jos haluat 1s jännitteenjakajan, se voi olla vain hieman monimutkaisempi kuin vain 2s: n käyttäminen.

Vaihe 4: Arduinon ohjelmointi

Arduinon ohjelmointi
Arduinon ohjelmointi
  1. Olemme melkein valmiita!
  2. Kun olet ladannut Arduino IDE -ohjelmiston MATERIALS -vaiheessa linkitetyltä sivustolta, lataa luonnokset FUNCTION AND CODE -vaiheesta.
  3. Avaa ne sitten Arduino IDE: ssä.
  4. Avaa "Työkalut" molemmilla välilehdillä ja napsauta "Taulut". Valitse taulusi luettelosta. Napsauta "Prosessori" ja sitten "Ohjelmoija" ja valitse jokainen korttisi mukaan. Palaa sitten luonnokseen. On melko kätevää tarkastella taulullasi olevia tietoja Internetistä. Katso vain nimi ja katso tekniset tiedot.
  5. Napsauta "luonnos" (ylhäällä), sitten "sisälly kirjasto" ja sitten "hallitse kirjastoja". Pienen ikkunan pitäisi avautua näytön keskelle. Kirjoita hakuvaihtoehto "rf24". Lataa haluamasi kirjasto. On välttämätöntä pystyä lataamaan koodi arduino -taululle.
  6. Varmista vain napsauttamalla "Tick" -merkkiä (ylhäällä vasemmalla) varmistaaksesi, ettei siinä ole virheitä. Jatka sen lataamista painamalla oikealle osoittavaa nuolta "Tick" -merkin vieressä.
  7. Jos korttisi on Pro Mini, selitän hetken kuluttua kuinka yhdistää kaikki. Jos näin ei ole, lataa se ja kun olet lopettanut molempien arduinojen ohjelmoinnin, siirry seuraavaan vaiheeseen, kun olet lukenut alla olevan varoituksen.
  8. Koska sinulla on kaksi levyä, MUISTA, kumpi koodi on ohjelmoitu, jotta vältyt tulevilta ongelmilta.
  9. Joten jos sinulla on Pro Mini, tarvitset ohjelmoijan. Ohjelmoijia on kahdenlaisia: 5 -nastaisia ja 6 -nastaisia. Keskityn 5 -nastaisiin, koska minulla on niitä. Liitännät ovat seuraavat (ensimmäinen nasta on ohjelmoijalta, sitten arduino): Gnd-Gnd; 5v-Vcc (paitsi jos Pro Mini on 3.3v, jolloin se on 3.3v-Vcc); Rxd-Txo; Txd-Rxi. Lisäsin kuvan sekä piirilevystä että ohjelmoijasta, jos haluat tarkistaa.
  10. Liitä arduino ohjelmoijaan ja ohjelmoija tietokoneeseen. Avaa IDE ja napsauta latauspainiketta. Jos katsot näytön vasenta alareunaa, näet viestin, jossa sanotaan "kääntäminen". Kun tämä viesti muuttuu "lähetettäväksi", paina arduino Pro Minin nollauspainiketta. Hetken kuluttua luonnos päättyy ja näyttöön tulee viesti "Lähetetty valmiiksi". Kun tämä tapahtuu, olet valmis ja valmis siirtymään seuraavaan vaiheeseen.

Vaihe 5: Yhdistä kaikki

Kaikkien yhdistäminen
Kaikkien yhdistäminen
Kaikkien yhdistäminen
Kaikkien yhdistäminen
Kaikkien yhdistäminen
Kaikkien yhdistäminen
Kaikkien yhdistäminen
Kaikkien yhdistäminen
  1. Kun olemme ohjelmoineet molemmat arduinot, meidän on yhdistettävä kaikki, jotta se toimisi. Täällä tarvitsemme kaiken edellä mainitun: arduinot, nrf24 -moduulit, kaapelit, servo, ohjelmoija, jännitteenjakaja, potentiometri jne.
  2. Yhdistämme ensin arduino, joka toimii ohjelmoijan kanssa. Vaiheen alussa ovat kuvat nrf24 -liitännöistä. Irq -nasta, jonka sanotaan menevän arduinon nastaan 8, ei ole kytketty ollenkaan. Loput ovat aivan kuten kuvassa molemmille arduinoille (voit lukea kuvien sisältämät muistiinpanot saadaksesi lisätietoja)
  3. Radion Vcc voidaan liittää 3,3 tai 5 volttiin. Joskus se toimii vain yhden kanssa. Kokeile 3.3 ja sitten 5, jos se ei toimi. Jos käytössä on 3.3, käytä ohjelmointilaitteen 3.3 V: n napaa. Minun oli tehtävä tämä, kuten näet lopputuotteen kuvista.
  4. Yhdistä ohjelmoija arduinoon, kuten edellisessä vaiheessa sanottiin.
  5. Kytke potentiometrin "signaali" -kaapeli analogiseen nastaan A0.
  6. Liitä potentiometrin "Positiivinen" Vcc: hen (vain 5 V, ei 3.3) ja "Negatiivinen" Gnd: iin.
  7. Siirry toiselle arduinolle.
  8. Liitä radio kuvien mukaisesti kuten edellä on sanottu.
  9. Liitä servon signaalikaapeli (oranssi-kelta-valkoinen. Tarkista servon tekniset tiedot) digitaaliseen nastaan 2, ja sen gnd arduinon Gnd: iin, ja sen positiivinen arduinon Vcc: hen.
  10. Kytke signaalikaapeli 1 jännitteenjakajasta nastaan A0 ja signaalijohto 2 nastaan A1.
  11. Liitä protoboardilla jännitteenjakajan negatiivinen kaapeli, arduinon ja akun gnd (musta kaapeli jst -pistokkeessa).
  12. Kytke "keskijohto" jännitteenjakajasta akun keskimmäiseen, jst -pistokkeen punaisen ja mustan kaapelin väliin (valkoinen väri).
  13. Kytke positiivinen kaapeli jännitteenjakajasta akun positiiviseen napaan ja arduino's Raw -liitäntään. Älä kytke suoraan Vcc: hen, koska tämä nasta on tarkoitettu erityisesti 5 voltille. Vcc -nastat muuttuvat sitten lähtöiksi 5 voltilla.

Melkein valmis! Valmiiden tuotteidesi pitäisi näyttää yllä olevien kuvien mukaisilta. Tarkista kaikki liitännät uudelleen oikosulkujen välttämiseksi.

Vaihe 6: Käynnistä projekti

  • Arduino ja servo saivat virran viimeisessä vaiheessa, kun liitit akun koko piiriin. Joten sinun tarvitsee vain kytkeä toinen arduino USB -porttiin ja olet valmis!
  • Siirrä potentiometriä ja näet kuinka servo liikkuu. Minun tapauksessani servo on kiinnitetty 1 -akseliseen kameran gimbaliin, joka rajoitti kulmaa, joten minun piti säätää parametreja. Löydät sen joka tapauksessa koodista.
  • Jos haluat nähdä jännitteet, kun olet yhdistänyt ohjelmoijan tietokoneeseen, avaa arduino -ohjelmisto ja paina "Ctrl+Vaihto+m". Ikkuna, jossa lukee "Sarjamonitori", avautuu. Tämän ikkunan alareunassa on vaihtoehto, joka lukee "(luku) baud". Napsauta sitä ja valitse "9600". Sulje näyttö ja avaa se uudelleen painamalla samoja näppäimiä, jolloin alkaa näkyä paljon arvoja. Et voi nähdä, mitkä nämä arvot ovat niiden nopeuden vuoksi, mutta jos irrotat ohjelmoija lopettaa ne ja voit lukea ne. Yritän saada jotain, jolla voin automaattisesti piirtää ne nähdäksesi jännitteet tai edustamaan niitä ledeillä, mutta se on vielä kesken.
  • Vaikka et ehkä näe arvoja selkeästi, koska ne kulkevat niin nopeasti, tiedä vain, että se lopulta toimii ja että voit muokata sitä tarpeidesi mukaan!

Vaihe 7: Esittely

Tämä on video, jossa käynnistän sen ja käytän sitä vain hieman näyttääkseni, kuinka sen pitäisi toimia.

Vaihe 8: Lisää ideoita tämän projektin käyttämiseen

Lisää ideoita tämän projektin käyttämiseen
Lisää ideoita tämän projektin käyttämiseen
Lisää ideoita tämän projektin käyttämiseen
Lisää ideoita tämän projektin käyttämiseen
Lisää ideoita tämän projektin käyttämiseen
Lisää ideoita tämän projektin käyttämiseen

Tässä on joitain ideoita, joita voit rakentaa käyttämällä tätä pohjana. Kerro minulle, jos teet yhden niistä tai jos yrität etkä voi, niin voin auttaa!

  • Jännitteiden lukemisen sijaan muokkaa koodia niin, että se lähettää takaisin lämpötilan, paineen, korkeuden jne. Löysin BMP180 -sirun varsin hyödylliseksi tähän.
  • Mittaa etäisyydet HC-SR04-moduulilla ja lähetä ne takaisin ensimmäiseen arduinoon. Käytä servoa osoittamaan anturia minne haluat.
  • Lisää toinen servokanava kameran siirtämiseksi ylös ja sivulle; esimerkiksi rc -autossa.
  • Lisää kolme muuta servokanavaa (tai enemmän!) Ja tee oma rc -lähetin ja vastaanotin nelikopterille, lentokoneelle, helikopterille, rc -autolle jne.!
  • Vaihda valonheittimen servo ja lisää se droneesi! Voit myös hallita valon voimakkuutta (saattaa tarvita joitain transistoreita ja joitain koodinvaihtoja)
  • Tietokoneen jännitteiden lukemisen sijaan ole luova ja lisää lcd-moduuli, tai voit tehdä 6-johtoisen kortin (kaksi vihreää, kaksi keltaista ja kaksi punaista), jotka sammuttavat ne yksi kerrallaan, kun akku laskee ja alkaa vilkkua, kun akun varaustaso laskee valitsemasi jännitteen alapuolelle. Tein tämän pienen taulun ja lähetin kuvan vaiheen alussa.

Jotta kaikki olisi selvää, jos aiot tehdä jonkin näistä projekteista, muista, että sinun on muutettava molempia koodeja ja ehkä joitain yhteyksiä. Yritä muistaa, ettet paista lautaasi tekemällä jotain tyhmää.

Jos sinulla on enää ideoita tai tarvitset apua jonkin näistä hankkeista, lähetä kysymys -osioon!

Vaihe 9: Vianetsintä

Ongelmien karttoittaminen
Ongelmien karttoittaminen

Totta puhuen, suurin osa tähänastisista ongelmistani liittyi luonnososaan, jonka olet jo ratkaissut. Yritän kertoa sinulle mahdollisimman monta ongelmaa auttaakseni sinua eniten.

Ensinnäkin, jos yrität ladata luonnoksen etkä pysty, kokeile tätä:

Varmista, että olet ladannut tarvittavat kirjastot (ja oikeat!).

Varmista, että olet valinnut oikean kortin, prosessorin ja ohjelmoijan.

Varmista, että tietokoneen ja ohjelmoijan sekä ohjelmoijan ja arduinon välinen yhteys on hyvä.

Jos käytät pro miniä, yritä painaa nollauspainiketta niin pian kuin mahdollista, kun "lataus" -viesti tulee näkyviin.

Kaikista näistä asioista puhutaan ARDUINO -OHJELMOINTI -vaiheessa.

Toiseksi, tarkista kaikki yhteydet kaiken välillä:

Jos arduino ei käynnisty, se on selvästi jänniteongelma. Tarkista, onko kaapeleita kytketty oikein ja onko niissä oikosulku.

Jos se käynnistyy, mutta ei toimi, varmista, että kaikki liitännät ovat siellä, missä niiden pitäisi olla, että arduino, joka on ohjelmoitu liitettäväksi servo- ja jännitteenjakajaan, on todella liitetty niihin (toisin sanoen varmista, ettet sekoittanut), yritä painaa molempien nollauspainiketta ja katso mitä tapahtuu. Erittäin harvinaisissa tapauksissa koko syyllinen voi olla NRF24 -moduulissa. Löysin yhden omistani, joka toimii vain 5 voltilla, ja toisen, joka toimii vain 3.3 voltilla. Tarkista ratkaiseeko tämä mitään. Minulle kävi myös niin, että vain yksi arduino toimi 3.3v -radion kanssa ja toinen vain 5v -radion kanssa. Yllättävää, eikö?

Kolmanneksi, jos voit siirtää servoa, mutta jännitteet ovat väärin, tarkista, että jännitteenjakajan liitännät ovat vaiheen 3 kaavion mukaiset ja liitännät arduinoon. Jos toisaalta saat jännitteet, mutta et voi siirtää servoa oikein, tarkista potentiometri ja sen liitännät, servon liitäntä digitaaliseen nastaan ja Vcc- ja Gnd -järjestelmiin ja jos servo on jumissa, rikki tai sisään oikosulku. Kokeile vaihtaa se toisella servolla. Varmista, että digitaalinen nasta on sama kuin koodissa

No, ne ovat melkein kaikki asiat, jotka voisivat tulla mieleeni ongelmista, joita saatat kohdata. Toivottavasti niitä ei koskaan tapahdu ja onnellisia projekteja!

Kiitos, että luit Instructableni! Jaa ja äänestä sitä ENSIMMÄISEN KIRJOITTAJAN kilpailussa!

Suositeltava: