Obsah:

Obojsmerné rádio NRF24 pre telemetriu: 9 krokov (s obrázkami)
Obojsmerné rádio NRF24 pre telemetriu: 9 krokov (s obrázkami)

Video: Obojsmerné rádio NRF24 pre telemetriu: 9 krokov (s obrázkami)

Video: Obojsmerné rádio NRF24 pre telemetriu: 9 krokov (s obrázkami)
Video: Arducopter на гоночном квадрокоптере. Это вам не INAV! Часть первая. Базовая настройка 2024, Júl
Anonim
Obojsmerné rádio NRF24 pre telemetriu
Obojsmerné rádio NRF24 pre telemetriu

Ahojte ľudia, volám sa Pedro Castelani a prinášam vám môj prvý návod: zostrojenie obojsmerného rádia s arduinom pre, na čo potrebujete.

V tomto projekte vytvoríme dva samostatné obvody, ktoré budú fungovať ako prijímač aj vysielač. Najdôležitejšími komponentmi sú dve dosky arduino (všetky fungujú) a dva transcieverové moduly nrf24. V mojom prípade ovládam servo potenciometrom od druhého arduina a pošlem napätie dvojčlánkovej lipo batérie späť k prvému.

Mám v úmysle použiť ho ako doplnok pre môj dron, ktorý nemá telemetriu ani ovládanie servopohonu. Môžete ho však použiť aj na iné účely, napríklad na stavbu vlastnej kvadrokoptéry, lietadla, auta na diaľkové ovládanie atď. Z dodaného kódu môžete tiež vykonať ľubovoľné požadované úpravy podľa svojich potrieb. Pokúsim sa tiež vysvetliť, ako ho správne upraviť (čo mi trvalo nejaký čas, kým som sa naučil sám, pretože som bol zvyknutý na iný druh použitia čipu nrf24).

Krok 1: Materiály

Materiály
Materiály
Materiály
Materiály
Materiály
Materiály

Aby sme mohli začať náš projekt, musíme poznať všetky potrebné časti. Nasleduje zoznam základných, ktoré potrebujete. Väčšinu z nich som kúpil v miestnom obchode s elektronikou, kde bývam, takže vám nebudem môcť odporučiť žiadne miesto na kúpu. Môžete skúsiť Amazon alebo akékoľvek iné miesto. Nehovorím, že by ste si ich tam mali objednať, ale je to len návrh.

  1. Dve dosky Arduino (každý by mal fungovať. Mám dva arduino pro mini, ktoré sa mi veľmi páčia, pretože majú 13 digitálnych pinov a 8 analógových, zatiaľ čo Uno má iba 6 analógových).
  2. Dva moduly Nrf24. Existujú niektoré s externými anténami, ktoré majú väčší dosah prenosu. Vyberte si tie, ktoré sa vám najviac páčia.
  3. Prepojovacie káble Žena-Žena a Žena-Muž.
  4. Prototypová doska.
  5. Programátor Arduino (pre arduino pro mini, ak ho máte s pripojením USB, nebudete ho potrebovať).
  6. Arduino IDE (softvér). Stiahnuť odtiaľto.
  7. V mojom prípade som tiež použil:
  • Servo. Ktokoľvek môžete získať. Páči sa mi SG90, malý, určený pre arduino.
  • Potenciometer (medzi 10k a 20k ohm). Môžete si ich kúpiť v miestnom obchode s elektronikou alebo môžete použiť joystick vyrobený pre arduino. Existuje niekoľko obrázkov z tých, ktoré mám. Tiež som dostal jeden z pokazeného ovládača dronu RC, len aby ste mali pár nápadov
  • 4 rovnaké normálne odpory. Použil som 10 000 tých, ktoré som dostal z domu môjho starého otca. Používam ich ako rozdeľovače napätia.
  • Malá medená podložka z perfboardu (ktorú som dostal aj od starého otca) na spájkovanie odporov dohromady.
  • Špendlíky Slúži na ľahké prepojenie prepojovacích káblov z arduina s odpormi.
  • 2s lipo batéria. Používam ho na napájanie jedného zo svojich arduinov. K nemu sú pripojené odpory a čítajú jeho napätia. Mám v úmysle, aby bolo moje arduino napojené na 2s batériu môjho drona, pretože nepotrebuje externý zdroj energie a zároveň mi povie, koľko batérie ešte zostáva.
  • Spájkovačka a spájkovačka. Potrebné na spájkovanie odporov, perfboardu a pinov dohromady.

