تعرفت مؤخرًا على embedded systems و اعجبتني فكرتها و قررت ان اتعلمها
لكني اشعر بتشتت نوعًا ما , فعندما بحثت في الامر , كل شخص يذكر شيء مختلف
فلذلك ماذا احتاج لتعلم embedded Systems programming ?
تبدأ بدراسة أنظمة العد المختلفة و العمليات عليها
تدرس logic gates و boolean algebra
تدرس الدوائر الإلكترونية و كيفية عمل الترانزستور (لا داعي للتعمق)
تدرس لغة C و أنا شخصيا أعتبرها من أفضل و أسهل لغات البرمجة
كل ما تحتاجه فقط التركيز و لا أخفي عليك المجال برمجته واضحة و بسيطة
ففي البداية يمكنك الإكتفاء بالأساسيات
و هنا الإختيارات كثيرة هناك من يختار arduino و هو إختيار لا أنصح به لأنه يبسط الموضوع
بطريقة غير مقبولة ، الأفضل أن تبدأ مع Atmega32 أو أحد منتجات PIC مثل 16f877a
An embedded software primer
avr microcontroller and embedded systems
ككتب أما كفيديوهات فأفضل :
بالتوفيق
شكرًا لك كثيرًا , لكن بخصوص الاردوينو , اخاف ان اشتريها و تكون إضاعة للاموال , فهلتنصحني بها ام اشتري غيرها ؟
تدرس لغة C و أنا شخصيا أعتبرها من أفضل و أسهل لغات البرمجة
ماذا عن c++ ? انا درست اساسياتها و OOP , هل هذا كافي ؟ ام انتقل للـ C ؟ ام ماذا ؟
إذا كنت تبحث عن تعلم المجال بطريقة سليمة فالأفضل أن تبدأ مع atmega32
و arduino في النهاية يستعمل atmega ، لكن الاختلاف في مستوى البرمجة
atmega32 سيعطيك استفادة أكبر و سيمكنك من الوصول لجذور المواضيع
ماذا عن c++ ? انا درست اساسياتها و OOP , هل هذا كافي ؟ ام انتقل للـ C ؟ ام ماذا ؟
أغلب microcontrollers تستعمل C ، فالأفضل أن تتابع مع C ، أيضا لغة C مع أنها أقدم
إلا أنها تعتبر جزء من C++ ، فبدون oop أصبحت C++ تقريبا هي نفسها C !
سؤال اخر و اتمنى ان لا اكون ازعجتك بكثرة اسئلتي , لاحظت ان هناك العديد من الإصدارات للـ Atmega32 :
فأي واحدة تنصحني ( من القائمة السابقة) ان اشتريها ؟
و شكرًا لك مرة اُخرى .
ATMEGA32-16PU DIP-40 هو المنشود
و الأفضل قبل تركيب أو تطبيق أي شيء على أرض الواقع
تمثيل مشروعك على برنامج محاكة ، تجنبا للمشكلات
سؤال اخر و اتمنى ان لا اكون ازعجتك بكثرة اسئلتي
لا إزعاج و لا ما يحزنون ، دائما في الخدمة ^__^
نعم هذه هي ، بالمناسبة هي ليست فقط معالج ، بل تسمى MicroController (متحكم صغير)
و في مجال embedded systems هي وحدة البناء الأساسية لأي نظام مدمج ،فهنا لا
نتعامل مع حواسيب كاملة العتاد ، هنا كل شيء موجود على هذه الرقاقة الصغيرة من معالج
و RAM و ROM و الكثير من الأمور التي ستعرفها بالدراسة
Crystal و هي المسؤولة عن توليد pulses و تشغيل microcontroller
power supply لإمداد الطاقة
كيف سأتعامل معها إذا كانت عبارة عن معالج فقط ؟
أعود و أكرر أنها ليست فقط معالج هذه القطعة تشمل كل ملحقات الحاسب العادي
لكن بأحجام و مقاييس أصغر + أشياء إضافية للتعامل مع مشاريع الأنظمة المدمجة
لمزيد من التوضيح ألق نظرة على هذا المثال البسيط :
BreadBoard بأي مقاس يناسبك
طيب هل يمكنك ان تقترح علي واحد من الموقع السابق ؟
و هل انا بحاجة إلى AVR USB Programmer ؟
و اشكرك جدًا على إجاباتك :)
يمكنك التواصل معهم و سؤالهم إذا توافر أحجام أكبر
طبعا ستحتاج AVR USB Programmer لنقل الكود لذاكرة المتحكم
أيضا يفضل لو تبحث عن atmega32 kit ، فهي مخصصة لأغراض التعليم و غالبا
تحتوي على كل ما تحتاجه
العفو :)
بخصوص development kit , هل هذه الحزمة جيدة : ؟
ام هذه ؟
طبعا هذه ، بها كل ما ستحتاجه بل و أكثر
كبداية اعتذر عن كثرة اسئلتي المزعجة
لكن المشكلة ان سعر تلك القطعة مرتفع نوعًا ما (هذا دون ان احسب باقي المتطلبات)
لذلك كنت افكر بأن انتقل لمتحكمات PIC مع لغة c , فما رأيك بـ PIC16F877A مع QL200 PIC DEVELOPMENT BOARD ? هل ستكون مناسبة ؟
و شكرًأ للمرة الثانية .
سواء بدأت مع PIC أو atmega32 كلها طرق فعالة
بالنسبة لهذه kit إذا لم تحتوي على LCD (شاشة عرض)
فلا أرى داعي لشراؤها ! ، بالمناسبة توفيرا للمال دعك
من موضوع kit و اشتري الاشياء الاساسية، و يفضل
قبل كل هذا أن تبدأ في المجال و تطبق على أي برنامج
محاكاه ، بعدها انتقل للتطبيق على hardware حقيقي .
لا تضيع وقتك في التفضيلات بين أشياء لا تعرف فائدتها بعد !!
انطلق و بعدها أسأل :)
التعليقات