Turinys:

NRF24L01 belaidis perdavimas tarp „Arduino“: 10 žingsnių
NRF24L01 belaidis perdavimas tarp „Arduino“: 10 žingsnių

Video: NRF24L01 belaidis perdavimas tarp „Arduino“: 10 žingsnių

Video: NRF24L01 belaidis perdavimas tarp „Arduino“: 10 žingsnių
Video: Использование Juntek VAT 4300 Wireless 300A Многофункциональный измеритель тока Current Power 2024, Lapkritis
Anonim
NRF24L01 belaidis perdavimas tarp „Arduino“
NRF24L01 belaidis perdavimas tarp „Arduino“

NRF24L01 yra mažos galios 2,4 GHz belaidis radijo dažnių modulis iš Šiaurės šalių puslaidininkių. Jis gali veikti su perdavimo sparta nuo 250 kbps iki 2 Mbps. Jei jis naudojamas atviroje erdvėje su mažesniu duomenų perdavimo greičiu, jis gali siekti iki 300 pėdų. Taigi jis naudojamas mažo nuotolio programose, tokiose kaip namų automatika, žaislai, žaidimų valdikliai ir kt.

NRF24L01 modulis gali perduoti ir priimti duomenis. Jis naudoja SPI protokolą bendravimui su mikrovaldikliais. Taigi galite naudoti modulį su „Arduino“ant SPI ryšio kaiščių. Pamatysime, kaip sujungti šį modulį su „Arduino“ir valdyti kito „Arduino“šviesos diodą. Naudojant 1 Mhz intervalą 2400–2525 Mhz veikimo diapazone (2,40–2,525 GHz), tai gali suteikti galimybę toje pačioje srityje turėti 125 nepriklausomai veikiančių modemų tinklą. Kiekvienas kanalas gali turėti iki 6 adresų ir vienu metu gali bendrauti su iki 6 kitų įrenginių.

1 žingsnis: NRF24L01 ypatybės

Funkcijos:

  • Darbinė įtampa: nuo 9V iki 3,6V
  • Maitinimo įtampa: 3V
  • Smeigtuko įtampa: 5 V tolerancija (nereikia lygio keitiklių)
  • Pigūs vieno lusto 2,4 GHz GFSK RF siųstuvas-imtuvas IC
  • Veikimo diapazonas (atvira erdvė): 300 pėdų (naudojant išorinę anteną gali padidėti iki 3000 pėdų)

Šioje pamokoje mes siųsime ir gausime duomenis naudodami du NRF24L01 modulio nustatymus. Viena sąranka skirta siųstuvo pusei, o kita - imtuvo pusei. Mes siunčiame komandas kaip eilutę „ĮJUNGTA“(bet kokį pranešimą, kurį norite siųsti) siųstuvo pusėje, o gavėjo pusėje mes išspausdinsime tą patį pranešimą „Serial Monitor“, kuris buvo išsiųstas iš kitos pusės.

Norėdami sužinoti, kaip sukurti kūdikių stebėjimo projektą naudojant NRF24L01 - apsilankykite čia

2 žingsnis: išankstiniai reikalavimai

Reikalingi komponentai:

  • „Arduino Uno“- 2 Nr. (Taip pat galima naudoti „Nano“)
  • NRF24L01 belaidis radijo dažnių modulis - 2 Nr. Trumpieji laidai

Bibliotekos:

  • RF24 biblioteka -
  • SPI biblioteka

3 žingsnis: kaiščio informacija

Smeigtuko informacija
Smeigtuko informacija
  1. GND - žemė
  2. VCC - maitinimo šaltinis 3.3V (nuo 1.9V iki 3.6V)
  3. CE - lustas įjungtas
  4. CSN - lustas Pasirinkite ne
  5. SCK - SPI magistralės nuoseklusis laikrodis
  6. MOSI - „Master Out Slave In“
  7. MISO - meistras slave
  8. IRQ - pertraukimo kaištis (aktyvus žemas)

Modulis sunaudoja nuo 1,9 V iki 3,6 V, tačiau kaiščiai gali atlaikyti iki 5 V toleranciją.

4 veiksmas: SPI jungtys įvairioms plokštėms

Jei naudojate „Arduino Uno“, „Pro Mini“, „Nano“ar „Pro Micro“, tada SPI kaiščiai yra tokie patys, kaip nurodyta šioje schemoje. Jei naudojate „Arduino Mega“, patikrinkite SPI kaiščius, kurie yra susieti skirtingai pagal jo techninę įrangą. Čia rasite SPI bibliotekos informacinį puslapį, kuriame rasite įvairių SPI kaiščių, skirtų skirtingų tipų plokštėms. Be to, „Arduino“plokštės turi atskirą ICSP antraštę, suderinamą su „Sheilds“.

5 veiksmas: siųstuvo pusės ir imtuvo pusės grandinė yra tokia pati kaip šiame pavyzdyje

Siųstuvo pusės ir imtuvo pusės grandinė yra tokia pati šiame pavyzdyje
Siųstuvo pusės ir imtuvo pusės grandinė yra tokia pati šiame pavyzdyje

Šiame pavyzdyje siųstuvo ir imtuvo pusės grandinė yra ta pati.

6 žingsnis: kodas - siųstuvo pusė:

7 žingsnis: imtuvas

Imtuvo grandinė yra tokia pati kaip mūsų siųstuvo grandinė mūsų projekte. Taigi užmegzkite ryšį pagal siųstuvo grandinę ir įsitikinkite, kad įkeliate teisingą imtuvo kodą.

8 veiksmas: imtuvo kodas:

9 veiksmas: paaiškinimas:

Apibūdinimas:

NRF24l01 gali veikti kaip siųstuvas ir imtuvas. Aukščiau esančiame kode siųstuvo pusėje mes siunčiame tekstą „ĮJUNGTA“ir tas pats bus rodoma imtuvo pusėje per serijinį monitorių ir įjungia šviesos diodą, prijungtą prie 4 kaiščio. NRF24l01 galima atpažinti pagal jo adresą. Jis minimas skaičių eilutėje. Mes naudojom

const baitų adresas [6] = "00001";

Čia kaip adresą naudojome „00001“. Norėdami nustatyti adresą, galite priskirti bet kurią skaičių eilutę. Duomenys siunčiami skaitymo/rašymo vamzdžiu NRF24l01. Tai laikinas buferis, kuriame yra siunčiami ar gaunami duomenys.

Siųstuvas - duomenų įrašymas į vamzdį:

radio.openWritingPipe (adresas);

Imtuvas - duomenų nuskaitymas iš vamzdžio:

radio.openReadingPipe (0, adresas);

Tai paprasta NRF modulio siuntimo ir priėmimo sąranka. Arba galite siųsti jutiklio duomenis iš siųstuvo pusės ir pagal jutiklio vertes galite atlikti tam tikrus veiksmus imtuvo pusėje.

10 veiksmas: kūdikių stebėjimo projektas naudojant NRF24L01

Išplėstinė šios pamokos versija yra mūsų tinklaraštyje. Sukurkite kūdikio stebėjimo projektą naudodami NRF24L01 modulį.

Apsilankykite mūsų tinklaraštyje „Kūdikių stebėjimo projektas naudojant šį NRF24L01 modulį“.

Norėdami gauti daugiau vadovėlių, apsilankykite „FactoryForward“tinklaraštyje

Pirkite internetu „FactoryForward India“(„Raspberry Pi“, „Arduino“, jutikliai, robotų dalys, „pasidaryk pats“rinkiniai) ir dar daugiau.

Rekomenduojamas: