الجمعة، 18 سبتمبر 2020

كيفية التوصيل بين اثنين من اردوينو على بعد 1000 متر

 تعرف على كيفية إنشاء اتصال بعيد المدى باستخدام اثنين من Arduinos من خلال وحدة HC-12.

غالبًا ما نرغب في تشغيل العديد من المشغلات عن بُعد مثل المصابيح والمحركات والمحركات الأخرى.

ومع ذلك ، هناك حالات يصبح فيها استخدام الأنظمة السلكية لقيادة هذه المشغلات غير عملي بسبب المسافة بين المشغل ونظام القيادة أو صعوبة تنفيذ تركيب الكابلات اللازمة لتنفيذ العملية المطلوبة.

في هذه الحالات ، يكون جهاز التحكم عن بعد بديلاً لاستخدامه ، وهناك العديد من أجهزة الإرسال والاستقبال اللاسلكية التي يمكن استخدامها ، مثل وحدة HC-12 و NRF24L01 و Lora وغيرها.

في هذه المقالة ، سوف نتعلم كيفية بناء NEXTPCB Electronic Board لإنشاء نظام أتمتة والتحكم في العديد من الأجهزة عن بعد.

سوف يحتوي NEXTPCBPCB على وحدة الإرسال / الاستقبال الراديوي HC-12 و Arduino Nano الذي سيكون المستقبل و HC-12 مع Arduino Uno الذي سيكون جهاز الإرسال لأداء تنشيط LEDs على مسافة

من خلال هذا المقال سوف:

قم بإجراء تجميع الدائرة على اللوحة الأولية

افهم كيف تعمل وحدة HC-12

قم بإجراء اتصال Arduino Nano / Arduino Nano بوحدة HC-12

تفعيل الجهاز عن بعد

افهم كيف يعمل الاتصال التسلسلي مع جهاز الإرسال والاستقبال اللاسلكي

قم بإنشاء NEXTPCB ثنائي الفينيل متعدد الكلور

بناء نظام أتمتة التحكم عن بعد

كما ذكرنا سابقًا ، يتكون المشروع من إنشاء نظام لتنشيط الأجهزة عن بُعد وإنشاء لوحة دوائر مطبوعة NEXTPCB للتحكم في الأجهزة.

وحدة HC-12 هي جهاز إرسال واستقبال لاسلكي وتردد تشغيلها من 433.4 ميجاهرتز إلى 473 ميجاهرتز.

من الممكن توصيل نوعين من الهوائيات في هذه الوحدة ، هوائي حلزوني يأتي مع الوحدة أو هوائي آخر يتم توصيله بموصل UFL.

يمكن أن يصل مدى هذه الوحدة إلى كيلومتر واحد حسب الإعدادات والهوائي المستخدم.

تأتي هذه الوحدات عادةً مع بعض إعدادات المصنع ، حتى نتمكن من التواصل بين وحدتي HC-12. على سبيل المثال ، يمكننا التواصل بين جهازي Arduinos.

لتنفيذ هذه العملية ، يجب علينا تعديل بعض المعلمات مثل سرعة الاتصال وقناة الاتصال ووضع التشغيل باستخدام أوامر AT.

لتكوين الوحدة النمطية ، يجب توصيل دبوس المجموعة بـ GND كما هو موضح في الشكل 1. تسمح هذه العملية للوحدة بالدخول في وضع التكوين.

يوصى بتزويد وحدة HC-12 بمصدر خارجي 5 فولت ، حيث تحتوي على بعض محولات USB-SERIAL التي لا توفر تيارًا كافيًا لتزويد الوحدة.

لتحسين التصميم ، سنقوم بإنشاء لوحة دوائر مطبوعة NEXTPCB لضمان الطاقة الكافية لـ HC

12.

يجب توصيل GND الخاص بمحول USB-SERIAL بـ GND الخاص بمصدر الطاقة.




قبل أن نبدأ في تكوين الوحدة ، يجب علينا تنزيل برنامج Termite المتاح على الرابط: تنزيل برنامج Termite

بعد إجراء التوصيلات بوحدة HC-12 ومحول USB التسلسلي ، افتح برنامج Termite.

تكوين وحدة HC-12 باستخدام برنامج Termite.


بعد فتح برنامج Termite ، يجب أن نضغط على Settings (الإعدادات) لعمل بعض الإعدادات وفقًا للشكل.


