جدول المحتويات:
- الخطوة 1: الأشياء التي قد تحتاجها …
- الخطوة 2: قم بتوصيل الجهاز
- الخطوة 3: برمجة Arduino
- الخطوة 4: تثبيت البرنامج
- الخطوة 5: استخدم برنامج الواجهة
- الخطوة 6: كن مبدعا
فيديو: وحدة التحكم المؤازرة التسلسلية القائمة على Arduino: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:42
هذه وحدة تحكم تسلسلية بسيطة للعديد من الماكينات القائمة على Arduino. (أول تدريب لي أيضًا:))
جاء معظم العمل في هذا من جعل البرنامج يتحدث مع اردوينو وعمل بروتوكول لتمرير البيانات. بالنسبة لجانب الأجهزة ، فكل ما استخدمته هو مؤازرتان (Parallax standard servo هنا.) Sparkfun Arduino ProtoShield و Arduino Duemilanove مع ATMEGA328 ، ولكن يمكن استبدال معظم هذه الأجزاء بعناصر مماثلة. فكرت في هذا المشروع كجزء من نظام RC ، لكن إعداد الاتصال استغرق الكثير من الوقت. إذا كان لدى أي شخص أي تحسينات أو أفكار أو أخطاء ، فلا تتردد في التعليق. تحرير: لقد كتبت هذا منذ فترة ، فقط قمت بنشره مؤخرًا.
الخطوة 1: الأشياء التي قد تحتاجها …
بعض الأشياء سوف تحتاج لبناء هذا. 1. لوحة Arduino (التي تختارها) 2. مؤازرتان (أو واحد) 3. أسلاك توصيل 4. Visual Studio 2008 Express - رابط (اختياري) 5. Arduino IDE - رابط آسف لعشاق Linux و Apple ، برنامجي يعمل فقط على windows في الوقت الحالي ، ولكن لا يزال بإمكانك إرسال أوامر تسلسلية يدويًا إلى arduino دون تغيير الرمز.
الخطوة 2: قم بتوصيل الجهاز
لا يوجد شيء معقد للغاية لهذه الخطوة ، ما عليك سوى توصيل أحد المؤازرات بالرقم 9 والآخر بالرقم 10.
الخطوة 3: برمجة Arduino
الآن يمكنك تحميل الرسم التخطيطي على اردوينو.
فيما يلي تفصيل بسيط للشفرة: #include Servo myservo؛ // إنشاء كائن مؤازر للتحكم في مؤازرة myservo1 ؛ int incomingByte = 0 ، عدد البيانات = 0 ، العداد = 0 ، جاهز = 0 ؛ // لبيانات char الخاصة بالبيانات التسلسلية الواردة [10] ؛ التحقق من char const [8] = "ma11hew" ؛ أمر char [3] ؛ إعداد باطل () {myservo.attach (9) ؛ myservo1.attach (10) ، Serial.begin (38400) ؛ // يفتح المنفذ التسلسلي ، يحدد معدل البيانات Serial.println ("مرحبًا Arduino هنا!") ؛ // تمت إضافته للمساعدة في تحديد المنفذ التسلسلي. إنت أنا لـ (i = 0 ؛ i <180 ؛ i ++) {myservo.write (i) ؛ تأخير (15) ؛ } myservo.write (5) ؛ لـ (i = 0 ؛ i <180 ؛ i ++) {myservo1.write (i) ؛ تأخير (15) ؛ } myservo1.write (5) ؛ } حركة مسح بسيطة للتحقق من عمل الماكينات بشكل صحيح. حلقة باطلة () {جاهز = 0 ؛ عداد = 0 ؛ while (1 == 1) {if (Serial.read ()! = check [counter]) {break؛ } إذا (عداد == 6) {تأخير (20) ؛ الأمر [0] = Serial.read () ، الأمر [1] = Serial.read () ، // إذا (Serial.read () == ((الأمر [1] * 12)٪ 8)) // {جاهز = 1 ؛ //} Serial.println ("أمر محفوظ") ؛ } عداد ++؛ تأخير (2) ؛ } هذا يتحقق من المخزن المؤقت التسلسلي لسلسلة التفويض الصحيحة ثم يأخذ وحدتي بايت للأمر. التعليق إذا كانت العبارة تسمح بمجموع اختباري مؤقت ولكنها ستجعل الربط اليدوي صعبًا. يمكن ضبط جاهز على 0 حتى لا يتم تحليل الأوامر كما هو الحال في حالة البيانات التالفة. // ابحث من خلال الأوامر إذا (جاهز == 1) {إذا (الأمر [0] == 'T') {الأمر [0] = 0 ؛ Serial.print ("التحكم في دواسة الوقود على السن 9 إلى:") ؛ Serial.println (خريطة (أمر [1] ، 32 ، 126 ، 2 ، 180) ، DEC) ؛ myservo.write (map (أمر [1] ، 32 ، 126 ، 2 ، 180)) ؛ } إذا (الأمر [0] == 'S') {الأمر [0] = 0 ؛ Serial.print ("التحكم في الخانق على السن 10 إلى:") ؛ Serial.println (خريطة (أمر [1] ، 32 ، 126 ، 2 ، 180) ، DEC) ؛ myservo1.write (map (أمر [1] ، 32 ، 126 ، 2 ، 180)) ؛ }}} ما تبقى من الكود هو البحث في الأمر عن أوامر صالحة (T أو S.) إذا تطابق أي منهما ، فإنه يأخذ البايت التالي ويرسله إلى المؤازرة. المزيد على الخريطة (الأمر [1] ، 32 ، 126 ، 2 ، 180) لاحقًا … الكود هنا قابل للتوسيع لأي شيء آخر قد تحتاجه (مثل الأضواء والمحركات والأشعة تحت الحمراء وما إلى ذلك) يجب أن يعمل هذا الرمز بشكل جيد بدون التعديلات.
الخطوة 4: تثبيت البرنامج
لدي طريقتان لتثبيت … مثبت nsis: تنزيل برنامج التثبيت الذاتي الاستخراج أدناه وتشغيله. سيكون لديك خيار تثبيت المصادر أثناء التثبيت. تقوم الحزمة الثنائية للمثبت بتثبيت core c ++ dlls بحيث يمكن تشغيلها على جهاز كمبيوتر دون تثبيت c ++ المرئي بالفعل. بمجرد انتهاء برنامج التثبيت ، يمكنك تشغيله من سطح المكتب أو قائمة البدء. zip way (لم يتم التحقق منه): التنزيل والتشغيل ، يجب أن يعمل. يمكن. (يحتوي أرشيف zip على نفس بنية المجلد التي أنشأها المثبت ، بدون مصادر. ليس لدي جهاز بدون استوديو مرئي لاختباره ، لذا فقد لا يعمل.)
الخطوة 5: استخدم برنامج الواجهة
لاستخدام البرنامج ، حدد أولاً معدل الباود المحدد في رسم اردوينو. الإعداد الافتراضي للرسم غير المعدل هو 38400 باود ولكن يمكن تغييره ليناسب احتياجاتك لأشياء مثل ارتباط راديو أبطأ. ملاحظة: معدلات البث بالباود الأعلى من 38400 لم تكن مستقرة جدًا ، وأعتقد أن هذا بسبب امتلاء uart قبل معالجة البيانات. بعد ذلك ، حدد منفذ COM لاستخدامه. البرنامج الافتراضي هو COM4 تأكد من تغييره وإلا فسوف يتعطل البرنامج. أخيرًا ، انقر فوق فتح. إذا سارت الأمور على ما يرام ، فسيفتح البرنامج المنفذ التسلسلي المحدد بمعدل باود محدد. إذا لم يكن الأمر كذلك ، فمن المحتمل أن يتعطل البرنامج مع استثناء لم تتم معالجته. تأكد من صحة المنفذ وحاول مرة أخرى. استخدم مربعات النص لإرسال أوامر مباشرة إلى اردوينو. تقوم "الخريطة (الأمر [1] ، 32 ، 126 ، 2 ، 180)" بقياس كل 94 أمرًا ممكنًا ، * مسافة * عبر ~ ، يمكن قراءتها بواسطة اردوينو في ASCII إلى 2 إلى 180 من أجل المؤازرة. أي بايت أقل من ASCII 32 (مسافة) أو أعلى من 126 (~) يتم تعيينه افتراضيًا إلى 63 (؟) توفر أشرطة المسار واجهة جهاز توجيه للأوامر المباشرة. ترسل كل خطوة أمرًا تسلسليًا إلى اردوينو بشكل تدريجي.
الخطوة 6: كن مبدعا
فكر في أشياء رائعة تصنعها بهذا. بعض الأفكار: 1. دواسة الوقود عن بعد للسيارة. 2. جبل الكاميرا ثلاثية الأبعاد 3. العربة الجوالة تحت الماء استمتع!
موصى به:
التثبيت على الحائط لجهاز IPad كلوحة تحكم في التشغيل الآلي للمنزل ، باستخدام مغناطيس يتم التحكم فيه عن طريق المؤازرة لتنشيط الشاشة: 4 خطوات (بالصور)
التثبيت على الحائط لجهاز IPad كلوحة تحكم في التشغيل الآلي للمنزل ، باستخدام مغناطيس يتم التحكم فيه بواسطة أجهزة مؤازرة لتنشيط الشاشة: لقد أمضيت مؤخرًا بعض الوقت في أتمتة الأشياء في منزلي وحوله. أنا أستخدم Domoticz كتطبيق أتمتة المنزل الخاص بي ، راجع www.domoticz.com للحصول على التفاصيل. في بحثي عن تطبيق لوحة تحكم يعرض جميع معلومات Domoticz
كيفية تلقي البيانات من وحدة التحكم الدقيقة القائمة على STM32 إلى جهاز الكمبيوتر: 5 خطوات
كيفية تلقي البيانات من وحدة التحكم الدقيقة القائمة على STM32 إلى جهاز الكمبيوتر: هنا في هذا البرنامج التعليمي ، قمنا بنقل البيانات من وحدة التحكم الدقيقة إلى جهاز الكمبيوتر باستخدام أحد UART الخاص بـ STM32l100 mcu
وحدة التحكم في مستوى المياه القائمة على إنترنت الأشياء باستخدام NodeMCU ESP8266: 6 خطوات
جهاز التحكم في مستوى المياه المستند إلى IOT باستخدام NodeMCU ESP8266: هذا تعليمات حول كيفية إنشاء وحدة تحكم في مستوى المياه تعتمد على IOT. ميزات هذا المشروع هي: - تحديثات مستوى المياه في الوقت الفعلي على تطبيق Android. قم بتشغيل مضخة المياه تلقائيًا عندما يصل الماء إلى أقل من المستوى الأدنى. Au
وحدة التحكم عن بعد القائمة على GSM / SMS من Arduino: 16 خطوة (مع صور)
وحدة التحكم عن بعد GSM / SMS القائمة على Arduino:! ! ! تنويه ! ! بسبب ترقية برج الهاتف المحمول المحلي في منطقتي ، لم أعد قادرًا على استخدام وحدة GSM هذه. لم يعد البرج الأحدث يدعم أجهزة 2G. لذلك ، لم يعد بإمكاني تقديم أي دعم لهذا المشروع. مع هذا
اللمس بالسعة مع Evive (وحدة التحكم القائمة على Arduino): 6 خطوات (بالصور)
اللمس بالسعة مع Evive (وحدة التحكم القائمة على Arduino): هل تعرف كيف تعمل شاشة اللمس بهاتفك الذكي؟ يحتوي الهاتف الذكي على مجموعة من مستشعرات اللمس أسفل الشاشة الزجاجية. في الوقت الحاضر ، يعتمد على تقنية استشعار اللمس بالسعة وحتى اللمس اللطيف يمكن اكتشافه بسهولة. يتم استشعار اللمس السعوي