વાયરલેસ કોમ્યુનિકેશન માટે Arduino સાથે NRF24L01 નો ઉપયોગ કેવી રીતે કરવો

  • NRF24L01 મફત 2.4 GHz બેન્ડમાં કાર્ય કરે છે અને 2 Mbps સુધી ટ્રાન્સમિટ કરી શકે છે.
  • મોડ્યુલની સ્થિરતા સુધારવા માટે VCC અને GND વચ્ચે કેપેસિટરનો ઉપયોગ કરવાની ભલામણ કરવામાં આવે છે.
  • એમ્પ્લીફાયર સાથેનો વિકલ્પ શ્રેષ્ઠ સ્થિતિમાં 1 કિમી સુધીના અંતર સુધી પહોંચી શકે છે.

nrf24l01

જો તમે Arduino સાથે કામ કરી રહ્યા છો અને ઉપકરણો વચ્ચે કાર્યક્ષમ વાયરલેસ સંચારને અમલમાં મૂકવા માંગો છો, તો NRF24L01 ટ્રાન્સસીવર મોડ્યુલ કરતાં કોઈ સારો વિકલ્પ નથી. આ નાનું પરંતુ શક્તિશાળી RF મોડ્યુલ તેની ઓછી કિંમત, ઉપયોગમાં સરળતા અને 2.4 GHz બેન્ડમાં શ્રેષ્ઠ પ્રદર્શનને કારણે સૌથી લોકપ્રિય વિકલ્પોમાંનું એક છે.

આ લેખમાં, અમે Arduino સાથે NRF24L01 મોડ્યુલનો ઉપયોગ કેવી રીતે કરવો તે વિશે અન્વેષણ કરવા જઈ રહ્યા છીએ, જેમાં સૌથી મૂળભૂત પાસાઓથી લઈને પ્રોજેક્ટ્સમાં તેને કેવી રીતે અમલમાં મૂકવું તેના અદ્યતન ઉદાહરણો સુધી બધું સમજાવવું. ચાલો ખાતરી કરીએ કે તમે આ મોડ્યુલને તેના મૂળભૂત અને સંચાલિત બંને સંસ્કરણોમાં કેવી રીતે કનેક્ટ કરવું અને તેનો ઉપયોગ કેવી રીતે કરવો અને તેને અસરકારક રીતે કાર્ય કરવા માટે જરૂરી લાઇબ્રેરીઓને કેવી રીતે લાગુ કરવી તે સમજો.

એનઆરએફ 24 એલ 01 શું છે?

El એનઆરએફ 24 એલ 01 નોર્ડિક સેમિકન્ડક્ટર દ્વારા ઉત્પાદિત RF ટ્રાન્સસીવર ચિપ છે જે ફ્રી બેન્ડમાં કાર્ય કરે છે. 2.4 ગીગાહર્ટ્ઝ. તે 2 Mbps સુધીની રૂપરેખાંકિત ઝડપ સાથે કેટલાક ઉપકરણો વચ્ચે વાયરલેસ રીતે ડેટાના ટ્રાન્સમિશન અને રીસેપ્શનની મંજૂરી આપે છે, સૌથી રસપ્રદ બાબત એ છે કે તે એક સાથે જોડાયેલા છ ઉપકરણો સાથે કામ કરી શકે છે, જે તેને એક આદર્શ સાધન બનાવે છે. ઇલેક્ટ્રોનિક પ્રોજેક્ટ્સની વિશાળ શ્રેણી.

આ ટ્રાન્સસીવરમાં ભૂલ સુધારણા અને નિષ્ફળ ડેટાના પુનઃપ્રસારણ માટે ટેક્નોલોજી પણ છે, મજબૂત કનેક્શન ગુણવત્તા જાળવી રાખે છે. આ Arduino અથવા તેની સાથે જોડાયેલ અન્ય કોઈપણ નિયંત્રક પર પ્રોસેસિંગ લોડને હળવો કરે છે.

NRF24L01નો બીજો સકારાત્મક મુદ્દો તેનો ઓછો પાવર વપરાશ છે. રાજ્યમાં સ્ટેન્ડ-બાય, તે માત્ર 22 µA નો વપરાશ કરે છે, જે ઓછા વપરાશની જરૂર હોય તેવા પ્રોજેક્ટ માટે યોગ્ય છે. ઓપરેટિંગ સ્થિતિમાં, જ્યારે તે ડેટા મોકલે છે ત્યારે તેનો વપરાશ 15 mA સુધી વધી શકે છે.

NRF24L01 ની વિવિધ આવૃત્તિઓ

nrf24l01 પિનઆઉટ