Krok 2: Funkcia a kód

Funkcia a kód
Funkcia a kód

Akonáhle sú uvedené všetky materiály, začnime hovoriť o funkcii modulov.

Ako to funguje: Nazvime jedno arduino „A“a druhé „B“. V mojom prípade, po naprogramovaní oboch, som ich spojil s ich zodpovedajúcim rádiovým čipom a pridal potenciometer k arduino A a odpory a servo k arduino B. Modul A posiela hodnoty do B a presúva servo. B odčíta napätie 2s batérie a pošle ich späť do A. Potom sa celý kruh začne znova. Pretože A prijíma hodnoty, ktoré nie sú mechanicky vyjadrené, je pripojený k programátoru, pomocou ktorého ich môžeme prečítať pomocou sériového monitora (súčasťou Arduino IDE)

Kód: Nazývam skicu pre arduino A (spojenú s programátorom a potenciometrom) TwoWayRadio_1 a skicu pre arduino B TwoWayRadio_2WithServo

TwoWayRadio_1 a TwoWayRadio_2WithServo nájdete hneď pod týmto odsekom. Vnútri každého kódu je vysvetlenie, aby bolo všetko jednoduchšie pochopiteľné.

Krok 3: Spájkovacie moduly: delič napätia a potenciometer

Spájkovacie moduly: delič napätia a potenciometer
Spájkovacie moduly: delič napätia a potenciometer
Spájkovacie moduly: delič napätia a potenciometer
Spájkovacie moduly: delič napätia a potenciometer
Spájkovacie moduly: delič napätia a potenciometer
Spájkovacie moduly: delič napätia a potenciometer
Spájkovacie moduly: delič napätia a potenciometer
Spájkovacie moduly: delič napätia a potenciometer

Tento krok je voliteľný, pretože možno budete chcieť použiť iba potenciometer-joystick navrhnutý špeciálne pre arduino a namiesto deliča napätia použiť iný modul. Naplánoval som však všetko (vrátane kódov) pre tieto moduly.

Potenciometer:

Táto časť je asi najľahšia v kroku spájkovania. K svojmu potenciometru budete musieť len spájkovať niektoré prepojovacie káble. Ak chcete, môžete najskôr potenciometer spájkovať s perfboardom a potom spájkovať niektoré piny. Keď ho potrebujete použiť, stačí prepojiť prepojovacie káble s arduinom a potom s kolíkmi na perfboarde. Pokiaľ káble nepoužívate, môžete ich odstrániť a použiť ich na iný projekt. Ak však urobíte to, čo som urobil, môžete potenciometer nechať spájkovať priamo na káble

  • Ak robíte, ako som urobil, zaobstarajte tri prepojovacie káble medzi ženami a ženami, odstrihnite jeden z hrotov a odstráňte tam izoláciu a na každom drôte nechajte malý kúsok medeného vedenia.
  • Zahrejte svoju spájkovačku a spájajte upravené prepojky k vašim pinom potenciometrov. Ak môžete, pokúste sa získať rôzne farby, aby ste si mohli zapamätať, ktorá z nich je vcc, gnd a „signálna“(stredná). Pripojte tieto káble k zodpovedajúcim analógovým kolíkom na Arduine. Na začiatku kroku je niekoľko obrázkov, ako to vyzeralo. Potenciometer nie je pravidelný, je to vlastne malé koleso, ktoré malo päť kolíkov. Trvalo mi nejaký čas, kým som zistil, ktorý bol ktorý. Skúste to urobiť jednoduchšie a použite bežný potenciometer, ako je znázornené v kroku MATERIÁLY.
  • Ak ho spájkujete s perfboardom, získajte potenciometer a perfboard a spájkujte ich spolu so svojou spájkovačkou.
  • Získajte kolíky (tri) a umiestnite ich najpohodlnejším spôsobom. Pomocou spájky vytvorte spojenie medzi každým kolíkom a kolíkmi potenciometra. Nevytvárajte spojenie medzi viac ako dvoma kolíkmi, inak nebude fungovať (bude fungovať ako skrat).
  • Zaobstarajte si prepojovacie vodiče medzi ženami a ženami a mužmi a pripojte ich z vášho Arduina k vášmu novému modulu potenciometra (nezabudnite, ktorý je ktorý).

