Inhoudsopgave:

NRF24L01 Draadloze transmissie tussen Arduino - Ajarnpa
NRF24L01 Draadloze transmissie tussen Arduino - Ajarnpa

Video: NRF24L01 Draadloze transmissie tussen Arduino - Ajarnpa

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

NRF24L01 is een 2,4 GHz draadloze RF-module met laag vermogen van Nordic Semiconductors. Het kan werken met baudrates van 250 kbps tot 2 Mbps. Als het wordt gebruikt in een open ruimte met een lagere baudrate, kan het oplopen tot 300 voet. Het wordt dus gebruikt in toepassingen op korte afstand, zoals domotica, speelgoed, gamecontrollers en meer.

De NRF24L01-module kan de gegevens zowel verzenden als ontvangen. Het maakt gebruik van het SPI-protocol voor communicatie met microcontrollers. Daarom kunt u de module met Arduino op SPI-communicatiepinnen gebruiken. We zullen zien hoe deze module met een Arduino kan worden gekoppeld en hoe een LED van een andere Arduino kan worden bestuurd. Met een afstand van 1 Mhz op een werkbereik van 2400 Mhz – 2525 Mhz (2,40 Ghz – 2,525 GHz), kan het de mogelijkheid bieden om een netwerk van 125 onafhankelijk werkende modems in hetzelfde gebied te hebben. Elk kanaal kan maximaal 6 adressen hebben en kan tegelijkertijd met maximaal 6 andere eenheden communiceren.

Stap 1: Kenmerken van NRF24L01

Functies:

  • Bedrijfsspanning: 9V tot 3.6V
  • Voedingsspanning: 3V
  • Pinspanning: 5V tolerant (geen niveau-omzetters nodig)
  • Voordelige single-chip 2,4 GHz GFSK RF transceiver IC
  • Bereik (open ruimte): 300 voet (kan oplopen tot 3000 voet met behulp van een externe antenne)

In deze zelfstudie zullen we gegevens verzenden en ontvangen met behulp van twee NRF24L01-moduleconfiguraties. Een opstelling is voor de zenderzijde en een andere voor de ontvangerzijde. We sturen commando's als tekenreeks "AAN" (wat voor bericht u ook wilt verzenden) aan de kant van de zender. Aan de kant van de ontvanger zullen we hetzelfde bericht op de seriële monitor afdrukken dat vanaf de andere kant is verzonden.

Om te leren hoe u een babybewakingsproject kunt maken met NRF24L01 - bezoek hier

Stap 2: Vereisten

Benodigde componenten:

  • Arduino Uno – 2 nrs. (kan ook Nano gebruiken)
  • NRF24L01 Draadloze RF-module – 2 nrs. jumperdraden

Bibliotheken:

  • RF24-bibliotheek –
  • SPI-bibliotheek

Stap 3: Pindetails

Pindetails
Pindetails
  1. GND – Aarde
  2. VCC - Voeding 3,3 V (1,9 V tot 3,6 V)
  3. CE – Chip inschakelen
  4. CSN – Chipselectie niet
  5. SCK – Seriële klok voor SPI-bus
  6. MOSI – Master uit Slave in
  7. MISO – Master in Slave Out
  8. IRQ - Interrupt Pin (actief laag)

De module verbruikt 1,9 V tot 3,6 V, maar de pinnen kunnen tot 5 V tolerant aan.

Stap 4: SPI-verbindingen voor verschillende borden

Als u Arduino Uno, Pro Mini, Nano of Pro Micro gebruikt, zijn de SPI-pinnen hetzelfde als het volgende schakelschema. Als u Arduino Mega gebruikt, controleer dan de SPI-pinnen die anders zijn toegewezen volgens het hardwareontwerp. Bekijk hier de referentiepagina van de SPI-bibliotheek voor verschillende SPI-pinnen op verschillende bordtypes. Bovendien hebben de Arduino-boards een aparte ICSP-header voor compatibiliteit met Sheilds.

Stap 5: Het circuit voor de zenderzijde en ontvangerzijde is hetzelfde voor dit voorbeeld

Het circuit voor de zenderzijde en ontvangerzijde is hetzelfde voor dit voorbeeld
Het circuit voor de zenderzijde en ontvangerzijde is hetzelfde voor dit voorbeeld

Het circuit voor de zenderzijde en ontvangerzijde is hetzelfde voor dit voorbeeld.

Stap 6: Code – Zenderzijde:

Stap 7: ontvanger

Het ontvangercircuit is hetzelfde als ons zendercircuit in ons project. Maak dus verbindingen volgens het zendercircuit en zorg ervoor dat u de juiste code voor de ontvanger uploadt.

Stap 8: Ontvangercode:

Stap 9: Uitleg:

Beschrijving:

De NRF24l01 kan fungeren als zender en ontvanger. In de bovenstaande code aan de zenderzijde sturen we 'AAN'-tekst en hetzelfde wordt aan de ontvangerzijde weergegeven via seriële monitor en schakelt de LED in die is aangesloten op pin 4. De NRF24l01 kan worden geïdentificeerd aan de hand van zijn adres. Het wordt vermeld in een cijferreeks. We gebruikten

const byte-adres [6] = "00001";

We hebben hier '00001' als adres gebruikt. U kunt elke cijferreeks toewijzen om het adres in te stellen. De gegevens worden verzonden via een lees-/schrijfpijp op de NRF24l01. Het is een tijdelijke buffer die de gegevens bevat die moeten worden verzonden of ontvangen.

Zender – Gegevens naar de pijp schrijven:

radio.openWritingPipe(adres);

Ontvanger – Gegevens uit de Pipe lezen:

radio.openReadingPipe(0, adres);

Dit is de eenvoudige zend- en ontvangstconfiguratie voor de NRF-module. Als alternatief kunt u sensorgegevens verzenden vanaf de zenderzijde en volgens de sensorwaarden kunt u enkele acties uitvoeren aan de ontvangerzijde.

Stap 10: Babybewakingsproject met NRF24L01

De uitgebreide versie van deze tutorial wordt behandeld in onze blog. Maak een babybewakingsproject met behulp van de NRF24L01-module.

Bezoek onze blog voor 'Babybewakingsproject met behulp van deze NRF24L01-module'.

Bezoek voor meer zelfstudies - FactoryForward Blog

Winkel online bij FactoryForward India (Raspberry Pi, Arduino, sensoren, robotonderdelen, doe-het-zelfkits) en meer.

Aanbevolen: