كيفية إعادة الضبط Arduino Uno بواسطة البرنامج: شرح الأساليب

  • تم إعادة تعيين البرنامج في Arduino Uno يمكن القيام بذلك باستخدام مؤشرات الوظيفة أو باستخدام دبوس رقمي.
  • تتم إعادة الضبط تلقائيًا عند توصيل اللوحة عبر USB بسبب التحكم في تدفق ATmega8U2.
  • يمكن تعطيل إعادة الضبط هذه عن طريق قطع أثر على لوحة Arduino لمنع عمليات إعادة الضبط غير المرغوب فيها.

كيفية التعرف على لوحة Arduino-4 المزيفة

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

في هذه المقالة سنرى طرقًا مختلفة لإعادة تشغيل Arduino Uno من خلال الكود، من استخدام مؤشرات الوظيفة إلى استخدام الدبابيس الرقمية لتوليد إعادة تعيين خارجية. وسوف نستكشف أيضًا كيفية عمل إعادة الضبط التلقائي عند الاتصال عبر المنفذ التسلسلي وكيفية تجنبها إذا تسببت في مشاكل في مشاريعنا.

إعادة Arduino Uno استخدام مؤشرات الوظيفة

واحدة من أكثر الطرق استخدامًا لإعادة تشغيل Arduino Uno من الكود هو استخدام مؤشر الوظيفة. الفكرة هي تعيين عنوان الذاكرة 0 لمؤشر وظيفة واستدعائه حتى يقوم المعالج بتنفيذ إعادة تعيين النظام. يمكنك معرفة المزيد عن المشاريع ذات الصلة في دليل Arduino Uno.

الكود الأساسي لهذه الطريقة هو كما يلي:

String letra = "";  
int x = 2;  

void(* resetSoftware)(void) = 0;  

void setup(){  
  Serial.begin(9600);  
  Serial.println("Iniciando.");  
}  

void loop() {  
  if (Serial.available() > 0) {  
    letra = Serial.readString();  
    Serial.println(letra);  
    if(letra.indexOf("v") > -1){  
      x = x + 5;  
      Serial.println(x);  
      Serial.println("Reseteado.");  
      delay(500);  
      resetSoftware();  
    }  
  }  
}  

في هذه الحالة، عندما يتم إرسال الحرف "v" إلى Serial Monitor، تقوم اللوحة بإضافة 5 إلى المتغير x، يطبع القيمة الجديدة ثم ينفذ إعادة التعيين عن طريق استدعاء إعادة تعيين البرنامج. يؤدي هذا إلى إرجاع المتحكم الدقيق إلى حالته الأولية كما لو تم الضغط على زر إعادة الضبط. بالنسبة لطرق البرمجة الأخرى، يمكنك الرجوع إلى دليل استخدام millis في Arduino.

إعادة تعيين Arduino Uno استخدام رقم التعريف الشخصي الرقمي

طريقة أخرى لإجراء إعادة تعيين ناعمة هي ربط دبوس رقمي بدبوس إعادة الضبط من اللوحة. يتم تحقيق ذلك من خلال سلك بسيط بين دبوس الإخراج (مثل 10) ودبوس RESET الخاص بـ Arduino. تعتبر هذه الطريقة مفيدة إذا كنت تبحث عن حل سريع دون تعديل أداة تحميل التشغيل.

الكود لهذه الطريقة هو كما يلي:

String letra = "";  
int x = 2;  

void setup(){  
  digitalWrite(10, HIGH);  
  Serial.begin(9600);  
  Serial.println("Iniciando.");  
  pinMode(10, OUTPUT);  
}  

void loop() {  
  if (Serial.available() > 0) {  
    letra = Serial.readString();  
    Serial.println(letra);  
    if(letra.indexOf("v") > -1){  
      x = x + 5;  
      Serial.println(x);  
      Serial.println("Reseteado.");  
      delay(500);  
      digitalWrite(10, LOW);  
    }  
  }  
}  

في هذه الحالة، يؤدي إرسال الحرف "v" عبر Serial Monitor إلى خفض الحالة المنطقية للدبوس 10، مما يتسبب في إعادة تعيين اللوحة. إنه بديل عملي عندما تحتاج إلى إعادة تشغيل النظام من البرنامج دون تعديل كود أداة تحميل التشغيل. إذا كنت بحاجة إلى مزيد من المعلومات حول اتصال Arduino، فنوصيك بقراءة المزيد حول اردوينو نانو.

إعادة الضبط التلقائي لـ Arduino عند الاتصال عبر المنفذ التسلسلي

لوحات Arduino Uno تحتوي على آلية إعادة تعيين تلقائية عند إنشاء اتصال عبر المنفذ التسلسلي. يحدث هذا لأن خط DTR لشريحة ATmega8U2 متصل بمكثف 100 nF بخط إعادة الضبط لمعالج ATmega328. عندما يتم تنشيط DTR، يتم إنشاء نبضة على خط إعادة الضبط مما يتسبب في إعادة تشغيل Arduino. تُعد هذه ميزة مفيدة في العديد من المشاريع، مثل تلك التي تتضمن شاشات OLED، والتي يمكنك استكشافها في دليل شاشات OLED مقاس 0.96 بوصة.

هذه الآلية تسمح محمل التمهيد توفر وقت انتظار أقصر وتسهل تحميل البرامج الجديدة دون الحاجة إلى الضغط على زر إعادة الضبط يدويًا. ومع ذلك، في بعض الحالات قد يكون هذا بمثابة عيب إذا كان الكود يعتمد على اتصال تسلسلي ثابت.

كيفية تجنب إعادة الضبط التلقائي عند استخدام USB

إذا كانت إعادة الضبط التلقائي عند توصيل Arduino بالكمبيوتر تسبب مشاكل في تشغيل المشروع، فهناك حل بسيط لتعطيلها. تتضمن اللوحة مسار صغير يمكن قطعه لتجنب هذا السلوك. يمكن إجراء هذا التعديل بسهولة إذا كنت تعرف أساسيات الإلكترونيات، كما هو موضح في دليل محركات السائر.

للقيام بذلك، ما عليك سوى تحديد الأثر الموجود في أسفل اللوحة بالقرب من موصل USB وقطعه باستخدام قاطع أو مشرط. إذا كان من الضروري استعادة ميزة إعادة التشغيل التلقائي في المستقبل، فيمكن إعادة تمكينها عن طريق لحام وصلة صغيرة بين النقطتين على المسار.

إن معرفة كيفية تعطيل إعادة الضبط التلقائي توفر تحكمًا أكبر في كيفية تصرف Arduino عند تلقي البيانات من الكمبيوتر. إتقان هذه الطرق لإعادة ضبط Arduino Uno إنه يوفر مرونة أكبر في تطوير المشاريع الإلكترونية، مما يسمح بالأتمتة وتصحيح الأخطاء وتحسين سلوك الأنظمة المضمنة دون الحاجة إلى تدخل يدوي.

الوكالة الدولية للطاقة اردوينو
المادة ذات الصلة:
اردوينو الوكالة الدولية للطاقة: كيف يعمل

كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.