2. Delič napätia:

  • Táto časť je trochu komplikovanejšia. Budete potrebovať štyri odpory, päť pinov a dosku. Kód som navrhol tak, aby sa používal pre 2s batériu (dvojčlánkový), ale môžete ho použiť aj pre 1 s tým, že trochu zmeníte skicu arduina a hardvér. Priložil som obrázky dvoch deličov napätia, ktoré som vyrobil, jedného s iba 2 odpormi (pre batérie 1 s) a jedného so štyrmi (uhádli ste: batérie 2 s).
  • Začnime s dvojkou. Nemám predstavy o stavebnom procese, pretože som začal s poučovaním o tomto návode ešte dlho potom, čo som ho spájkoval. Prikladám obrázky konečného výsledku, takže sa pokúsim byť čo najjasnejší.
  • Začnite tým, že získate perfboard a 5 pinov. Spájkujte ich blízko boku a nedovoľte, aby sa navzájom dotýkali.
  • Na začiatku kroku (malý obvodový diagram) spájkujte odpory, ako je to znázornené na poslednom obrázku. Spojenia medzi každým odporom a kolíkom sú vyrobené spájkou. Pokúste sa obsadiť čo najmenej miesta.
  • Keď skončíte, malo by to vyzerať podobne ako obrázky hotového deliča napätia, ktoré som zverejnil vyššie.
  • Delič napätia 1 s je v zásade rovnaký, s výnimkou toho, že používate iba tri piny a dva odpory. Priložil som obrázky, ako to vyzerá po dokončení. Stačí sa pozrieť na schému 2s a predstaviť si to bez signálneho vodiča 1, stredného vodiča a odporov r2 a r3 a tam to máte!
  • Ak teda chcete rozdeľovač napätia 1 s, môže to byť trochu komplikovanejšie než iba použitie 2 s.

Krok 4: Programovanie Arduina