بعد إجراء الإعدادات في برنامج Termite ، انقر فوق Ok ثم COM3 لتوصيل المحول التسلسلي USB بوحدة HC-12 بالمنفذ التسلسلي المتصل.

انتظر لتوصيل المنفذ ببرنامج Termite ونكتب في شريط الأوامر الأمر AT

إذا سارت الأمور على ما يرام ، فستظهر OK كما في الشكل.



بعد هذا الاختبار الأولي ، سنقوم بتكوين وحدة HC-12 بالمعلمات التالية:

مسلسل Velocidad de comunicación: 9600 بت في الثانية
قناة de comunicação 5
بوتينسيا دي ترانسيسيون دي 11 ديسيبل
طريقة العمل FU3











بعد إجراء التكوين للوحدة الأولى ، نكرر الخطوات لتكوين الوحدة الثانية.

بعد تكوين كلتا الوحدتين ، يمكننا الاتصال بـ Arduino كما هو موضح في الشكل 8 لجهاز الإرسال والشكل 9 لجهاز الاستقبال

سيكون Arduino Uno هو جهاز الإرسال الذي سيقوم بقراءة زرين وعندما يتم الضغط على الزر B0 ، سيتم إرسال أمر لإضاءة المصباح الأحمر وعند الضغط على الزر B1 سيضيء المصباح الأزرق.

لإيقاف تشغيل المصابيح ، ما عليك سوى الضغط على B0 أو B1 لإيقاف تشغيل المصباح المعني.




في Arduino Uno ، سيكون لدينا زر B0 متصل بالدبوس الرقمي 2 من Arduino Uno والزر B1 متصل بالدبوس الرقمي 3 من Arduino Uno.

يتم تنشيط كلا الزرين عند مستوى منطقي منخفض عند الضغط على الأزرار.

لإنشاء اتصال تسلسلي ، سنستخدم المكتبة التي تسمى البرنامج التسلسلي لتكوين هذين المسامير 7 و 8 كدبابيس اتصال تسلسلي ، أي أننا سنحاكي اتصالًا تسلسليًا بواسطة البرنامج.

اتصال HC-12 على Arduino Nano الذي سيكون جهاز الاستقبال هو نفس دائرة الإرسال ، سيكون الاختلاف هو وجود مصابيح LED على المسامير الرقمية 4 و 3.



بعد تجميع دائرتي الإرسال والاستقبال ، سنبرمج الدائرتين.

أولاً ، لدينا كود المرسل. يتم تقديم رمز المصدر أدناه.

        #include <SoftwareSerial.h> // Inclui a biblioteca Software Serial
SoftwareSerial HC12(8,7); // 8 RX vai ligado no Tx do modulo HC 12, 7 TX vai
ligado no RX do módulo
#define B0 2
#define B1 3
void setup()
{
 pinMode(B0,INPUT);
 pinMode(B1,INPUT);
 Serial.begin(9600);
 HC12.begin(9600);
}
void loop() 
{
 if(!digitalRead(B0))
 {
 Serial.println("B0 pressionado ");
 Serial.print('1');
 HC12.print('1');

 while(digitalRead(B0)==0);
 }
if(!digitalRead(B1))
 {
 Serial.println("B1 pressionado ");
 Serial.print('2');
 HC12.print('2');

 while(digitalRead(B1)==0);
 }
}
         أولاً ، قمنا بتضمين مكتبة البرامج التسلسلية حتى نتمكن من استخدام أي دبوس رقمي كدبوس TX أو RX لاستخدامه كجهاز إرسال بيانات.   
#include <SoftwareSerial.h> // Inclui a biblioteca Software Serial
    
نقوم بإنشاء كائن باستخدام المسامير التي ستؤدي الاتصال التسلسلي.        SoftwareSerial HC12(8,7); // 8 RX vai ligado no Tx do modulo HC 12, 7 TX vai
ligado no RX do módulo
    
نقوم بتسمية المسامير 2 B0 و 3 B1 باستخدام التعريف ، كما هو موضح أدناه.        #define B0 2 
#define B1 3
    
في وظيفة الإعداد الفارغ ، يتم تكوين المسامير 2 و 3 كمدخلات ، وتكوين سرعة الاتصال التسلسلي لـ USB والاتصال التسلسلي مع وحدة HC-12.        void setup()
{
 pinMode(B0,INPUT);
 pinMode(B1,INPUT);
 Serial.begin(9600);
 HC12.begin(9600);
}




ليست هناك تعليقات:

إرسال تعليق