- اسلكية تخاطب باستخدام وحدة الترددات اللاسلكية nRF24L01
- المكون المطلوب لـ Walkie Talkie القائم على Arduino
- مخطط دائرة Arduino Walkie Talkie
- كود اردوينو ووكي توكي
نحن نعيش في عصر الأجهزة التي تدعم شبكات 5G و 5G ؛ ومع ذلك ، لا تزال التقنيات القديمة مثل نظام الاتصال اللاسلكي ونظام الاتصالات اللاسلكية ذات أهمية قصوى في السيناريوهات التي تتطلب اتصالًا بعيدًا وقصير المسافة ورخيصًا ومنخفض التكلفة. على سبيل المثال ، إذا كان لديك مبنى أو شركة إنشاءات ثقيلة الوزن ، فسيحتاج عمالك إلى التواصل مع بعضهم البعض للعمل المنسق. بمساعدة جهاز اتصال لاسلكي ، يمكنهم التواصل مع بعضهم البعض ونشر تدليك قصير أو تعليمات بمجرد الضغط على زر "PTT" لنقل الصوت للعاملين الآخرين ، حتى يستمعوا ويتبعوا التعليمات. تطبيق آخر يمكن أن يكون في الخوذ الذكيةللتواصل بين مجموعة من الدراجين أثناء رحلة طويلة ، يمكن للنموذج المقترح هنا التواصل بين ستة أشخاص في وقت واحد. إذا كنت ترغب في التحقق من أنواع أخرى من مشاريع نقل الصوت اللاسلكي قصير المدى ، فتفضل بزيارة مشروع جهاز إرسال الصوت اللاسلكي IR و Li-Fi Audio Transmitter باستخدام الروابط.
اسلكية تخاطب باستخدام وحدة الترددات اللاسلكية nRF24L01
المكون الرئيسي لهذا المشروع هو وحدة NRF24L01 RF و Arduino Uno وهو الدماغ أو المعالج. لقد تعلمنا بالفعل كيفية ربط Nrf24L01 مع Arduino من خلال التحكم في محرك مؤازر عن بُعد. بالنسبة لهذا المشروع ، تم اختيار الوحدة النمطية NRF24L01 RF نظرًا لأنها تتمتع بالعديد من المزايا مقارنة بوسيط الاتصال الرقمي. يحتوي على نطاق ISM عالي التردد 2.4 جيجا هرتز ويمكن أن يكون معدل البيانات 250 كيلو بايت في الثانية ، 1 ميجا بايت في الثانية ، 2 ميجا بايت في الثانية. يحتوي على 125 قناة ممكنة في تباعد 1Mhz بحيث يمكن للوحدة استخدام 125 قناة مختلفة مما يجعل من الممكن الحصول على شبكة من 125 مودم يعمل بشكل مستقل في مكان واحد.
والأهم من ذلك ، أن إشارات NRF24L01 لا تتداخل أو تتقاطع مع أنظمة الاتصال اللاسلكي الأخرى مثل جهاز الاتصال اللاسلكي الخاص بالشرطة وجهاز الاتصال اللاسلكي للسكك الحديدية ولا يزعج أجهزة الاتصال اللاسلكي الأخرى. يمكن لوحدة nrf24l01 مفردة الاتصال بوحدات nrf24l01 الستة الأخرى في وقت تكون فيه في حالة الاستقبال. أيضًا ، إنها وحدة ذات استهلاك منخفض للطاقة وهي ميزة إضافية. هناك نوعان من وحدات NRF24L01 المتوفرة على نطاق واسع وشائعة الاستخدام ، أحدهما هو NRF24L01 + والآخر هو NRF24L01 + PA + LNA (كما هو موضح أدناه) مع هوائي مدمج.
يحتوي NRF24L01 + على هوائي مدمج ونطاق 100 متر فقط. إنه جيد للاستخدام الداخلي فقط وغير مناسب للاتصالات الخارجية لمسافات طويلة. علاوة على ذلك ، إذا كان هناك جدار بين المرسل والمستقبل ، فإن إرسال الإشارة يكون ضعيفًا للغاية. يحتوي NRF24L01 + PA + LNA مع هوائي خارجي على PA الذي يعزز قوة الإشارة قبل الإرسال. LNA لتقف على مضخم منخفض الضوضاء. إنه واضح ، يزيل الضوضاء ويعزز المستوى المنخفض للغاية وغير المؤكد للإشارة المستقبلة من الهوائي. يساعد في صنع مستويات مفيدة للإشارة وله هوائي خارجي 2dB يمكنه من خلاله نقل 1000 متر من تغطية النطاق على الهواء ، لذلك فهو مثالي لمشاريع الاتصال اللاسلكي الخارجية.
المكون المطلوب لـ Walkie Talkie القائم على Arduino
- NRF24L01 + PA + LNA مع هوائي خارجي 2DB (2 قطعة)
- Arduino UNO أو أي إصدار من Arduino
- مضخم الصوت (2 قطعة)
- دائرة الميكروفون: يمكنك صنعها بنفسك (ستتم مناقشتها لاحقًا) أو شراء وحدة استشعار الصوت.
- وحدة تقوية تصعيد التيار المستمر إلى تيار مستمر (2 قطعة)
- 3.3 فولت AMS1117 وحدة منظم الجهد
- مؤشر الطاقة LED (2 قطعة)
- مقاومة 470 أوم (2 قطعة)
- مكبر صوت 4 بوصة (2 قطعة)
- زر ضغط (لزر PTT)
- 104 PF لعمل زر PTT (2 قطعة)
- 100 NF مكثف لـ NRF24L01 (2 قطعة)
- مقاومة 1k لزر PTT (2 قطعة)
- 2 مجموعات من بطارية ليثيوم أيون
- وحدة شحن وحماية البطارية ليثيوم أيون (2 قطعة)
- بعض أسلاك العبور ، دبوس رأس ذكر ، لوحة فيرو منقط
مخطط دائرة Arduino Walkie Talkie
يظهر الرسم التخطيطي الكامل لدائرة Arduino Walkie Talkie في الصورة أدناه. يوضح مخطط الدائرة جميع التوصيلات بما في ذلك زر PTT ودائرة الميكروفون وخرج صوت الاستريو.
هام: نطاق إدخال جهد الوحدة NRF24L01 هو 1.9 فولت إلى 3.6 فولت كحد أقصى ، ولتحقيق استقرار الجهد والتيار ، يجب عليك استخدام مكثف 100nf في + VCC و- GND ، ومع ذلك ، يمكن أن تتحمل المسامير الأخرى لوحدة nrf24l01 إشارة 5 فولت المستويات.
الخطوة 1: بدأت في صنع لوحة PCB و Arduino Atmega328p مخصصة محلية الصنع. كنت قد وضعت IC Atmega328p على المبرمج وأومضته ثم حملت الكود. بعد ذلك ، أضفت بلورة 16 ميجا هرتز على Atmega328p IC على دبوس 9 و 10 (PB6 ، PB7). تظهر صور ثنائي الفينيل متعدد الكلور المخصص واللوحة المجمعة مع IC مبرمج أدناه.
الخطوة 2: قمت بتوصيل وحدات NRF24L01 كما هو موضح في مخطط الدائرة بالترتيب التالي. CE إلى الرقم السري الرقمي 7 ، CSN إلى الرقم السري 8 ، SCK إلى الرقم الرقمي 13 ، MOSI إلى الرقم الرقمي 11 ، MISO إلى الرقم الرقمي 12 و IRQ إلى الرقم الرقمي 2.
بالنسبة لمصدر الطاقة ، تحتاج إلى خفض الجهد أولاً من 5 فولت إلى 3.3 فولت مع استقرار تيار جيد. أيضًا ، يجب عليك وضع مكثف 100nF على VCC وأرضية الوحدة النمطية nrf24l01. لذلك ، استخدمت AMS1117 وهو منظم جهد 3.3 فولت ، كما أن الوحدة تقلل حجم مشروعك وتجعله مضغوطًا.
إذا كنت ترغب في إنشاء لوحة منظم الجهد هذه بنفسك ، فيمكنك شراء منظم IC بقوة 3.3 فولت فقط ويمكنك صنعه عن طريق إضافة بعض الأغطية والمقاومة في الإدخال والإخراج لأنه مهم جدًا لوحدة RF الخاصة بك لأنه جهاز حساس. أو يمكنك استخدام منظم الجهد المتغير LM317 لبناء دائرة منظمة بجهد 3.3 فولت كما فعلنا في مشروع تزويد الطاقة باللوحة.
الخطوة 3: يمكنك شراء مستشعر صوت أو إنشاء دائرة ميكروفون بسيطة كما هو موضح في مخطط الدائرة. يتكون من ترانزستور واحد فقط - 2n3904 NPN. توضح الصورة أدناه دائرة الميكروفون محلية الصنع المبنية على لوحة Vero. يمكنك أيضًا التحقق من دائرة مكبر الصوت الصوتي البسيط هذه لمزيد من المعلومات.
من أجل فهم أفضل ، قمت بعمل تمثيل آخر للارتباط الكامل بقيم المكونات كما ترون أدناه
الخطوة 4: لإجراء اتصال من رقم التعريف الشخصي الرقمي الخاص بالمتحكم الدقيق رقم 9 و 10 إلى مكبر الصوت الخاص بك ، لقد استخدمت مكبر الصوت الاستريو PAM8403 لأن إخراج صوت Arduino افتراضيًا منخفض جدًا (عادةً ما يمكنك سماع الصوت فقط باستخدام سماعة الرأس فقط ، وليس مكبر صوت ، لذلك نحن بحاجة إلى مرحلة تضخيم). يمكن للوحدة تشغيل اثنين من مكبرات الصوت للكمبيوتر المحمول بسهولة وهي متوفرة بتكلفة منخفضة للغاية. أيضًا ، يأتي مع مضخم صوت قوي جدًا في حزمة SMD التي تتطلب مساحة صغيرة جدًا. وحدة مكبر الصوت PAM8403 موضحة أدناه.
الاتصال بسيط للغاية ، مطلوب مصدر طاقة 3.7 فولت إلى 5 فولت لتشغيل مضخم الصوت. يجب إعطاء إدخال صوت القناة اليسرى والقناة اليمنى من Arduino pin 9 و 10 جنبًا إلى جنب مع الدبوس الأرضي كمدخل لوحدة مكبر الصوت هذه كما هو موضح في مخطط الدائرة. في حالتي ، استخدمت مكبر صوت واحد مقاس 4 بوصات 8 أوم واستخدمت فقط إخراج القناة الصحيح. إذا كنت تريد ، يمكنك استخدام اثنين من مكبرات الصوت مع هذه الوحدة.
الخطوة 5: بعد ذلك ، قمت بإنشاء مفتاح PTT باستخدام زر ضغط بسيط. أضفت مكثفًا 104PF أو 0.1 فائق التوهج لمنع ارتداد المفتاح أو الإشارات غير المنتظمة عند الضغط على المفتاح. يتم الآن توصيل Pin 4 مباشرة بـ Arduino Digital pin D3 حيث يتم تعيين دبوس متقطع للترميز.
تستهلك NRF24L01 + PA + LNA عند نقل إشارة صوتية أو حزم بيانات مزيدًا من الطاقة ، وبالتالي فهي تستهلك المزيد من التيار. عندما تضغط على زر اضغط لتتحدث فجأة ، يزداد استهلاك الطاقة. للتعامل مع هذا الحمل المتزايد فجأة ، يجب عليك استخدام مكثف 100nF على + vcc والأرضي لاستقرار ناقل الحركة لوحدة NRF24L01 + PA + LNA.
عند الضغط على المفتاح ، تتلقى لوحة Arduino مقاطعة Arduino على دبوسها D3. في البرنامج ، سنعلن أن الدبوس الرقمي 3 من Arduino يتحقق باستمرار من جهد الدخل. إذا كان جهد الدخل منخفضًا ، فإنه يحافظ على جهاز الاتصال اللاسلكي في وضع الاستلام وإذا كان رقم التعريف الشخصي رقم 3 مرتفعًا ، فإنه يحول جهاز الاتصال اللاسلكي إلى وضع الإرسال لإرسال إشارة صوتية تلتقطها عملية الميكروفون من خلال وحدة تحكم دقيقة ونقلها من خلال NRF24L01 + PA + LNA بهوائي خارجي.
الخطوة 6: بالنسبة لمصدر الطاقة ، اخترت بطارية Li-ion هذه. لتشغيل جميع المكونات مثل Arduino IC Atmega328p و NRF24L01 + PA + LNA ومكبر الصوت وزر PTT ودائرة الميكروفون ، استخدمت مجموعتين من بطارية Li-ion لهذا المشروع كما هو موضح أدناه.
تحتوي الخلية الجيدة على مستوى جهد 3.8 فولت إلى 4.2 فولت ، ويكون جهد الشحن من 4 فولت إلى 4.2 فولت فقط. لمعرفة المزيد عن بطاريات الليثيوم ، يمكنك مراجعة المقالة المرتبطة. تستخدم هذه البطاريات بشكل شائع في الأجهزة الإلكترونية المحمولة والمركبات الكهربائية. لكن خلايا بطارية Li-ion ليست قوية مثل البطاريات الأخرى ، فهي تحتاج إلى الحماية من الشحن الزائد والتفريغ بسرعة كبيرة ، مما يعني أنه يجب الحفاظ على تيار الشحن / التفريغ والجهد ضمن حدود آمنة. لذلك ، استخدمت أكثر وحدة شحن بطارية Li-ion المروحة - TP4056. لقد استخدمنا هذه الوحدة سابقًا لبناء بنك طاقة محمول ، يمكنك التحقق من ذلك لمزيد من التفاصيل في هذه اللوحة.
الخطوة 7: لقد استخدمت وحدة تقوية تصعيد 2 أمبير إلى تيار مستمر لأن Arduino atmega328p ومكبر الصوت ودائرة الميكروفون وزر PTT يحتاج كل شيء إلى 5 فولت ولكن بطاريتي لا يمكنها توفير سوى 3.7 فولت إلى 4.2 فولت ، لذلك أحتاج إلى محول دفعة للوصول إلى 5 فولت مع أكثر من 1 أمبير من خرج طاقة ثابت.
بعد بناء الدائرة ، يمكنك تجميعها في حاوية صغيرة. لقد استخدمت صندوقًا بلاستيكيًا ووضعت دوائري كما هو موضح في الصورة أدناه
كود اردوينو ووكي توكي
يمكن العثور على البرنامج الكامل لجهاز الاتصال اللاسلكي Arduino في أسفل هذه الصفحة. في هذا القسم ، دعنا نناقش كيفية عمل البرنامج. قبل الوصول إلى هناك ، تحتاج إلى تضمين بعض المكتبات المدرجة أدناه.
- مكتبة nRF24
- مكتبة الصوت nRF24
- مكتبة Maniaxbug RF24
ابدأ البرمجة بتضمين رؤوس الراديو ومكتبة الصوت كما هو موضح أدناه
#تضمن
قم بتهيئة راديو RF على السنون 7 و 8 وقم بإعداد رقم راديو الصوت على 0. أيضًا ، قم بتهيئة زر ppt على الطرف 3.
راديو RF24 (7،8) ؛ // إعداد الراديو باستخدام المسامير 7 (CE) 8 (CS) RF24Audio rfAudio (راديو ، 0) ؛ // إعداد الصوت باستخدام الراديو ، وتعيينه على رقم الراديو 0 int talkButton = 3 ؛
داخل وظيفة الإعداد ، ابدأ جهاز العرض التسلسلي عند 115200 باود من أجل التصحيح. ثم قم بتهيئة زر ppt وقم بالاتصال بالدبوس 3 كدبوس المقاطعة.
إعداد باطل () {Serial.begin (115200) ؛ printf_begin () ، radio.begin () ، radio.printDetails () ، rfAudio.begin () ، pinMode (talkButton ، INPUT) ؛ // مجموعات المقاطعة للتحقق من زر التحدث ، اضغط على attachInterrupt (digitalPinToInterrupt (talkButton) ، والتحدث ، والتغيير) ؛ // يعين الحالة الافتراضية لكل وحدة نمطية لتلقي rfAudio.receive () ؛ }
بعد ذلك ، لدينا وظيفة تسمى talk () والتي يتم استدعاؤها استجابة للمقاطعة. يتحقق البرنامج من حالة الزر إذا تم الضغط على الزر مع الاستمرار في الدخول في وضع الإرسال لإرسال الصوت. إذا تم تحرير الزر ، فإنه يدخل في وضع الاستلام.
حديث باطل () {if (digitalRead (talkButton)) rfAudio.transmit () ؛ آخر rfAudio.receive () ؛ } حلقة فارغة() { }
يمكن العثور على العمل الكامل لهذا المشروع في الفيديو المرتبط أدناه. ينتج جهاز Walkie Talkie بعض الضوضاء أثناء التشغيل ، وهذه هي الضوضاء الصادرة عن تردد الموجة الحاملة لوحدة nRF24L01. يمكن تقليله باستخدام مستشعر صوت جيد أو وحدة ميكروفون. إذا كان لديك أي أسئلة حول هذا المشروع ، يمكنك تركها في قسم التعليقات أدناه. يمكنك أيضًا استخدام منتدياتنا للحصول على إجابات سريعة لاستفساراتك الفنية الأخرى.