Programovanie vášho Arduina
Programovanie vášho Arduina
  1. Už sme skoro hotoví!
  2. Po stiahnutí softvéru Arduino IDE z webu prepojeného v kroku MATERIÁLY si stiahnite náčrty z kroku FUNKCIE A KÓD.
  3. Potom ich otvorte v Arduino IDE.
  4. Otvorte „Nástroje“na ľubovoľnej z oboch kariet a kliknite na „Dosky“. Vyberte si dosku zo zoznamu. Kliknite na „Procesor“a potom na „Programátor“a vyberte každý z nich podľa dosky. Potom sa vráťte k náčrtu. Je celkom výhodné pozrieť si informácie o svojej tabuli na internete. Stačí vyhľadať názov a zistiť špecifikácie.
  5. Kliknite na „skicu“(hore hore), potom na „zahrnúť knižnicu“a potom „spravovať knižnice“. V strede obrazovky by sa malo otvoriť malé okno. Zadajte do možnosti vyhľadávania „rf24“. Stiahnite si požadovanú knižnicu. Bude potrebné, aby ste mohli kód nahrať na dosku Arduino.
  6. Pre istotu kliknite na symbol „Tick“(vľavo hore) a overte, či neobsahuje žiadne chyby. Potom ho nahrajte stlačením šípky smerujúcej doprava vedľa symbolu „Zaškrtnutie“.
  7. Ak je vaša doska Pro Mini, o chvíľu vysvetlím, ako všetko prepojiť. Ak nie je, stačí ho nahrať a po dokončení programovania oboch arduinos prejsť na ďalší krok po prečítaní nižšie uvedeného varovania.
  8. Pretože máte dve dosky, PAMATUJTE si, s ktorým kódom bola každá naprogramovaná, aby ste sa vyhli budúcim problémom.
  9. Ak teda máte Pro Mini, budete potrebovať programátor. Existujú dva druhy programátorov: 5 -pinový a 6 -pinový. Zameriam sa na 5 pinové, pretože sú to tie, ktoré mám. Pripojenia sú nasledujúce (prvý pin je od programátora, potom arduino): Gnd-Gnd; 5v-Vcc (okrem prípadov, keď je váš Pro Mini na 3,3 V, v takom prípade je na 3,3 V-Vcc); Rxd-Txo; Txd-Rxi. Priložil som obrázok dosky aj programátora, pre prípad, že by ste to chceli skontrolovať.
  10. Pripojte arduino k programátoru a programátor k počítaču. Otvorte IDE a kliknite na tlačidlo nahrávania. Ak sa pozriete do ľavej spodnej časti obrazovky, zobrazí sa správa s názvom „kompilácia“. V okamihu, keď sa táto správa zmení na „nahrávanie“, stlačte tlačidlo reset na arduino Pro Mini. Po chvíli sa skica dokončí a zobrazí sa správa „Dokončené nahrávanie“. Akonáhle sa to stane, ste hotoví a pripravení prejsť na ďalší krok.

Krok 5: Pripojenie všetkého

Všetko spájať
Všetko spájať
Všetko spájať
Všetko spájať
Všetko spájať
Všetko spájať
Všetko spájať
Všetko spájať
  1. Po naprogramovaní oboch arduinos musíme všetko prepojiť, aby to fungovalo. Tu budeme potrebovať všetko, čo bolo uvedené vyššie: moduly arduinos, nrf24, káble, servo, programátor, delič napätia, potenciometer atď.
  2. Najprv spojíme arduino, ktoré pracuje s programátorom. Na začiatku kroku sú obrázky spojení nrf24. Pin irq, ktorý údajne ide na arduino na pin 8, nie je vôbec zapojený. Ostatné je ako na obrázku pre oboch arduinos (viac informácií si môžete prečítať v poznámkach k obrázkom)
  3. Vcc pre rádio môže byť pripojené k 3,3 alebo 5v. Niekedy to funguje len s jedným z nich. Skúste to s 3.3 a potom 5, ak to nebude fungovať. Na 3.3 použite pin 3.3v programátora. Musel som to urobiť, ako uvidíte na obrázkoch hotového výrobku.
  4. Pripojte programátor k arduinu podľa predchádzajúceho kroku.
  5. Pripojte „signálny“kábel potenciometra k analógovému kolíku A0.
  6. Pripojte „pozitívny“potenciometer k Vcc (iba 5 V, nie 3,3) a „Negatívny“k Gnd.
  7. Prejdite na druhé arduino.
  8. Pripojte rádio podľa vyššie uvedeného obrázku.
  9. Pripojte signálny kábel serva (oranžovo-žlto-biely. Skontrolujte špecifikácie pre servo) k digitálnemu kolíku 2 a jeho GND k GND Arduina a jeho kladný pól k VCC Arduina.
  10. Pripojte signálny kábel 1 z deliča napätia na pin A0 a signálny vodič 2 na pin A1.
  11. Pripojte pomocou protoboardu, záporného kábla rozdeľovača napätia, GND Arduina a GND batérie (čierny kábel na prvej zástrčke).
  12. Pripojte „stredný kábel“z deliča napätia k prostrednému medzi batériou medzi červeným a čiernym káblom jst. Zásuvky (biela farba).
  13. Pripojte 'kladný' kábel z deliča napätia k kladnému pólu batérie a k arduino Raw. Nepripájajte priamo k Vcc, pretože tento pin je špeciálne pre 5v. Surový pin používa akékoľvek napätie vyššie ako 3,3 alebo 5v až 12v a reguluje ho Vcc piny sa potom stanú výstupmi s 5V.

