- 1. لوحة اردوينو غير معترف بها
- 2. اللوحة ليست متزامنة
- 3. لا يبدأ الرمز عند إعادة تعيين الطاقة
- 4. خطأ في توقيع الجهاز غير صالح
- 5. خطأ Launch4j
- 6. المنفذ التسلسلي قيد الاستخدام بالفعل
- 7: تحميلات Sketch بنجاح ولكن لا يحدث شيء
- 8. خطأ ارتباط غير راضٍ
- 9. رسم كبير جدا
- 10. java.lang.StackOverflowError
قد يكون البدء كمبتدئ في Arduino تحديًا كبيرًا للأشخاص الذين ليس لديهم خلفية عن الإلكترونيات ، فقد تصادف أخطاء ، قد يكون لبعضها حلول بسيطة ولكن قد يستغرق حلها أيامًا. لتسهيل الأمور قليلاً ، قمت بإنشاء قائمة تضم أكثر 10 أخطاء شائعة في Arduino بالإضافة إلى الحلول الممكنة لها.
1. لوحة اردوينو غير معترف بها
يشير هذا إلى الموقف الذي لا يتعرف فيه الكمبيوتر على لوحة Arduino المتصلة بجهاز الكمبيوتر. عندما يحدث هذا ، لا يتم إدراج اللوحة عادةً ضمن قوائم منافذ Arduino IDE ويتم تسميتها أحيانًا بـ USB2.0 ضمن مدير الجهاز.
المحلول
يحدث هذا عند استخدام بعض نسخ Arduino الرخيصة التي تستخدم CH340g USB إلى شريحة المحول التسلسلي بدلاً من FTDI (FT232RL) وغيرها التي تستخدمها لوحات Arduino القياسية. يتم دائمًا حزم برامج تشغيل USB إلى شرائح التسلسلية التي تستخدمها لوحات Arduino القياسية جنبًا إلى جنب مع ملف إعداد Arduino IDE ، لذلك عند تثبيت IDE ، يتم تثبيت برامج التشغيل تلقائيًا على جهاز الكمبيوتر الخاص بك. لتتمكن من استخدام لوحات Arduino القائمة على محول CH340g USB إلى المسلسل ، سيتعين عليك تنزيل برنامج تشغيل الشريحة وتثبيته. يمكن تنزيل برنامج التشغيل من هذا الرابط. تثبيته بسيط مثل النقر فوق زر التثبيت على واجهة الإعداد الموضحة أدناه.
بعد القيام بذلك ، يجب أن تكون الآن قادرًا على تحديد موقع المنفذ الذي تتصل به اللوحة على Arduino IDE.
2. اللوحة ليست متزامنة
عادةً ، عندما يحدث هذا ، لن تتمكن من تحميل الكود (على الرغم من أن IDE سيعرض أحيانًا "تم التحميل") إلى لوحة Arduino وسيعرض IDE رمز الخطأ ؛ “ avrdude: stk500_getsync (): غير متزامن: resp = 0x00 ”.
المحلول
و تزامن: التركيب = 0x00 هي استجابة العامة التي تترجم إلى " رقاقة ATMEGA لا يعمل " على اردوينو. عندما يحدث هذا ، هناك مجموعة كاملة من الأشياء التي يمكن أن تكون خاطئة. فيما يلي بعض الخطوات التي يمكن اتخاذها لمسح هذا الخطأ.
1. تأكد من عدم وجود أي شيء متصل بالدبابيس الرقمية 0 و 1 على Arduino (بما في ذلك الدروع).
2. تأكد من اختيار منفذ com واللوحة الصحيحة ضمن قائمة الأدوات.
3. اضغط على زر إعادة الضبط على Arduino عدة مرات وأعد تحميل الكود.
4. افصل Arduino وأعد توصيله بجهاز الكمبيوتر.
5. أعد تشغيل Arduino IDE.
إذا لم ينجح أي من هذا ، فقد يكون الوقت قد حان لمحاولة استخدام لوحة Arduino مختلفة مع الكمبيوتر الشخصي أو استخدام لوحة Arduino "المعيبة" مع كمبيوتر آخر. من المفترض أن يساعدك هذا في تحديد أصل المشكلة. إذا اكتشفت أن المشكلة تتعلق بجهاز الكمبيوتر ، فأعد تثبيت Arduino IDE. ومع ذلك ، إذا كانت لوحة Arduino "الخاطئة" هي مصدر المشكلة ، فسيكون الحل النهائي هو تحديث اللوحة باستخدام برنامج Arduino الثابت. إذا لم ينجح أي مما سبق ، فقد يكون الوقت قد حان لتغيير لوحة Arduino.
3. لا يبدأ الرمز عند إعادة تعيين الطاقة
يشير هذا إلى الحالات التي لا يقوم فيها Arduino بتشغيل الرسم الذي تم تحميله إليه عند تشغيله وفي معظم الحالات ، يعود فقط إلى الرسم التخطيطي الوامض المرتبط بأداة تحميل التشغيل.
المحلول
تمامًا مثل المشكلات الأخرى التي تم علاجها ، هناك عدد من الأشياء التي يمكن أن تسبب ذلك.
إذا توقفت اللوحة ولم تفعل شيئًا ، فيجب عليك التحقق من الكود للتأكد من أنك لا ترسل بيانات تسلسلية إلى اللوحة فور ظهورها. عندما يتم تشغيل Arduino ، فإن أداة تحميل التشغيل ، في الثواني القليلة الأولى ، تستمع إلى الكمبيوتر لإرسال رسم تخطيطي جديد لتحميله على اللوحة. إذا لم يتم استلام رسم تخطيطي جديد ، فبعد فترة قصيرة ، تنتهي مهلة أداة تحميل التشغيل وتشغيل آخر رسم تم تحميله على اللوحة. إذا كان الرمز الخاص بك يرسل بيانات تسلسلية خلال الدقائق القليلة الأولى ، فلن تنتهي مهلة أداة تحميل التشغيل ولن يبدأ الرسم التخطيطي الأخير الذي تم تحميله على اللوحة.
إذا كان إرسال البيانات التسلسلية بمجرد ظهور اللوحة جزءًا مهمًا من مشروعك ، فقد تحتاج إلى إيجاد طريقة لمنحها بعض التأخير لإيقاف وصول البيانات التسلسلية فور ظهور Arduino. إذا كان إجراء التعديلات سيؤثر على المهمة التي سيقوم المشروع بتنفيذها ، فقد تضطر إلى تحميل الرسم التخطيطي الخاص بك على اللوحة باستخدام مبرمج خارجي ، حيث يمكن تجاوز أداة تحميل التشغيل بواسطتهم.
إذا لم يتم تعليق اللوحة ولكنها عادت إلى رسم وميض Arduino (يومض Led على دبوس 13 بين الحين والآخر) ، فسيتمثل الإصلاح المباشر في وميض اللوحة باستخدام أداة تحميل التشغيل Arduino ، حيث قد تكون اللوحة الموجودة على اللوحة تالفة.
4. خطأ في توقيع الجهاز غير صالح
يتم عرض هذا الخطأ عند إجراء محاولة لتحميل التعليمات البرمجية ، إلى لوحة ، مختلفة عن تلك المحددة ضمن الأدوات> قائمة اللوحة في Arduino IDE. يحدث هذا الخطأ عادةً نتيجة اختلاف توقيع الجهاز على اللوحة الهدف عن توقيع اللوحة المحدد في IDE.
المحلول
حل هذا الخطأ بسيط مثل التأكد من تحديد اللوحة الصحيحة في Arduino IDE. إذا لم ينجح ذلك ، فقد تكون هناك حاجة إلى وميض وحدة التحكم الدقيقة بأحدث إصدار من أداة تحميل الإقلاع من Arduino.
5. خطأ Launch4j
يستغرق Arduino IDE أحيانًا بعض الوقت قبل التحميل وعندما يتم تحميله ، إذا نقرت على أي شيء ، فسوف يعرض خطأ Launch4J كما هو موضح أعلاه. Launch4j هي أداة تستخدم لتغليف تطبيقات Java (الجرار) في Windows الأصلي القابل للتنفيذ ، مما يسمح باستخدامها كبرنامج Windows عادي.
تمت كتابة Arduino IDE نفسه بلغة JAVA ويحدث هذا الخطأ بسبب عدم توافق مكتبة Java Run Time Environment (JRE) المزودة مع Arduino IDE.
المحلول
من التجربة ، يمكن مسح هذا الخطأ بشيء بسيط مثل إيقاف تشغيل اتصال Bluetooth أو اتصال WiFi بجهاز الكمبيوتر. ومع ذلك ، فإن الحل الأكثر اكتمالاً ودائمًا هو استبدال JRE في حزمة Arduino بإصدار حديث.
6. المنفذ التسلسلي قيد الاستخدام بالفعل
ربما يكون هذا أحد أسهل الأخطاء التي يجب حلها. يحدث ذلك عادةً عندما تحاول تحميل رمز إلى Arduino أثناء فتح الشاشة التسلسلية (لم تعد هذه مشكلة في حالة استخدام إصدارات IDE الحديثة) أو عندما تحاول تشغيل الشاشة التسلسلية عندما يتحدث Arduino إلى برنامج أو جهاز آخر عبر المنفذ التسلسلي. بشكل أساسي ، يحدث ذلك عندما تحاول استخدام منفذ Arduino التسلسلي لشيئين مختلفين في نفس الوقت.
المحلول
تمامًا كما اقترح IDE ، أغلق كل برنامج / أداة أخرى (بما في ذلك الشاشة التسلسلية / الراسمة) التي قد تستخدم منفذ com. إذا لم تكن متأكدًا من البرنامج المحدد ، فافصل Arduino. يجب أن يكون جاهزًا للعمل بحلول وقت توصيله مرة أخرى.
7: تحميلات Sketch بنجاح ولكن لا يحدث شيء
هذا الخطأ مشابه لبعض الأخطاء الأخرى التي تمت معالجتها بالفعل أعلاه. بالنسبة لهذا الخطأ ، سيقترح Arduino IDE أنه تم تحميل الكود بنجاح ، لكن اللوحة لا تفعل شيئًا.
المحلول
- تأكد من أن اللوحة المحددة في IDE هي نفس اللوحة المستهدفة.
- قد يكون هذا نتيجة لأن حجم الرسم أكبر من سعة اللوحة. تحقق من حجم الرسم واستخدم بعض الطرق المذكورة أعلاه لتقليل الحجم.
- أخيرًا ، قد يحدث هذا الخطأ عند استخدام مصدر طاقة صاخب. تأكد من استقرار مصدر الطاقة بدرجة كافية.
8. خطأ ارتباط غير راضٍ
ربما يكون هذا هو الخطأ الوحيد النادر الذي جعله في هذه القائمة. يحدث هذا عندما يكون لديك نسخة قديمة من مكتبة الاتصالات موجودة على جهاز الكمبيوتر الخاص بك ، على الأرجح من تثبيت سابق.
المحلول
لحل هذا الخطأ ، ابحث عن comm.jar أو jcl.jar في /System/Library/Frameworks/JavaVM.framework/ أو في الدلائل الموجودة على متغيرات بيئة CLASSPATH أو PATH بجهاز الكمبيوتر.
9. رسم كبير جدا
يحدث هذا الخطأ عندما يكون الرمز الخاص بك أكبر من ذاكرة الفلاش الخاصة بلوحة Arduino المعينة. حجم ذاكرة الفلاش في Arduino Uno ، على سبيل المثال ، هو 32 كيلو بايت مع 2 كيلو بايت قيد الاستخدام بالفعل بواسطة محمل الإقلاع Arduino. إذا كان يجب عليك تحميل رمز بحجم أكبر من 32 كيلو بايت ، فسيعرض Arduino هذا التحذير.
المحلول
كما هو مذكور أعلاه ، يحدث هذا عندما يكون الرسم التخطيطي الخاص بك أكبر من ذاكرة الفلاش للوحة التي تستخدمها ، وبالتالي ، لحل هذه المشكلة ، عليك أن تجد طرقًا لتقليل مقدار المساحة التي يشغلها الكود الخاص بك. تتضمن بعض النصائح لتحقيق ذلك ؛
- حيثما أمكن ، استخدم أنواع البيانات الصحيحة بدلاً من عدد عشري.
- حيثما أمكن استخدام المؤهل “const” عند التصريح عن المتغيرات.
- تضمين المكتبات الضرورية فقط. حيثما أمكن ، استخدم الإصدارات الخفيفة من المكتبات الأكثر أهمية.
- تحسين الكود بشكل عام. قم بتطوير خوارزميات يمكن أن تساعد في جعل التعليمات البرمجية أقصر وخفيفة الوزن بشكل عام
سيكون الحل الأكثر جذرية هو نقل المشروع إلى لوحة أخرى ، مثل Arduino Mega ، التي تحتوي على ذاكرة فلاش أكبر مقارنةً بـ Uno.
10. java.lang.StackOverflowError
عند معالجة الرسم التخطيطي ، يستخدم Arduino بعض التعبيرات العادية للمعالجة وأحيانًا يتم الخلط عندما يواجه بعض الأخطاء المتعلقة بالسلاسل مثل علامات الاقتباس المفقودة.
المحلول
يتم حل هذا الخطأ من خلال إلقاء نظرة ثانية على الكود ، وخاصة الأجزاء التي تستخدم فيها تسلسلات السلسلة. تأكد من اكتمال علامات الاقتباس ، واستخدام الخطوط المائلة العكسية بشكل صحيح وما إلى ذلك.
هناك حد لعدد الأخطاء التي يمكن أن يلائمها المرء في برنامج تعليمي واحد ولهذا السبب ، سنتوقف هنا. ومع ذلك ، تحتوي هذه القائمة على بعض الأخطاء الأكثر شيوعًا التي يواجهها المبتدئين عند استخدام Arduin o. هل تواجه خطأً معينًا ، فلا تتردد في ترك تعليق ، ونأمل أن نتمكن من حله معًا.
في المرة القادمة.