NRF24L01 મોડ્યુલના મુખ્યત્વે બે વર્ઝન છે. આ મૂળભૂત આવૃત્તિ તે મોડ્યુલ બોર્ડમાં જ એક નાનું ઝિગ-ઝેગ એન્ટેના ધરાવે છે. ની અસરકારક શ્રેણી સાથે આ સંસ્કરણ ટૂંકા અંતરના સંચાર માટે આદર્શ છે 20 થી 30 મીટર બંધ જગ્યાઓમાં અથવા 50 મીટર ખુલ્લા વિસ્તારોમાં.

બીજી બાજુ, અમારી પાસે બાહ્ય એન્ટેના અને એમ્પ્લીફાયર સાથેનું સંસ્કરણ, NRF24L01+ PA/LNA (પાવર એમ્પ્લીફાયર / લો નોઈઝ એમ્પ્લીફાયર) તરીકે ઓળખાય છે, જે સંચાર શ્રેણીને નોંધપાત્ર રીતે વિસ્તરે છે, સુધી પહોંચે છે. 1 કિલોમીટર શ્રેષ્ઠ સ્થિતિમાં. આ સંસ્કરણ વધુ ખર્ચાળ છે, પરંતુ જો તમારે લાંબા અંતરને આવરી લેવાની જરૂર હોય તો તે આવશ્યક છે.

પોષણ અને મહત્વપૂર્ણ વિચારણાઓ

NRF24L01 પાસે 1.9 થી 3.6V નો સપ્લાય વોલ્ટેજ છે, તેથી તે ખૂબ જ મહત્વપૂર્ણ છે તેને સીધા Arduino ના 5V પિન સાથે કનેક્ટ કરશો નહીં, કારણ કે આ તેને નુકસાન પહોંચાડી શકે છે. તેને પાવર આપવા માટે Arduino ના 3.3V પિનનો ઉપયોગ કરવાની સલાહ આપવામાં આવે છે, જો કે ઘણા કિસ્સાઓમાં જો તમારે વધુ સ્થિર પાવર સ્ત્રોતની બાંયધરી આપવી હોય તો બાહ્ય વોલ્ટેજ રેગ્યુલેટરનો ઉપયોગ કરવો જરૂરી રહેશે.

તદુપરાંત, ટ્રાન્સમિશનની વિશ્વસનીયતા સુધારવા માટે, ખાસ કરીને એમ્પ્લીફાયર સાથેના સંસ્કરણમાં, તે મૂકવાની સલાહ આપવામાં આવે છે. 10 µF થી 100 µF કેપેસિટર મોડ્યુલના પાવર પિન (VCC અને GND) વચ્ચે. આ પાવરને સ્થિર કરશે અને વોલ્ટેજના ટીપાંને RF સિગ્નલની સ્થિરતાને અસર કરતા અટકાવશે.

NRF24L01 ને Arduino સાથે કનેક્ટ કરી રહ્યું છે

NRF24L01 આનો ઉપયોગ કરે છે SPI ઇન્ટરફેસ માઇક્રોકન્ટ્રોલર સાથે વાતચીત કરવા માટે. SPI એ સિંક્રનસ સીરીયલ કોમ્યુનિકેશન ઈન્ટરફેસ છે જે ઝડપથી અને અસરકારક રીતે ડેટા ટ્રાન્સમિશનની મંજૂરી આપે છે. NRF24L01 ટ્રાન્સસીવરને a સાથે કેવી રીતે કનેક્ટ કરવું તે અહીં છે Arduino UNO:

NRF24L01 પિન કરો પિન Arduino UNO
વીસીસી 3.3V
GND GND
CE 9
સી.એસ.એન. 10
એસ.સી.કે. 13
મોસી 11
મીસો 12

જો તમે Arduino MEGA નો ઉપયોગ કરી રહ્યાં છો, તો SPI કોમ્યુનિકેશન માટેની પિન અલગ હશે:

NRF24L01 પિન કરો Arduino MEGA પિન
વીસીસી 3.3V
GND GND
CE 9
સી.એસ.એન. 53
એસ.સી.કે. 52
મોસી 51
મીસો 50

RF24 લાઇબ્રેરીની સ્થાપના

Arduino સાથે NRF24L01 નો ઉપયોગ કરવા માટે, લાઇબ્રેરી ઇન્સ્ટોલ કરવી જરૂરી છે RF24, જેમાં તમારે મોડ્યુલને નિયંત્રિત કરવા માટે જરૂરી તમામ કાર્યોનો સમાવેશ થાય છે. આ પુસ્તકાલય ખૂબ જ સંપૂર્ણ છે અને ઝડપી અને સ્થિર સંદેશાવ્યવહારની બાંયધરી આપવા માટે અત્યંત ઑપ્ટિમાઇઝ છે.

લાઇબ્રેરી ઇન્સ્ટોલ કરવા માટે, આ પગલાં અનુસરો:

  1. Arduino IDE ખોલો.
  2. પર જાઓ સ્કેચ > લાઇબ્રેરી શામેલ કરો > લાઇબ્રેરીઓનું સંચાલન કરો…
  3. લાઇબ્રેરી મેનેજરમાં "RF24" શોધો અને તેને ઇન્સ્ટોલ કરો.

RF24 લાઇબ્રેરીના મુખ્ય કાર્યો

એકવાર RF24 લાઇબ્રેરી ઇન્સ્ટોલ થઈ જાય, પછી તમે ઘણા કાર્યોનો ઉપયોગ કરી શકશો જે તમને ટ્રાન્સસીવર સાથે સંચાર શરૂ કરવા અને સંચાલિત કરવાની મંજૂરી આપશે. નીચે, અમે તમને સૌથી મહત્વપૂર્ણ બતાવીએ છીએ:

  • RF24 (uint8_t _cepin, uint8_t _cspin)- આ ફંક્શન ટ્રાન્સસીવરનો નવો દાખલો બનાવે છે જે દર્શાવે છે કે તમે Arduino પર કઈ CE અને CSN પિનનો ઉપયોગ કરી રહ્યાં છો.
  • રદબાતલ શરૂઆત(): રેડિયો મોડ્યુલનો પ્રારંભ કરે છે. આ ફંક્શન પ્રોગ્રામના સેટઅપ() ફંક્શનમાં હાજર હોવું જોઈએ.
  • void openWritingPipe(const uint8_t * સરનામું)- એક લેખન ચેનલ ખોલે છે જેમાં ડેટા મોકલવામાં આવશે. ચેનલને ઓળખવા માટે 5-બાઈટ એડ્રેસની જરૂર છે.
  • બૂલ લખો (const void *buf, uint8_t len): રાઇટ ચેનલ દ્વારા ડેટા મોકલે છે. જો મોકલવાનું સફળ થયું હોય તો સાચું પરત કરે છે, જો મોકલવું શક્ય ન હોય તો ખોટું.
  • void openReadingPipe(uint8_t નંબર, const uint8_t * સરનામું)- રીડ ચેનલ ખોલે છે જેથી મોડ્યુલ બીજા એડ્રેસ પરથી ડેટા મેળવી શકે.
  • રદબાતલ શરૂ સાંભળવું()- વાંચવા માટે ખુલ્લી ચેનલોમાંથી ડેટા પ્રાપ્ત કરવા માટે સાંભળવાનો મોડ સક્રિય કરે છે.
  • બૂલ ઉપલબ્ધ()- રીડ ચેનલ પર ડેટા ઉપલબ્ધ છે કે કેમ તે તપાસે છે.
  • રદબાતલ વાંચન (void *buf, uint8_t લેન): રીડ ચેનલમાં ઉપલબ્ધ ડેટાને વાંચે છે અને આપેલા બફરમાં સાચવે છે.

કોડ ઉદાહરણ: બે અર્ડિનો વચ્ચે મૂળભૂત સંચાર

NRF24L01 નો ઉપયોગ કેવી રીતે કરવો તે સમજાવવા માટે, અમે એક મૂળભૂત સંચાર ઉદાહરણ કરવા જઈ રહ્યા છીએ જેમાં એક Arduino બીજાને ત્રણ ડેટા મોકલશે: એનાલોગ પિન A0 નું મૂલ્ય, કોડ ચાલી રહ્યો છે તે મિલીસેકન્ડમાં સમય (millis()) અને મૂલ્ય સ્થિર (આ કિસ્સામાં, 3.14).

Arduino એમિટર માટે કોડ:

#include <SPI.h>
#include <RF24.h>

#define CE_PIN 9
#define CSN_PIN 10
RF24 radio(CE_PIN, CSN_PIN);

const byte direccion[5] = {'c','a','n','a','l'};
float datos[3];

void setup() {
 radio.begin();
 radio.openWritingPipe(direccion);
 Serial.begin(9600);
}

void loop() {
 datos[0] = analogRead(A0) * (5.0 / 1023.0);
 datos[1] = millis();
 datos[2] = 3.14;
 bool ok = radio.write(datos, sizeof(datos));
 if (ok) {
 Serial.println("Datos enviados");
 } else {
 Serial.println("Error en el envío");
 }
 delay(1000);
}

Arduino રીસીવર માટે કોડ:

#include <SPI.h>
#include <RF24.h>

