INHOUDSOPGAWE:

NRF24L01 Draadlose transmissie tussen Arduino: 10 stappe
NRF24L01 Draadlose transmissie tussen Arduino: 10 stappe

Video: NRF24L01 Draadlose transmissie tussen Arduino: 10 stappe

Video: NRF24L01 Draadlose transmissie tussen Arduino: 10 stappe
Video: Raspberry Pi Pico и радиомодуль nRF24L01 — как заставить это работать с MicroPython 2024, November
Anonim
NRF24L01 Draadlose transmissie tussen Arduino
NRF24L01 Draadlose transmissie tussen Arduino

NRF24L01 is 'n laekrag 2.4 GHz draadlose RF -module van Nordic Semiconductors. Dit kan werk met baud -snelhede van 250 kbps tot 2 Mbps. As dit in 'n oop ruimte met 'n laer baud -tempo gebruik word, kan dit tot 300 voet bereik. Dit word dus gebruik in toepassings op kort afstand, soos tuisautomatisering, speelgoed, spelbeheerders en meer.

Die NRF24L01 -module kan die data sowel stuur as ontvang. Dit gebruik SPI -protokol vir kommunikasie met mikrobeheerders. Daarom kan u die module met Arduino op SPI -kommunikasiepenne gebruik. Ons sal sien hoe u hierdie module met 'n Arduino koppel en 'n LED van 'n ander Arduino beheer. Met 'n afstand van 1 Mhz op 2400 Mhz - 2525 Mhz (2,40 GHz - 2,525 GHz), kan dit 'n netwerk van 125 onafhanklike modems in dieselfde gebied hê. Elke kanaal kan tot 6 adresse hê en kan met tot 6 ander eenhede gelyktydig kommunikeer.

Stap 1: Kenmerke van NRF24L01

Kenmerke:

  • Bedryfspanning: 9V tot 3,6V
  • Voedingsspanning: 3V
  • Spenspanning: 5V verdraagsaam (hoef nie vlakomskakelaars nodig te wees nie)
  • Goedkoop enkel-chip 2,4 GHz GFSK RF-ontvanger IC
  • Bereik (oop ruimte): 300 voet (kan tot 3000 voet verhoog word met behulp van 'n eksterne antenna)

In hierdie tutoriaal stuur en ontvang ons data met behulp van twee NRF24L01 -module -opstelling. Die een opstelling is vir die sender se kant en die ander vir die ontvanger se kant. Ons stuur opdragte as string "AAN" (watter boodskap u ook al wil stuur) aan die sender se kant, aan die ontvangers kant, sal ons dieselfde boodskap op Serial Monitor druk wat van die ander kant gestuur is.

Besoek hier om te leer hoe om 'n baba -moniteringsprojek met NRF24L01 te skep

Stap 2: Voorvereistes

Vereiste komponente:

  • Arduino Uno - 2 nr. (Kan ook Nano gebruik)
  • NRF24L01 Draadlose RF -module - 2 nr. Jumperdrade

Biblioteke:

  • RF24 -biblioteek -
  • SPI -biblioteek

Stap 3: Speldetails

Pin besonderhede
Pin besonderhede
  1. GND - Grond
  2. VCC - Kragtoevoer 3.3V (1.9V tot 3.6V)
  3. CE - Chip Enable
  4. CSN - Chip Kies nie
  5. SCK - Seriële klok vir SPI -bus
  6. MOSI - Master Out Slave In
  7. MISO - Meester in Slave Out
  8. IRQ - onderbrekingspen (aktief laag)

Die module verbruik 1.9V tot 3.6V, maar die pins kan tot 5V verdraagsaam wees.

Stap 4: SPI -verbindings vir verskillende borde

As u Arduino Uno, Pro Mini, Nano of Pro Micro gebruik, is die SPI -penne dieselfde as die volgende stroomdiagram. As u Arduino Mega gebruik, kyk dan na die SPI -penne wat anders gekarteer word volgens die hardeware -ontwerp daarvan. Kyk hier na die SPI -biblioteek se verwysingsbladsy vir verskillende SPI -penne oor verskillende bordtipes. Boonop het die Arduino -borde 'n aparte ICSP -koptekst wat versoenbaar is met Sheilds.

Stap 5: Die kring vir die sender- en ontvangerkant is dieselfde vir hierdie voorbeeld

Die stroombaan vir die sender- en ontvangerkant is dieselfde vir hierdie voorbeeld
Die stroombaan vir die sender- en ontvangerkant is dieselfde vir hierdie voorbeeld

Die stroombaan vir die senderkant en die ontvangerkant is dieselfde vir hierdie voorbeeld.

Stap 6: Kode - sender sender:

Stap 7: Ontvanger

Die ontvangerbaan is dieselfde as ons senderkring in ons projek. Maak dus verbindings volgens die senderkring en laai die korrekte kode vir die ontvanger op.

Stap 8: Ontvangerkode:

Stap 9: Verduideliking:

Beskrywing:

Die NRF24l01 kan dien as 'n sender en ontvanger. In die kode hierbo aan die sender se kant, stuur ons 'AAN' teks, en dieselfde sal aan die ontvanger se kant verskyn via die seriële monitor en die LED aan wat op pen 4 aangeskakel is, kan aan die adres geïdentifiseer word. Dit word in 'n getallestring genoem. Ons het gebruik

const byte adres [6] = "00001";

Ons het '00001' as die adres hier gebruik. U kan enige getallestring toewys om die adres in te stel. Die data word via 'n lees-/skryfpyp op die NRF24l01 gestuur. Dit is 'n tydelike buffer wat die data bevat wat gestuur of ontvang moet word.

Sender - Skryf data na die pyp:

radio.openWritingPipe (adres);

Ontvanger - Lees data uit die pyp:

radio.openReadingPipe (0, adres);

Dit is die eenvoudige stuur- en ontvangopstelling vir die NRF -module. Alternatiewelik kan u sensordata vanaf die sender se kant stuur, en volgens die sensorwaardes kan u 'n paar aksies aan die ontvangerkant uitvoer.

Stap 10: Baba -moniteringsprojek met behulp van NRF24L01

Die uitgebreide weergawe van hierdie tutoriaal word in ons blog behandel. Maak 'n baba -moniteringsprojek met die NRF24L01 -module.

Besoek ons blog vir 'Baba -moniteringsprojek met hierdie NRF24L01 -module'.

Vir meer tutoriale besoek - FactoryForward Blog

Koop aanlyn by FactoryForward India (Raspberry Pi, Arduino, Sensors, Robotic Parts, DIY Kits) en meer.

Aanbeveel: