التواصل اللاسلكي هو حجر الزاوية في الإلكترونيات الحديثة ، ويمكّن الأجهزة من التواصل دون قيود الأسلاك. وحدة واحدة شعبية لتحقيق ذلك مع Arduino هي NRF24L01. تعتبر وحدة جهاز الإرسال والاستقبال اللاسلكي البالغ 2.4 جيجا هرتز منخفض التكلفة ، منخفض التكلفة 2.4 جيجا هرتز مثالية للمشاريع التي تتطلب نقل بيانات موثوق بها على مسافات قصيرة. في هذا الدليل ، سوف نسير لك من خلال الخطوات اللازمة لإعداد واستخدام NRF24L01 مع Arduino الخاص بك.
المكونات التي ستحتاجها
- لوحات 2x Arduino (على سبيل المثال ، Arduino Uno)
- وحدات 2x NRF24L01
- الأسلاك الطائر
- لوح (اختياري)
- 10µF مكثف (موصى به)
توصيل NRF24L01 إلى Arduino
يتطلب توصيل NRF24L01 بأردوينو الاهتمام بالتفاصيل. هذا مخطط الأسلاك البسيط:
إذا لم يكن لديك رسم تخطيطي للأسلاك ، فاتبع هذه الاتصالات:
- NRF24L01 VCC ل Arduino 3.3v
- NRF24L01 GND ل Arduino GND
- NRF24L01 CE ل Arduino pin 9
- NRF24L01 CSN ل Arduino PIN 10
- NRF24L01 SCK ل Arduino PIN 13
- NRF24L01 MOSI ل Arduino PIN 11
- NRF24L01 ميسو ل Arduino PIN 12
ملحوظة: يوصى بإضافة مكثف 10µF بين VCC و GND من NRF24L01 لتحقيق الاستقرار في مصدر الطاقة.
تثبيت المكتبات المطلوبة
لتبسيط التواصل مع NRF24L01 ، سنستخدم RF24
مكتبة. اتبع هذه الخطوات لتثبيتها:
- افتح Arduino IDE.
- انتقل إلى رسم> تضمين مكتبة> إدارة المكتبات ...
- بحث عن RF24 بواسطة TMRH20.
- انقر ثَبَّتَ.
كتابة رمز Arduino
سنقوم بإنشاء رسامين: واحد ل جهاز إرسال وواحد ل المتلقي.
رمز المرسل
#include <SPI.h>
#include <RF24.h>
// CE and CSN pins
RF24 radio(9, 10);
// Address for communication
const byte address[6] = "00001";
void setup() {
Serial.begin(9600);
radio.begin();
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_MIN);
}
void loop() {
const char text[] = "Hello World";
bool report = radio.write(&text, sizeof(text));
if (report) {
Serial.println("Data sent successfully");
} else {
Serial.println("Transmission failed");
}
delay(1000);
}
رمز المتلقي
#include <SPI.h>
#include <RF24.h>
// CE and CSN pins
RF24 radio(9, 10);
// Address for communication
const byte address[6] = "00001";
void setup() {
Serial.begin(9600);
radio.begin();
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_MIN);
radio.startListening();
}
void loop() {
if (radio.available()) {
char text[32] = "";
radio.read(&text, sizeof(text));
Serial.println(text);
}
}
تحميل الرمز
تحميل جهاز إرسال رمز إلى أول أردوينو و المتلقي رمز إلى Arduino الثاني. بمجرد تشغيل كلاهما ، افتح الشاشة التسلسلية للمستقبل Arduino بمعدل 9600 Baud. يجب أن ترى رسالة "Hello World" يتم استلامها كل ثانية.
نصائح استكشاف الأخطاء وإصلاحها
- قضايا السلطة: تأكد من أن كلا من وحدات NRF24L01 تتلقى إمدادًا ثابتًا 3.3V. يمكن أن يساعد استخدام المكثف في منع تقلبات الطاقة.
- دقة الأسلاك: تحقق من جميع الاتصالات لتجنب سوء الأسلحة ، مما قد يمنع الاتصال.
-
توافق المكتبة: تأكد من أن
RF24
يتم تثبيت المكتبة وتحديثها بشكل صحيح. - مطابقة العنوان: تأكد من استخدام كل من جهاز الإرسال والمستقبل نفس عنوان الاتصال.
خاتمة
وحدة NRF24L01 هي أداة قوية لإضافة إمكانات لاسلكية إلى مشاريع Arduino الخاصة بك. باتباع الخطوات الموضحة أعلاه ، يمكنك إعداد رابط اتصال موثوق بين لوحين من Arduino. سواء كنت تقوم ببناء شبكة مستشعر عن بُعد أو نظام تحكم لاسلكي أو تجربة تطبيقات إنترنت الأشياء ، فإن NRF24L01 يوفر حلًا متعدد الاستخدامات وفعال من حيث التكلفة.