#define CE_PIN 9
#define CSN_PIN 10
RF24 radio(CE_PIN, CSN_PIN);

const byte direccion[5] = {'c','a','n','a','l'};
float datos[3];

void setup() {
 radio.begin();
 radio.openReadingPipe(1, direccion);
 radio.startListening();
 Serial.begin(9600);
}

void loop() {
 if (radio.available()) {
 radio.read(datos, sizeof(datos));
 Serial.print("Voltaje: ");
 Serial.print(datos[0]);
 Serial.print(" V, Time: ");
 Serial.print(datos[1]);
 Serial.print(" ms, Sensor: ");
 Serial.println(datos[2]);
 }
 delay(1000);
}

આ ઉદાહરણમાં, મોકલનાર Arduino પિન A0 સાથે જોડાયેલા પોટેન્ટિઓમીટરનું મૂલ્ય વાંચે છે અને તેને મિલી() ની કિંમત અને સતત ડેટા સાથે મોકલે છે. પ્રાપ્ત કરનાર Arduino આ ત્રણ મૂલ્યો મેળવે છે, તેમને સીરીયલ મોનિટર પર છાપે છે જેથી તમે પરિણામો જોઈ શકો.

પ્રદર્શન સુધારવા માટેની ટિપ્સ

NRF24L01 એ ખૂબ જ કાર્યક્ષમ ઉપકરણ હોવા છતાં, તેની કામગીરી અને શ્રેણી ઘણા પરિબળોને આધારે મોટા પ્રમાણમાં બદલાઈ શકે છે. નીચે, અમે તમને તેની કામગીરી સુધારવા માટે કેટલીક ટીપ્સ આપીએ છીએ:

  • બાહ્ય પાવર સપ્લાયનો ઉપયોગ કરીને: જો તમે PA/LNA સાથે વર્ઝનનો ઉપયોગ કરી રહ્યાં હોવ, તો બાહ્ય પાવર સપ્લાયનો ઉપયોગ કરવો જરૂરી છે. લાંબા અંતર પર મોડ્યુલને યોગ્ય રીતે પાવર કરવા માટે Arduino ની શક્તિ પૂરતી નહીં હોય.
  • VCC અને GND વચ્ચે કેપેસિટર મૂકો: 10 અને 100 µF ની વચ્ચેનું કેપેસિટર મોડ્યુલની સ્થિરતામાં સુધારો કરશે અને પાવર સમસ્યાઓ ટાળશે.
  • દખલગીરી ટાળો: NRF24L01 એ વાઇફાઇ નેટવર્કની જેમ જ ફ્રીક્વન્સી બેન્ડમાં કામ કરે છે, તેથી વાઇફાઇ રાઉટર્સ સામાન્ય રીતે ઉપયોગ કરે છે તે 2.4 થી 2.5 ગીગાહર્ટ્ઝથી દૂરની ચેનલો પસંદ કરવાની સલાહ આપવામાં આવે છે.

આ માહિતી સાથે, હવે તમારી પાસે તમારા પ્રોજેક્ટ્સમાં NRF24L01 અને Arduino સાથે કામ કરવાનું શરૂ કરવા માટે જરૂરી બધું છે. આ ઉપકરણ વાયરલેસ કોમ્યુનિકેશન સિસ્ટમ બનાવવા માટે, સેન્સરના રિમોટ મોનિટરિંગથી લઈને લાંબા અંતર પર રોબોટ્સને નિયંત્રિત કરવા માટે મોટી સંખ્યામાં શક્યતાઓ ખોલે છે.


ટિપ્પણી કરવા માટે સૌ પ્રથમ બનો

તમારી ટિપ્પણી મૂકો

તમારું ઇમેઇલ સરનામું પ્રકાશિત કરવામાં આવશે નહીં. આવશ્યક ક્ષેત્રો સાથે ચિહ્નિત થયેલ છે *

*

*

  1. ડેટા માટે જવાબદાર: મિગ્યુએલ gelંજેલ ગેટóન
  2. ડેટાનો હેતુ: નિયંત્રણ સ્પામ, ટિપ્પણી સંચાલન.
  3. કાયદો: તમારી સંમતિ
  4. ડેટાની વાતચીત: કાયદાકીય જવાબદારી સિવાય ડેટા તૃતીય પક્ષને આપવામાં આવશે નહીં.
  5. ડેટા સ્ટોરેજ: cસેન્ટસ નેટવર્ક્સ (ઇયુ) દ્વારા હોસ્ટ કરેલો ડેટાબેઝ
  6. અધિકાર: કોઈપણ સમયે તમે તમારી માહિતીને મર્યાદિત, પુન recoverપ્રાપ્ત અને કા deleteી શકો છો.