مشاريع الأنظمة المدمجة على مستوى المبتدئين؟[مغلق]

StackOverflow https://stackoverflow.com/questions/191838

سؤال

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

سؤالي هو:

  1. ما هي بعض الموارد العامة الجيدة لفهم الأجهزة البسيطة ووحدة التحكم الدقيقة وأساسيات ماهية البرامج الثابتة/البرامج، مع القليل من الخبرة أو عدم وجود خبرة في أي مما سبق؟خلفيتي الخاصة غير مفيدة إلى حد ما هنا، حيث تعلمت الكثير من خلال التدريب الرسمي (الذي يهتم به، ولكنه يريد أن يبدأ الآن) ومن خلال التدريب الذي حصلت عليه لي السنة الأولى من خلال المحسوبية ;-) (وهو ما يريد القيام به، ولكن هناك مشكلة الدجاجة والبيضة)

  2. ما هي بعض أفكار المشاريع المثيرة للاهتمام ذات النطاق المناسب؟

بعض الأفكار الأولية:

  • لعبة على طراز Jeopardy من شأنها أن تضيء مؤشر LED، واللاعب الذي ضغط على زره أولاً هو الفائز، وربما يتمكن المتحكم الدقيق من الحفاظ على النتيجة على شاشتين مكونتين من 7 أجزاء.
  • مولد النغمات (يقوم المستخدم بتعيين مفاتيح DIP (أو بشكل أكثر طموحًا، يضغط على المفاتيح الموجودة على لوحة مفاتيح PS2) لضبط التردد)، ويستخدم وحدة التحكم الدقيقة محول D/A لإخراج جيبي من هذا التردد
  • نوع من أجهزة الاستشعار الصغيرة (ربما جهاز استشعار درجة الحرارة لغرفة النوم الخاصة به والذي يقدم النتائج كموجز RSS).سيكون الجانب المستند إلى الويب لهذا المشروع أسهل بكثير باستخدام RabbitCore من أرنب أشباه الموصلات.

جميع الاقتراحات المتعلقة بمجموعات المتحكمات الدقيقة رائعة!سأكون ممتنًا حقًا لأفكار المشروع الإضافية (أي"يجب على الطالب تصميم X) أيضًا.شكرًا!

هل كانت مفيدة؟

المحلول

لقد سمعت وقرأت مجموعة من الأشياء الجيدة حول منصات Arduino وPicAxe.يبدو أن Arduino لديه أكبر مجتمع وراءه، والتكلفة الأولية ضئيلة إلى حد ما (حوالي 20-30 دولارًا أمريكيًا للمجموعة).

http://arduino.cc/

تبيع شركة LadyAda من شركة adafruit Industries مجموعة أدوات تعليمية تأتي مع لوحة Arduino و8 برامج تعليمية لتعليم الإلكترونيات الأساسية وبرمجة وحدات التحكم الدقيقة.

نصائح أخرى

تقدم العديد من الشركات المصنعة لوحدات التحكم الدقيقة لوحات تجريبية وأدوات تطوير رخيصة الثمن والتي من الممتع اللعب بها.

أمثلة:

(لا تتردد في إضافة الآخرين إلى هذه القائمة.)

قد تكون Lego Mindstorms مكانًا للبدء.البرنامج الثابت مفتوح المصدر، لذا يمكن لطالبك تجربة إضافة ميزات الإدخال/الإخراج الجديدة أو إنشاء بعض الأجهزة الطرفية الجديدة.

أوصي بمجموعة Lego Mindstorms NXT.تحتوي مجموعة الروبوتات المحدثة على العديد من الميزات الجذابة مثل أجهزة المحركات مع متكاملة التشفير, بلوتوث و أجهزة استشعار المسافة بالموجات فوق الصوتية.كما تطورت الأطراف الثالثة مقاييس التسارع, الجيروسكوبات, البوصلات وأكثر بكثير.يمكنك بسهولة تطوير المستشعر الخاص بك نظرًا لأن جميع المستشعرات تعمل وفقًا للمعايير i2c حافلة.

في العام الماضي، مع عدد قليل من الطلاب الآخرين، قمنا ببناء صغيرة سيجواي-مثل الروبوت باستخدام جيروسكوب هايتكنيك ومفتوحة المصدر البرامج الثابتة LeJos.كان من الممكن تمامًا إنشاء واجهة بين العميل والخادم حتى نتمكن من التحكم في الروبوت لاسلكيًا باستخدام جهاز بلوتوث (أي جهاز بلوتوث).تليفون محمول).

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

لقد كنت أعمل في الأنظمة المضمنة منذ أكثر من عقد من الزمان، وبالنسبة للمبتدئين، من الصعب التغلب على Rabbit Semiconductor.

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

إذا كنت سأفعل ذلك مرة أخرى، فسأقوم بإدخال تقنيات Ajax هناك، واستخدم Canvas أو SVG لإنشاء رسوم بيانية أجمل بكثير.

الخيارات الأخرى هي معالجات Microchip الجديدة 32 بت، وAVR32 من Atmel.يمكنك البدء مع هؤلاء مقابل 100 دولار تقريبًا.يدعم AVR32 نظام التشغيل Linux الآن، ويمكنك الحصول على شاشة LCD وأشياء أخرى مقابل مبلغ ليس بالقليل من المال لجعله نظامًا مدمجًا متطورًا للغاية.كما أنها تأتي مع برنامج العرض التوضيحي WinCE حتى تتمكن من التحقق من نهاية التطوير.إن الموافقة المسبقة عن علم ذات 32 بت لا تحتوي على نظام التشغيل Linux حتى الآن، ولا أعلم أنها ستدعم WinCE.

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

أينما ذهب، حظا سعيدا!

-آدم

شيء آخر للنظر فيه ...

عليك أن تقرر ما الذي تريد أن يتعلمه الطفل.هناك الكثير من المجموعات المختلفة التي يمكنك شراؤها (انظر الإجابات أعلاه للتعرف على الكثير من الإجابات الجيدة)؛ومع ذلك، ضع في اعتبارك أن المجموعات مصممة لتمكين المستخدم من العمل بسرعة، عادةً لتقييم بعض وحدات التحكم الدقيقة أو شريحة الواجهة.

ل حقًا تعليم شخص ما الأنظمة المضمنة، "بسرعة" ليس بالضرورة أفضل طريقة للذهاب.ستوفر هذه المجموعات بعض IDE (بيئة التطوير التفاعلية) التي تضيف مستويات متعددة من التجريد بين الطالب وموضوع "البرامج التعليمية الثابتة".ونتيجة لذلك، قد يكون الطفل يكتب تطبيقات "hello World" في اليوم الأول، ولكن لا يزال ليس لديه أدنى فكرة عن الفرق بين ذاكرة الوصول العشوائي/ذاكرة القراءة فقط/العنوان/البيانات/إلخ...

الحد الأدنى...في هذه الأيام، هناك الكثير من المجموعات المتاحة، وليس لديك خيار سوى اختيار واحدة فقط (راجع الإجابات الأخرى للحصول على اقتراحات جيدة)؛ومع ذلك، إذا كنت حقًا نريد من الطفل أن يتعلم الأساسيات، ثم بعد أن يكتب تطبيق "hello World"، ويجعل بعض مصابيح LED تومض.أوقفه هناك، وعلمه ما وراء كل ذلك.

نعم، هذا لم يجيب بشكل مباشر على سؤالك، ولكن نأمل أن يرشدك إلى كيفية القيام بذلك حقًا علمه "اللحم".قد يكون المكان الجيد للبدء في هذا هو كتاب كتبته قبل بضع سنوات:“إزالة الغموض عن البرامج الثابتة للأنظمة المدمجة”.وهناك برامج أخرى أيضًا، مثل "برمجة الأنظمة المضمنة في لغة C وC++".يقدم كتابي أيضًا شاشة تمهيد تعد مكانًا جيدًا للبدء في تعلم البرامج الثابتة.الدفع http://www.umonfw.com للحصول على معلومات حول ذلك.

يفحص http://www.embedds.com

إنها قائمة بمشاريع النظام المضمنة من جميع أنحاء الويب.معظمهم من المبتدئين أو الهواة وسيكونون بداية جيدة أو مصدر إلهام.

تعد لوحة Tern Acore86 مجموعة رائعة للعمل عليها.

أعتقد أن أفضل طريقة لبدء العمل على الأنظمة المضمنة هي العمل على BeagleBoard.

BeagleBoard هي معالجات Texas Instruments OMAP3، والتي تتضمن معالج ARM بالإضافة إلى معالج الإشارة الرقمي (DSP).بالإضافة إلى أن التكلفة رخيصة جدًا مقارنة بلوحات التطوير الأخرى، حيث تبلغ 150 دولارًا فقط.

وأفضل ما في الأمر هو أن البرنامج مفتوح المصدر تمامًا، ويمكنك إنشاءه باستخدام مكونات مثل Linux kernel وuBoot وxloader.

في البداية، العب حوله، وحاول إنشاء بناء مستقر.يمكنك التفكير في العديد من المشاريع التي يمكنها استخدام قوة اللوحة.

أطيب التمنيات لذلك.

أوصي بشدة بمنتجات Parallax التي يمكنك العثور عليها هنا

يعتبر كل من الختم الأساسي وشريحة المروحة رائعين.تتوفر العديد من اللوحات الإضافية التي تتيح لك القيام بالعديد من المشاريع البسيطة والمعقدة.

تعد Mindstorms جيدة ولكنها باهظة الثمن بعض الشيء مقارنة بما تقدمه Parallax.ولكن لسهولة الاستخدام، لا شيء يمكن أن يكون Mindstorm.

هناك العديد من الشركات التي تصنع مجموعات روبوتية صغيرة باستخدام صور PIC أو معالجات دقيقة مماثلة.

ال سمين يوفر منصة مذهلة لمبرمجي الأنظمة المدمجة المبتدئين.إنه يوفر مجموعة رائعة من الأجهزة الطرفية (LCD، USB، مكبرات الصوت، wifi)، وهو مفتوح المصدر بالكامل (إذا تجاهلت عناصر FLASH)، ويوفر واجهة رائعة للوحة النماذج الأولية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top