Si takmer hotový! Vaše hotové výrobky by mali vyzerať ako obrázky vyššie. Znovu skontrolujte každé pripojenie, aby ste predišli skratom.

Krok 6: Zapnite svoj projekt

  • Vaše arduino so servom sa napájalo ako posledný krok, keď ste batériu pripojili k celému obvodu. Stačí teda pripojiť druhé arduino k USB portu a ste hotoví!
  • Posuňte potenciometer a mali by ste vidieť, ako sa pohybuje aj servo. V mojom prípade je servo pripevnené k 1 -osému kardanovému závesu, ktorý obmedzoval uhol, takže som musel upraviť parametre. V kóde to aj tak nájdete.
  • Ak chcete vidieť napätie, po pripojení programátora k počítaču otvorte softvér arduino a stlačte „Ctrl+Shift+m“. Otvorí sa okno, ktoré hovorí „Sériový monitor“. V spodnej časti tohto okna je možnosť, ktorá znie „(číslo) baud“. Kliknite na ňu a zvoľte „9600“. Zatvorte monitor a znova ho otvorte stlačením rovnakých klávesov. Mali by ste začať vidieť množstvo prichádzajúcich hodnôt. Nebudete môcť vidieť, aké sú tieto hodnoty, pretože prichádzajú rýchlosťou, ale ak odpojíte programátori sa zastavia a môžete si ich prečítať. Snažím sa nájsť niečo, s čím by som ich automaticky graficky zobrazil na zobrazenie napätí alebo ich predstavil LED diódami, ale to je stále v procese.
  • Napriek tomu, že hodnoty nevidíte zreteľne, pretože prechádzajú tak rýchlo, vedzte, že to konečne funguje a môžete to upraviť tak, aby vyhovovalo vašim potrebám!

Krok 7: Demo

Toto je video, ako ho zapínam a používam, aby som vám ukázal, ako by mal fungovať.

Krok 8: Viac nápadov, ako tento projekt použiť

Ďalšie nápady, ako používať tento projekt
Ďalšie nápady, ako používať tento projekt
Ďalšie nápady, ako používať tento projekt
Ďalšie nápady, ako používať tento projekt
Ďalšie nápady, ako používať tento projekt
Ďalšie nápady, ako používať tento projekt

Tu je niekoľko nápadov, ktoré môžete vytvoriť pomocou tohto základu. Povedzte mi, či robíte jeden z nich alebo ak to skúšate a nemôžete, môžem vám pomôcť!

  • Namiesto čítania napätí upravte kód tak, aby odosielal späť teplotu, tlak, výšku atď. Na tento účel som považoval čip BMP180 za celkom užitočný.
  • Zmerajte vzdialenosti pomocou modulu HC-SR04 a pošlite ich späť na prvé arduino. Pomocou serva nasmerujte snímač kdekoľvek chcete.
  • Pridajte ďalší servo kanál na pohyb kamery hore a do strán; napríklad na aute na diaľkové ovládanie.
  • Pridajte tri ďalšie servo kanály (alebo viac!) A vytvorte si vlastný vysielač a prijímač na diaľkové ovládanie pre kvadrokoptéru, lietadlo, helikoptéru, auto na diaľkové ovládanie atď!
  • Vymeňte servo za svetlomet a pridajte ho k svojmu dronu! Budete tiež môcť ovládať intenzitu svetla (môžu byť potrebné niektoré tranzistory a zmena kódu)
  • Namiesto čítania napätí na počítači buďte kreatívni a pridajte LCD modul, alebo si môžete vytvoriť 6-diódovú dosku (dve zelené, dve žlté a dve červené), ktoré ich budú postupne vypínať, pretože sa batéria vybíja a začne blikať, keď úroveň batérie klesne pod vami zvolené napätie. Vyrobil som túto malú tabuľu a na začiatku kroku zverejnil obrázok.

