- المكونات المطلوبة لقارب Arduino RC
- 433 ميجا هرتز وحدات الإرسال والاستقبال RF
- 433 ميجا هرتز RF الارسال
- رسم تخطيطي لجهاز إرسال قارب Arduino RC
- مخطط الدائرة لجهاز التحكم عن بعد Arduino RC (المرسل)
- بناء دائرة إرسال قارب RC
- بناء حاوية جهاز إرسال قارب Arduino RC
- وحدة استقبال 433 ميجا هرتز
- رسم تخطيطي لمستقبل القارب Arduino RC
- مخطط الدائرة لجهاز استقبال قارب Arduino RC
- بناء دائرة استقبال قارب Arduino RC
- بناء RC-BOAT
- المحركات والمراوح لقارب اردوينو الجوي
- عمل قارب اردوينو RC
- برمجة Arduino لقارب RC
في هذا المشروع ، سنقوم ببناء Arduino Air-Boat الذي يتم التحكم فيه عن بعد والذي يمكن التحكم فيه لاسلكيًا باستخدام وحدات راديو RF 433 ميجا هرتز. سوف نتحكم في هذا القارب باستخدام جهاز تحكم عن بعد محلي الصنع من خلال بناء جهاز إرسال 433 ميجا هرتز ووحدة استقبال. في حالة الأجهزة التي يتم التحكم فيها عن بعد أو الاتصال بين جهازين ، لدينا الكثير من الخيارات مثل الأشعة تحت الحمراء ، والبلوتوث ، والإنترنت ، والترددات اللاسلكية ، وما إلى ذلك. عند مقارنتها باتصالات الأشعة تحت الحمراء ، تتمتع الاتصالات الراديوية ببعض المزايا مثل نطاق أكبر وليس تتطلب خط رؤية اتصال بين المرسل والمستقبل. أيضًا ، يمكن لهذه الوحدات أن تقوم بطريقتين للتواصل ، مما يعني أنه يمكنها الإرسال والاستقبال في نفس الوقت. لذا باستخدام وحدة التردد اللاسلكي 433 ميجاهرتز ، دعونا نبني قارب Arduino RC في هذا البرنامج التعليمي.
لقد قمنا سابقًا ببناء العديد من المشاريع التي يتم التحكم فيها عن بُعد باستخدام وحدات التردد اللاسلكي 433 ميجا هرتز إما للتحكم في روبوت مثل هذا الروبوت الذي يتم التحكم فيه عن طريق التردد اللاسلكي أو لتطبيقات أتمتة المنزل للتحكم في الأجهزة المنزلية باستخدام الترددات اللاسلكية. بصرف النظر عن استخدام وحدات RF ، قمنا أيضًا ببناء سيارة Raspberry Pi Car التي يتم التحكم فيها عن طريق البلوتوث وهاتف DTMF المحمول الذي تم التحكم فيه بواسطة Arduino Robot مسبقًا. يمكنك أيضًا التحقق من هذه المشاريع إذا كنت مهتمًا.
المكونات المطلوبة لقارب Arduino RC
- 433 ميجا هرتز الارسال والاستقبال
- Arduino (أي Arduino ، لتقليل الحجم الذي أستخدمه بروميني)
- HT12E و HT12D
- أزرار الضغط - 4Nos
- المقاومات- 1 ميجا أوم ، 47 كيلو أوم
- سائق محرك L293d
- بطارية 9 فولت (أنا أستخدم بطارية 7.4 فولت) - عدد 2
- منظم 7805- عدد 2
- محركات التيار المستمر- عدد 2
- أوراق المحرك أو المراوح (أنا أستخدم مراوح محلية الصنع) - عدد 2
- .1 فائق التوهج مكثف- 2Nos
- ثنائي الفينيل متعدد الكلور مشترك
433 ميجا هرتز وحدات الإرسال والاستقبال RF
تحظى هذه الأنواع من وحدات التردد اللاسلكي بشعبية كبيرة بين صانعيها. بسبب تكلفتها المنخفضة وبساطتها في التوصيلات. هذه الوحدات هي الأفضل لجميع أشكال مشاريع الاتصالات قصيرة المدى. هذه الوحدات هي ASK (Amplitude Shift Keying) من نوع ASK (Amplitude Shift Keying) ، و Amplitude-shift keying (ASK) هو شكل من أشكال تعديل السعة الذي يمثل البيانات الرقمية كتغيرات في اتساع موجة الموجة الحاملة. في نظام ASK ، يتم تمثيل الرمز الثنائي 1 بإرسال موجة حاملة ذات اتساع ثابت وتردد ثابت لمدة بتة T ثانية. إذا كانت قيمة الإشارة 1 ، فسيتم إرسال إشارة الناقل ؛ خلاف ذلك ، سيتم إرسال قيمة إشارة 0. هذا يعني أنهم عادة لا يستمدون أي قوة عند نقل المنطق "صفر". هذا الاستهلاك المنخفض للطاقة يجعلها مفيدة جدًا في المشاريع التي تعمل بالبطاريات.
433 ميجا هرتز RF الارسال
هذا النوع من الوحدات صغير جدًا ويأتي مع 3 دبابيس VCC والأرضي والبيانات. تأتي بعض الوحدات الأخرى مع دبوس هوائي إضافي. جهد العمل لوحدة الإرسال هو 3V-12V وهذه الوحدة لا تحتوي على أي مكونات قابلة للتعديل. واحدة من المزايا الرئيسية لهذه الوحدة هي الاستهلاك الحالي المنخفض ، فهي تتطلب تيارًا صفرًا تقريبًا لإرسال بت صفر.
رسم تخطيطي لجهاز إرسال قارب Arduino RC
في مخطط الكتلة أعلاه ، هناك أربعة أزرار انضغاطية (أزرار التحكم) ، هذه الأزرار الانضغاطية مخصصة للتحكم في اتجاه القارب. لدينا أربعة منهم للأمام والخلف واليسار واليمين. من الأزرار الانضغاطية ، نحصل على منطق للتحكم في القارب ولكن لا يمكننا الاتصال مباشرة بجهاز التشفير لهذا السبب استخدمنا Arduino. قد تفكر في سبب استخدامي لـ Arduino هنا ، لأنه ببساطة لأننا نحتاج إلى سحب مدخلي بيانات متوازيين من المشفر في نفس الوقت لحركة للخلف والأمام لا يمكن تحقيقها باستخدام أزرار الضغط فقط. ثم يقوم المشفر بتشفير البيانات المتوازية القادمة إلى المخرجات التسلسلية. ثم يمكننا نقل تلك البيانات التسلسلية بمساعدة جهاز إرسال RF.
مخطط الدائرة لجهاز التحكم عن بعد Arduino RC (المرسل)
في الدائرة أعلاه ، يمكنك رؤية جانب واحد من الأزرار الضاغطة الأربعة المتصلة بأربعة دبابيس رقمية من Arduino (D6-D9) وجميع الجوانب الأربعة الأخرى المتصلة بالأرض. هذا عندما نضغط على الزر ، تحصل المسامير الرقمية المقابلة على منطق منخفض. المداخل الأربعة المتوازية لمشفر HT12E متصلة بأربعة دبابيس رقمية أخرى من Arduino (D2-D5). لذلك بمساعدة Arduino ، يمكننا تحديد إدخال المشفر.
والحديث عن جهاز التشفير HT12E عبارة عن جهاز تشفير 12 بت ومشفّر إخراج تسلسلي دخل متوازي. من بين 12 بت ، 8 بتات هي بتات عنوان يمكن استخدامها للتحكم في أجهزة استقبال متعددة. المسامير A0-A7 هي دبابيس إدخال العنوان. في هذا المشروع ، نتحكم في جهاز استقبال واحد فقط ، لذلك لا نريد تغيير عنوانه ، لذلك قمت بتوصيل جميع دبابيس العنوان بالأرض. إذا كنت تريد التحكم في أجهزة استقبال مختلفة بجهاز إرسال واحد ، فيمكنك استخدام مفاتيح dip هنا. AD8-AD11 هي مدخلات بت التحكم. ستتحكم هذه المدخلات في مخرجات D0-D3 لوحدة فك التشفير HT12D. نحتاج إلى توصيل مذبذب للاتصال ويجب أن يكون تردد المذبذب 3 كيلو هرتزلتشغيل 5V. ثم ستكون قيمة المقاوم 1.1MΩ لـ 5V. ثم قمت بتوصيل إخراج HT12E بوحدة الإرسال. لقد ذكرنا بالفعل ، وحدة الإرسال Arduino و rf ، كلا الجهازين يعملان بجهد عالي 5V سيقتلها ، لذا لتجنب ذلك ، أضفت 7805 ، منظم الجهد. الآن يمكننا توصيل (Vcc) 6-12 فولت أي نوع من البطاريات للإدخال.
بناء دائرة إرسال قارب RC
لقد قمت بلحام كل مكون على ثنائي الفينيل متعدد الكلور مشترك. تذكر أننا نعمل على مشروع RF ، لذلك هناك الكثير من الفرص لأنواع مختلفة من التداخلات ، لذا قم بتوصيل جميع المكونات بشكل وثيق قدر الإمكان. من الأفضل استخدام رؤوس دبوس أنثى في Arduino ووحدة الإرسال. حاول أيضًا لحام كل شيء على الوسادات النحاسية بدلاً من استخدام أسلاك إضافية. أخيرًا ، قم بتوصيل سلك صغير بوحدة الإرسال التي ستساعد على زيادة النطاق الإجمالي. قبل توصيل وحدة Arduino ووحدة الإرسال ، تحقق جيدًا من جهد خرج lm7805.
تُظهر الصورة أعلاه المنظر العلوي لدائرة إرسال RC Boat المكتملة ويظهر أدناه العرض السفلي لدائرة مرسل RC Boat المكتملة.
بناء حاوية جهاز إرسال قارب Arduino RC
الجسم اللائق ضروري لجهاز التحكم عن بعد. هذه الخطوة تدور حول أفكارك ، يمكنك إنشاء جسم بعيد بأفكارك. أنا أشرح كيف صنعت هذا. لصنع جسم بعيد ، اخترت ألواح MDF مقاس 4 مم ، ويمكنك أيضًا اختيار الخشب الرقائقي أو لوح الرغوة أو الورق المقوى ، ثم قطعت قطعتين من ذلك بطول 10 سم وعرض 5 سم. ثم قمت بتمييز مواضع الأزرار. لقد وضعت أزرار الاتجاه على الجانب الأيسر والأزرار الأمامية والخلفية على اليمين. على الجانب الآخر من الورقة ، قمت بتوصيل الأزرار الانضغاطية بدائرة الإرسال الرئيسية. تذكر أن زر الضغط العادي يحتوي على 4 دبابيس عبارة عن دبابيس لكل جانب. قم بتوصيل دبوس واحد بـ Arduino والدبوس الآخر بالأرض. إذا كنت مرتبكًا في ذلك ، فيرجى التحقق منه باستخدام مقياس متعدد أو التحقق من ورقة البيانات.
بعد توصيل كل هذه الأشياء ، وضعت دائرة التحكم بين لوحي MDF وشدتها ببعض البراغي الطويلة (يرجى الرجوع إلى الصور أدناه إذا كنت تريد). مرة أخرى ، إنشاء جسم جيد هو كل شيء عن أفكارك
وحدة استقبال 433 ميجا هرتز
هذا جهاز الاستقبال صغير جدًا أيضًا ويأتي مع 4 دبابيس VCC ، والأرضي ، والدبابيس الوسطى عبارة عن بيانات. جهد العمل لهذه الوحدة هو 5 فولت. مثل وحدة الإرسال ، هذه أيضًا وحدة منخفضة الطاقة. تأتي بعض الوحدات مع دبوس هوائي إضافي ولكن في حالتي ، هذا غير موجود.
رسم تخطيطي لمستقبل القارب Arduino RC
يصف مخطط الكتلة أعلاه عمل دارة مستقبل الترددات اللاسلكية. أولاً ، يمكننا استقبال الإشارات المرسلة باستخدام وحدة استقبال الترددات اللاسلكية. خرج جهاز الاستقبال هذا عبارة عن بيانات تسلسلية. لكن لا يمكننا التحكم في أي شيء باستخدام هذه البيانات التسلسلية ، ولهذا السبب قمنا بتوصيل الإخراج بجهاز فك التشفير. تقوم وحدة فك التشفير بفك تشفير البيانات التسلسلية إلى بياناتنا الأصلية المتوازية. في هذا القسم ، لا نطلب أي وحدات تحكم دقيقة ، يمكننا توصيل المخرجات مباشرة بسائق المحرك
مخطط الدائرة لجهاز استقبال قارب Arduino RC
و HT12D هو فك 12 بت وهو المدخلات مواز المسلسل إخراج فك. سيتم توصيل دبوس الإدخال الخاص بـ HT12D بجهاز استقبال يحتوي على إخراج تسلسلي. من بين 12 بت ، 8 بت (A0-A7) عبارة عن بتات عنوان وسيقوم HT12D بفك تشفير الإدخال إذا كان يطابق عنوانه الحالي فقط. D8-D11 هي بتات الإخراج. لمطابقة هذه الدائرة مع دائرة الإرسال ، قمت بتوصيل جميع دبابيس العنوان بالأرض. البيانات الخارجة من الوحدة هي النوع التسلسلي ويقوم مفكك الشفرة بفك تشفير هذه البيانات التسلسلية إلى بيانات موازية أصلية ونخرج من خلال D8-D11. لمطابقة تردد التذبذب ، يجب توصيل المقاوم 33-56k بدبابيس المذبذب. يشير الصمام الموجود على الدبوس السابع عشر إلى الإرسال الصحيح ، إلا أنه يضيء فقط بعد توصيل جهاز الاستقبال بجهاز إرسال. دخل الجهد للمستقبل هو أيضًا 6-12 فولت.
للتحكم في المحركات ، استخدمت L293D IC ، اخترت هذا IC لأنه لتقليل الحجم والوزن وهذا IC هو الأفضل للتحكم في محركين في اتجاهين. يحتوي L293D على 16 دبوسًا ، ويوضح الرسم البياني أدناه نقاط التثبيت.
1 ، 9 دبابيس هي دبوس التمكين ، نقوم بتوصيل ذلك بـ 5 فولت لتمكين المحركات 1A و 2A و 3A و 4A هي دبابيس التحكم. سوف يتحول المحرك إلى اليمين إذا انخفض الدبوس 1A وارتفع 2A ، وسيتحول المحرك إلى اليسار إذا انخفض 1A و 2A مرتفعًا. لذلك قمنا بتوصيل هذه المسامير بمخرج ps لوحدة فك التشفير. 1Y ، 2Y ، 3Y ، 4Y هي دبابيس توصيل المحرك. Vcc2 هو دبوس جهد المحرك ، إذا كنت تستخدم محركًا عالي الجهد ، فقم بتوصيل هذا الدبوس بمصدر الجهد المقابل.
بناء دائرة استقبال قارب Arduino RC
قبل إنشاء دائرة الاستقبال ، يجب أن تتذكر بعض الأشياء المهمة. المهم هو الحجم والوزن لأنه بعد بناء الدائرة ، نحتاج إلى إصلاحها على القارب. فإذا زاد الوزن سيؤثر ذلك على الطفو والحركة.
كما هو الحال في دائرة الإرسال ، قم بتوصيل كل مكون في ثنائي الفينيل متعدد الكلور صغير وحاول استخدام الحد الأدنى من الأسلاك. لقد قمت بتوصيل دبوس 8 من سائق المحرك بـ 5 فولت لأنني أستخدم محركات 5 فولت.
بناء RC-BOAT
لقد جربت مواد مختلفة لبناء جسم القارب. وحصلت على نتيجة أفضل مع ورقة thermocol. لذلك قررت بناء الجسم بالحرارة. أولاً ، أخذت قطعة ثيرموكول بسمك 3 سم ووضعت دائرة الاستقبال في الأعلى ، ثم حددت شكل القارب في ثيرموكول وقصته. هذه طريقتي لبناء القارب ، يمكنك البناء وفقًا لأفكارك.
المحركات والمراوح لقارب اردوينو الجوي
مرة أخرى يهم الوزن. لذا فإن اختيار المحرك الصحيح أمر مهم ، فأنا أختار محركات تيار مستمر من النوع 5 فولت ، n20 صغيرة الحجم وخالية من الوزن. لتجنب تدخلات الترددات اللاسلكية ، يجب توصيل مكثف 0.1 فائق التوهج موازٍ لمدخلات المحرك.
في حالة المراوح ، قمت بصنع مراوح باستخدام ألواح بلاستيكية. يمكنك شراء مراوح من المتجر أو يمكنك بناء كلاهما سيعمل بشكل جيد. لبناء المراوح ، أولاً ، أخذت لوحًا بلاستيكيًا صغيرًا وقطعت منه قطعتين صغيرتين وأثني القطع بمساعدة حرارة الشمعة. أخيرًا ، وضعت ثقبًا صغيرًا في وسطه للمحرك وثبته بالمحرك هذا كل شيء.
عمل قارب اردوينو RC
يحتوي هذا القارب على محركين دعنا نسميه اليسار واليمين إذا كان المحرك يتحرك في اتجاه عقارب الساعة أيضًا (يعتمد موضع المروحة أيضًا) ، يمتص الدافع الهواء من الأمام والعادم إلى الخلف. هذا يولد السحب إلى الأمام.
الحركة إلى الأمام: إذا كان كلا المحركين الأيسر والأيمن يدوران في اتجاه عقارب الساعة ، فسيؤدي ذلك إلى الأمام
الحركة الخلفية: إذا كان كلا المحركين الأيسر والأيمن يدوران عكس اتجاه عقارب الساعة (هذا هو المروحة تمتص الهواء من المؤخرة والعادم إلى الجانب الأمامي) مما يجعل الحركة للخلف
الحركة اليسرى: إذا كان المحرك الأيمن فقط يدور ، فهذا هو القارب يسحب فقط من الجانب الأيمن الذي سينتقل القارب إلى الجانب الأيسر
الحركة اليمنى: في حالة دوران المحرك الأيسر فقط ، فإن هذا القارب يسحب فقط من الجانب الأيسر مما يجعل القارب يتحرك إلى الجانب الأيمن.
لقد قمنا بتوصيل مدخلات مشغل المحركات بأربع بتات إخراج لوحدة فك التشفير (D8-D11). يمكننا التحكم في هذه المخرجات الأربعة عن طريق توصيل AD8-AD11 بالأرض وهي الأزرار الموجودة في جهاز التحكم عن بُعد. على سبيل المثال ، إذا قمنا بتوصيل AD8 بالأرض ، فسيتم تنشيط D8. بهذه الطريقة يمكننا التحكم في المحركين في اتجاهين باستخدام هذه المخرجات الأربعة. لكن لا يمكننا التحكم في محركين بواسطة زر واحد فقط (نحتاج إلى ذلك للحركة إلى الأمام والخلف) ولهذا السبب استخدمنا Arduino. بمساعدة Arduino ، يمكننا تحديد دبابيس بيانات الإدخال حسب رغبتنا.
برمجة Arduino لقارب RC
برمجة هذا القارب بسيطة للغاية لأننا نريد فقط بعض التبديل المنطقي. ويمكننا تحقيق كل شيء باستخدام وظائف Arduino الأساسية. يمكن العثور على البرنامج الكامل لهذا المشروع في أسفل هذه الصفحة. شرح برنامجك كالتالي
نبدأ البرنامج بتحديد الأعداد الصحيحة لأربعة أزرار إدخال ودبابيس مدخلات وحدة فك التشفير.
int f_button = 9 ؛ int b_button = 8 ؛ int l_button = 7 ؛ int r_button = 6 ؛ int m1 = 2 ؛ int m2 = 3 ؛ int m3 = 4 ؛ int m4 = 5 ؛
في قسم الإعداد ، حددت أوضاع الدبوس. أي أن الأزرار متصلة بمسامير رقمية لذا يجب تحديد هذه المسامير كمدخلات ونحتاج إلى الحصول على إخراج لمدخل وحدة فك التشفير لذلك يجب أن نحدد هذه المسامير كإخراج.
pinMode (f_button ، INPUT_PULLUP) ، pinMode (b_button ، INPUT_PULLUP) ، pinMode (l_button ، INPUT_PULLUP) ، pinMode (r_button ، INPUT_PULLUP) ، pinMode (m1 ، الإخراج) ؛ pinMode (م 2 ، الإخراج) ؛ pinMode (m3 ، الإخراج) ؛ pinMode (m4 ، الإخراج) ؛
بعد ذلك في وظيفة الحلقة الرئيسية ، سنقرأ حالة الزر باستخدام وظيفة القراءة الرقمية في Arduino. إذا كانت حالة الدبوس منخفضة ، فهذا يعني أنه تم الضغط على الدبوس المقابل ، فسنقوم بتنفيذ الشروط على النحو التالي-
إذا (قراءة رقمية (f_button) == منخفضة)
هذا يعني أن زر الأمام مضغوط
{ digitalWrite (m1، LOW) ؛ الكتابة الرقمية (m3 ، منخفضة) ؛ الكتابة الرقمية (م 2 ، عالية) ؛ الكتابة الرقمية (m4 ، عالية) ؛ }
سيؤدي هذا إلى سحب m1 و m2 من المشفر ، مما يؤدي إلى تنشيط كلا المحركين على جانب المستقبل. وبالمثل ، للحركة المتخلفة
{ digitalWrite (m1، HIGH) ؛ الكتابة الرقمية (m3 ، عالية) ؛ الكتابة الرقمية (م 2 ، منخفضة) ؛ الكتابة الرقمية (m4 ، منخفضة) ؛ }
للحركة اليسرى
{ digitalWrite (m1، LOW) ؛ الكتابة الرقمية (m3 ، عالية) ؛ الكتابة الرقمية (م 2 ، عالية) ؛ الكتابة الرقمية (m4 ، عالية) ؛ }
للحركة الصحيحة
{ digitalWrite (m1، HIGH) ؛ الكتابة الرقمية (m3 ، منخفضة) ؛ الكتابة الرقمية (م 2 ، عالية) ؛ الكتابة الرقمية (m4 ، عالية) ؛ }
بعد تجميع الكود ، قم بتحميله على لوحة Arduino الخاصة بك.
استكشاف الأخطاء وإصلاحها: ضع القارب على سطح الماء وتحقق مما إذا كان يتحرك بشكل صحيح إذا لم تحاول تغيير قطبية المحركات والمراوح. حاول أيضًا موازنة الوزن.
يمكن العثور على العمل الكامل للمشروع في الفيديو المرتبط أسفل هذه الصفحة. إذا كان لديك أي أسئلة اتركها في قسم التعليقات.