جدول المحتويات:
- الخطوة 1: تصميم مخطط الأسلاك
- الخطوة 2: قطع الدائرة على السبورة
- الخطوة 3: جندى المكونات واختبارها
- الخطوة 4: كود التجميع والفيديو
فيديو: برنامج AVR Assembler التعليمي 8: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:35
مرحبًا بك في البرنامج التعليمي 8!
في هذا البرنامج التعليمي القصير ، سنأخذ القليل من التحويل من تقديم جوانب جديدة لبرمجة لغة التجميع لإظهار كيفية نقل مكونات النماذج الأولية الخاصة بنا إلى لوحة دائرة منفصلة "مطبوعة". والسبب هو أنه في هذه المرحلة ، فإن لوح التجارب الرئيسي الخاص بنا أصبح مكتظًا بالعديد من الشرائح والأسلاك والأزرار ومصابيح LED بحيث يصبح من الصعب اختبار أشياء جديدة وبما أنه يتعين علينا في النهاية نقل المكونات إلى لوحاتهم الخاصة على أي حال. ، قد نبدأ الآن أيضًا. ربما يكون الكثير منكم بارعًا بالفعل في الأشياء التي سنغطيها في هذا البرنامج التعليمي ، وبالتالي يمكنك النظر إلى هذا البرنامج التعليمي على أنه مجرد استراحة مريحة من البرمجة.
لذلك سننقل اليوم أسطوانة النرد ATmega328P وزوج النرد المصاحب إلى لوحة خارجية متصلة باللوحة الرئيسية للاتصال بها وتشغيلها. بصرف النظر عن ذلك ، سيتم احتواء الأسلاك وتشغيل النرد ذاتيًا داخل هذا المكون.
ربما يمكنك أن تتنبأ من هذا أن هدفنا النهائي هو القيام بذلك مع كل مكون من المكونات التي نبنيها على طول الطريق حتى نتمكن عند الانتهاء من إخفائها جميعًا في حزمة جميلة المظهر والتي ستعمل عن طريق الضغط على الأزرار دون رؤية الكل. من الاسلاك والاعمال الداخلية.
سنقضي معظم هذا البرنامج التعليمي في القيام بمهام مادية مثل تصميم دائرة كهربائية ، ورسم خرائط لوحة نماذج أولية ، ولحام الأشياء معًا ، ولكن هناك القليل من البرمجة التي نحتاج إلى القيام بها في النهاية بعد نقل الأشياء. والسبب هو أننا سنستخدم في النهاية الواجهة التسلسلية ثنائية الأسلاك للتواصل بين وحدة التحكم الرئيسية "الرئيسية" وجميع وحدات التحكم "التابعة" التي تشكل مكونات مشروعنا العام في هذه السلسلة من البرامج التعليمية ، كما تتذكر ، في البرنامج التعليمي 6 ، اخترعنا نوعًا من طريقة كتابة مورس لتوصيل لفات النرد الخاصة بنا من بكرة النرد (البرنامج التعليمي 4) إلى محلل التسجيل (البرنامج التعليمي 5) الذي يعرض نتيجة لفة النرد في ثنائي على 8 مصابيح LED. حسنًا ، كانت هذه مجرد طريقة اتصال "دحرجة خاصة بك" قررت استخدامها لأنه ، في ذلك الوقت ، كان من السابق لأوانه الدخول في اتصال تسلسلي ثنائي الأسلاك. نحن الآن على استعداد تقريبًا للغوص في النهاية العميقة للتواصل التسلسلي ، وسنفعل ذلك في البرنامج التعليمي 10 ، ولكن في الوقت الحالي نحتاج إلى توقع هذا التطوير المستقبلي وإعادة توصيل مصابيح LED الخاصة بنا من أجل تحرير الاثنين الدبابيس التي نحتاجها للاتصال التسلسلي.
هذه هي دبابيس SCL و SDA على ATmega328P. يمكنك أن ترى من خلال مخطط pinout أنهما يطلق عليهما أيضًا ADC5 و ADC4 عند استخدامها في التحويلات من التناظرية إلى الرقمية ، ويطلق عليهما PCINT13 و PCINT12 عند استخدامهما كدبابيس "Pin Change Interrupt" ، وأخيراً نسميهما بشكل عام PC5 و PC4 عندما تعتبر مجرد دبابيس على PortC. نظرًا لأننا استخدمنا هذين الدبابيس كجزء من بكرة النرد الخاصة بنا لأسباب مختلفة (أهمها أنها جعلت التشفير أسهل وتوصيل الأسلاك بمصابيح LED الموجودة على اللوحة) ، فسيتعين علينا الآن تعديل الكود الخاص بنا وإعادة توصيله قليلاً إلى حرر هذه المسامير للتواصل في المستقبل.
لذلك سنبدأ بالتصميم والقطع والأسلاك واللحام. ثم سنعيد كتابة بكرة النرد للعمل مع إعدادنا الجديد واختبارها في النهاية للتأكد من أنها لا تزال تعمل.
لإكمال هذا البرنامج التعليمي ، ستحتاج إلى العناصر التالية:
- الأشياء القياسية التي تحتاجها دائمًا والتي سأتوقف عن تكرارها طوال الوقت: لوحة النماذج الأولية الخاصة بك ، ونسختك من ورقة البيانات ومجموعة التعليمات ، وعقلك.
- نموذج أولي للدائرة اللاسلكية لوحة PCB مثل هذا: https://www.ebay.com/itm/191416297627 سأستخدم إصدار Measure Explorer 103RAWD من هذا اللوحة: https://www.ebay.com/itm/103RAT -circuit-proto-proto … حيث أن لدي مجموعة منهم في متناول اليد ، لكن الإصدار 103RAW-0 الذي أقوم بربطه أعلاه سيعمل بشكل جيد أيضًا.
- كليبرز ، الأسلاك ، اللحام ، لحام الحديد ، "أيدي المساعدة" أو أي شيء للاحتفاظ بالأشياء ، وما إلى ذلك وما إلى ذلك مرة أخرى ، من الآن فصاعدًا ، سأتوقف عن إدراج هذه الأشياء أيضًا. إذا كنت قد وصلت بالفعل إلى هذا الحد في هذه البرامج التعليمية ، فمن المحتمل أن يكون لديك كل هذه الأشياء بالفعل.
هنا رابط إلى المجموعة الكاملة من دروس مجمّع AVR الخاصة بي:
الخطوة 1: تصميم مخطط الأسلاك
الشيء الرائع في لوحات Measure Explorer هو أنه إذا استغرقت بعض الوقت وقمت برسم خريطة للأشياء في البداية ، يمكنك توفير الكثير من الأسلاك في النهاية. لذلك سنبدأ بأخذ بعض الوقت في تصميم مخططنا قبل أن نبدأ في لحام أي شيء. مع هذا النوع من الألواح ، عليك قطع مجموعة من الأسلاك الموصلة ، وهذا ليس بهذه السهولة ، ولكن النتيجة هي لوحة مضغوطة لطيفة للغاية مع الحد الأدنى من الفوضى من الأسلاك المتشابكة. أول شيء علينا القيام به هو تصميم الدائرة بحيث تناسبها على السبورة. هناك طريقة رائعة للقيام بذلك وهي تنزيل خريطة اللوحة ثم استخدامها للتلاعب بتصميمات مختلفة حتى تجد التصميم المناسب. هنا تخطيط ME-PB-103RAWD https://www.bluemelon.com/photo/3483513-T800600-j.webp
الخطوة 2: قطع الدائرة على السبورة
قم أولاً بأخذ شارب ، وباستخدام التصميم الذي قمت بتعيينه في الخطوة السابقة ، ارسم دائرتك على السبورة. بمعنى آخر. ارسم خطوطًا لتمثيل الأسلاك. لا ترسم أي شيء من حيث المكونات ، فقط أسلاك التوصيل كما هو موضح في الصورة الأولى. لاحظ أنه عندما تفشل (وإذا كنت مثلي ، فسوف تفسد الأشياء عدة مرات في هذه الخطوات) ، يمكنك استخدام ممحاة ومسح الخط. افعل هذا لكلا جانبي اللوحة.
بعد ذلك ، تحتاج إلى قطع الاتصالات حول الخطوط. إذا نظرت عن كثب إلى اللوحة ، فسترى أن كل ثقب دبوس متصل بأربعة فتحات مجاورة على جانبي اللوحة بحيث يتم توصيل جميع الثقوب الموجودة على اللوحة ببعضها البعض عند البدء. لذلك تحتاج إلى قطع جانبي كل من الأسلاك الخاصة بك لعزلها. الطريقة الأكثر شيوعًا للقيام بهذا القطع هي باستخدام سكين Exacto. لكنني أمتص سكاكين Exacto وربما أجرح نفسي. لذلك أستخدم جهاز Dremel مرفقًا به أداة قطع رفيعة. أتمنى لو كان لدي نوع من مرفق الطحن الذي وصل إلى نقطة حادة لأن ذلك سيعمل بشكل أفضل - لكن ليس لدي واحد من هذا القبيل لذلك استخدمت مرفق منشار القطع. (تمت إضافة ملاحظة: بعد الانتهاء من هذا المشروع ، وجدت أن رؤوس "عجلة القطع للخدمة الشاقة" الأصغر لـ Dremels تعمل بشكل أفضل ، فهي تبدو مثل دوائر صغيرة من ورق الصنفرة وتعمل مثل أداة القطع الموضحة هنا باستثناء أنها ذات قطر أصغر وهكذا من الأسهل بكثير رؤية مكان القطع والتحكم فيه)
على طول الطريق ، من المفيد رفع اللوح أمام الضوء والتأكد من قطع الأسلاك بالفعل. قد تكون منزعجًا من حقيقة أن هناك اتصالات على جانبي اللوحة ، لذا عليك تكرار عملية القطع مرة أخرى مع الجانب الآخر ، لكنني أعتقد أنك سترى الهدف من ذلك بحلول الوقت الذي تنتهي فيه. لقد ارتكبت الكثير من الأخطاء في قطع الأسلاك التي لم يكن من المفترض قطعها ، وتبين أن وجود الجانب الآخر لا يزال متصلاً أمرًا رائعًا.
سوف يستغرق الأمر وقتًا طويلاً وصبرًا لقطع الدائرة في اللوحة ، لكنها نوع من المرح بمجرد أن تصبح جيدًا في ذلك.
الخطوة 3: جندى المكونات واختبارها
الآن بعد أن قمت بعزل جميع الأسلاك في لوحة الدوائر الخاصة بك ، يمكنك البدء في لحام المكونات الفردية.
لقد قمت أولاً بلحام مصابيح LED لأحد النرد ، ثم أخذت خيوطًا إيجابية وسلبية من لوح التجارب واختبرت التوصيلات لكل LED للتأكد من أنها معزولة عن بعضها البعض وأنها تعمل.
وبالمثل مع الآخر يموت.
ثم قم بتوصيل المقاوم بكل قالب ، والمقاوم 10K في الجزء الخلفي من اللوحة.
ثم قم بتوصيل مذبذب الكريستال ، وأغطية 22pf ، وأزرار الضغط ، و ATmega328P. قد ترغب في لحام مقبس رقاقة ثم تركيب ATmega328P في ذلك بحيث يمكنك إزالته إذا كنت تريد وإعادة استخدامه في شيء آخر. لقد قمت للتو بتلحيم رقاقاتي باللوحة لأنني أعرف ما نبنيه في النهاية باستخدام كل هذه البرامج التعليمية وأعلم أنني سأحبها بدرجة كافية بحيث لا أرغب في إخراج الشريحة.
لاحظ ، من خلال النظر إلى الجزء الخلفي من اللوحة ، الطريقة التي ربطنا بها الرؤوس. لقد استخدمت رؤوس الدبوس الطويلة وثنيها بشكل أفقي حتى لا تخرج من اللوحة. هذا حتى أتمكن في النهاية من تغطية اللوحة إلى مستوى الأزرار الانضغاطية ومصابيح LED بحاوية وعدم وجود رؤوس في الطريق. لدينا رأس لـ Tx و Rx حتى نتمكن من برمجة الشريحة ، ولدينا رأس لـ SDA و SCL حتى نتمكن من استخدام اتصال ثنائي الأسلاك لاحقًا. ولدينا رأس 3 سنون لـ AVCC و AREF و GND على الجانب الآخر من اللوحة. لدي جميع المسامير الأرضية ودبابيس VCC سلكية معًا على الشريحة ، لذلك نحتاج فقط إلى إدخال طاقة واحد.
أخيرًا ، بمجرد توصيل كل شيء بأسلاك ، فإننا نموت 1 لنموت 2 بالطريقة التي فعلناها على لوح التجارب حتى نتمكن من التحكم في كلا النرد باستخدام 9 دبابيس فقط.
نحتاج الآن إلى تعديل الكود الخاص بنا حتى يتحكم في هذا الإعداد الجديد.
الخطوة 4: كود التجميع والفيديو
لقد أرفقت كود التجميع وفيديو بكرة النرد قيد التشغيل. كل ما فعلته هو أخذ رمز بكرة النرد الخاصة بنا من البرنامج التعليمي 6 ، وتعديل المسامير لتتناسب مع التصميم الجديد ، وإزالة الروتين الفرعي للاتصالات لأننا سنكتب واحدة جديدة في البرنامج التعليمي 10. في المرة القادمة سوف نكسر لوحة المفاتيح الخاصة بنا مرة أخرى ونتعلم كيفية التحكم في شاشات العرض المكونة من 7 أجزاء.
موصى به:
برنامج AVR Assembler التعليمي 2: 4 خطوات
برنامج AVR Assembler التعليمي 2: هذا البرنامج التعليمي هو استمرار لـ & quot؛ برنامج AVR Assembler التعليمي 1 & quot؛ إذا لم تكن قد مررت بالبرنامج التعليمي 1 ، فعليك التوقف الآن والقيام بذلك أولاً. في هذا البرنامج التعليمي سنواصل دراستنا لبرمجة لغة التجميع لـ atmega328p u
برنامج AVR Assembler التعليمي 1: 5 خطوات
برنامج AVR Assembler التعليمي 1: لقد قررت كتابة سلسلة من البرامج التعليمية حول كيفية كتابة برامج لغة التجميع لـ Atmega328p وهو المتحكم الدقيق المستخدم في Arduino. إذا ظل الناس مهتمين ، فسأستمر في تخصيص واحد أسبوعيًا أو نحو ذلك حتى نفاد
برنامج AVR Assembler التعليمي 6: 3 خطوات
برنامج AVR Assembler التعليمي 6: مرحبًا بك في البرنامج التعليمي 6! سيكون البرنامج التعليمي اليوم قصيرًا حيث سنطور طريقة بسيطة لتوصيل البيانات بين واحد atmega328p وآخر باستخدام منفذين يربطهما. سنأخذ بعد ذلك بكرة النرد من البرنامج التعليمي 4 والسجل
برنامج AVR Assembler التعليمي 7: 12 خطوات
برنامج AVR Assembler التعليمي 7: مرحبًا بك في البرنامج التعليمي 7 ، سنقوم اليوم بعرض كيفية تنظيف لوحة المفاتيح أولاً ، ثم نوضح كيفية استخدام منافذ الإدخال التناظرية للتواصل مع لوحة المفاتيح. إدخال. سنقوم بتوصيل لوحة المفاتيح حتى
برنامج AVR Assembler التعليمي 9: 7 خطوات
برنامج AVR Assembler التعليمي 9: مرحبًا بك في البرنامج التعليمي 9 ، سنعرض اليوم كيفية التحكم في كل من شاشة العرض المكونة من 7 أجزاء والشاشة المكونة من 4 أرقام باستخدام كود لغة التجميع ATmega328P و AVR. أثناء القيام بذلك ، سيتعين علينا إجراء تحويلات إلى كيفية استخدام المكدس