Aby bolo všetko jasné, ak sa chystáte urobiť jeden z týchto projektov, majte na pamäti, že budete musieť upraviť oba kódy a možno aj niektoré spojenia. Skúste si zapamätať, aby ste svoju dosku nesmažili tým, že urobíte nejakú hlúposť.

Ak máte ďalšie nápady alebo potrebujete pomoc pri realizácii jedného z týchto projektov, pošlite nám to v sekcii otázok!

Krok 9: Riešenie problémov

Riešenie problémov
Riešenie problémov

Pravdupovediac, väčšina problémov, s ktorými som sa doteraz stretol, súvisela s časťou náčrtu, ktorú ste už vyriešili. Pokúsim sa vám povedať čo najviac problémov, aby som vám čo najviac pomohol.

Najprv, ak sa pokúšate nahrať náčrt, ale nemôžete, vyskúšajte toto:

Uistite sa, že ste si stiahli potrebné knižnice (a správne!).

Uistite sa, že ste vybrali správnu dosku, procesor a programátor.

Uistite sa, že je spojenie medzi počítačom a programátorom a programátorom a arduino dobré.

Ak používate profi mini, skúste čo najskôr po zobrazení správy „nahrávanie“stlačiť tlačidlo reset.

O všetkých týchto veciach sa hovorí v kroku PROGRAMOVANIE VAŠEHO ARDUINA.

Za druhé, skontrolujte všetky spojenia medzi všetkým:

Ak sa vaše arduino nezapne, je to zjavne problém s napätím. Skontrolujte, či nie sú káble správne zapojené a či nie je skrat.

Ak sa zapne, ale nefunguje, uistite sa, že všetky pripojenia sú tam, kde by mali byť, arduino naprogramované na pripojenie k servu a deliču napätia je k nim skutočne pripojené (inými slovami, uistite sa, že ste nezmiešali hore), skúste na oboch stlačiť tlačidlo reset a uvidíte, čo sa stane. V extrémne zriedkavých prípadoch môže byť celá vina na module NRF24. Našiel som jeden z mojich, ktorý funguje iba na 5 voltov a druhý, ktorý funguje iba na 3,3 V. Skontrolujte, či sa tým niečo vyrieši. Tiež sa mi stalo, že iba jedno arduino fungovalo s rádiom 3,3 V a druhé fungovalo iba s 5 V. Prekvapujúce, nie?

Po tretie, ak môžete posúvať servo, ale napätie je nesprávne, skontrolujte, či sú pripojenia k deliču napätia rovnaké ako na obrázku v kroku 3 a pripojenie k arduinu. Ak na druhej strane získate napätie, ale nemôžete správne posúvať servo, skontrolujte potenciometer a jeho pripojenia, pripojenie serva k digitálnemu kolíku a k Vcc a Gnd, a ak je servo zaseknuté, zlomené alebo v skrat. Skúste to zmeniť iným servom. Zaistite, aby bol digitálny kolík rovnaký ako ten, ktorý je uvedený v kóde

No, to sú asi všetky veci, ktoré by ma mohli napadnúť ohľadom problémov, s ktorými sa môžete stretnúť. Dúfam, že sa nikdy nestanú a šťastné projekty!

Ďakujem, že ste si prečítali môj návod! Zdieľajte a hlasujte v PRVEJ AUTORSKEJ súťaži!

Odporúča: