جدول المحتويات:
- الخطوة 1: AVR Dude
- الخطوة 2: ATtiny2313 - وميض مصابيح LED
- الخطوة 3: استخدام الوظيفة الإضافية LCD
- المعدات:
- برمجة
- الكود مرفق
- الخطوة 4: 28-pin UC ISP Programming (ATmega8)
- الخطوة 5: استخدام LCD والأزرار المتقدم: الساعة الكبيرة
- الخطوة السادسة: برمجة الجهد العالي
- الخطوة 7: التوسيع إلى ما بعد اللوحة
- الخطوة 8: الخاتمة
- الخطوة 9: إضافة 6-Pin ISP
- هذا اختراق. إذا كنت لا تعرف بالضبط كيف يعمل هذا ، فلا تفعل ذلك
- الخطوة 10: قارئ RSS باستخدام الاتصال التسلسلي وشاشة LCD
- المعدات
- برمجة
فيديو: كيفية استخدام Dragon Rider 500 مع AVR Dragon الخاص بك: 10 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:42
هذه التعليمات عبارة عن دورة تدريبية مكثفة حول كيفية استخدام بعض ميزات Dragon Rider 500 من Ecros Technologies. يرجى العلم أن هناك دليل مستخدم مفصل للغاية متاح على موقع Ecros على الويب.
The Dragon Rider هي لوحة واجهة للاستخدام مع مبرمج متحكم AVR يسمى AVR Dragon من Atmel. لمزيد من المعلومات: موقع Atmel's Wesite: https://www.atmel.com/ رابط AVR Dragon: https://www.atmel.com/dyn/products/tools_card.asp؟ tool_id = 3891 Dragon Rider 500 by Ecros Technology: https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm تجميع Dragon Rider 500 Instructable: https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A / تعرف على كل شيء عن ميكروكنترولر AVR: https://www.avrfreaks.net قد ينمو هذا التوجيه بمرور الوقت ، لذا تحقق مرة تلو الأخرى!
الخطوة 1: AVR Dude
أنت بحاجة إلى بعض برامج البرمجة لاستخدام AVR Dragon للبرمجة. أستخدم AVRdude مع نظام التشغيل Ubuntu (لينكس) وأنا سعيد جدًا بالنتائج. لن يتعامل هذا التوجيه مع تعقيدات برامج البرمجة. إذا كنت لا تعرف كيفية إعداد أو استخدام برنامج البرمجة ، فتحقق من هذا التوجيه لتزويدك بالسرعة: AVR-dragon / تخميني هو أنك إذا اشتريت Dragon Rider 500 وقمت بتجميعه ، فأنت تعرف بالفعل كيفية برمجة شريحة باستخدام AVR Dragon….. فصاعدًا!
الخطوة 2: ATtiny2313 - وميض مصابيح LED
لنقم ببرمجة ATtiny2313 وهو متحكم دقيق مكون من 20 سنًا. يحتوي Dragon Rider 500 على مآخذ للعديد من وحدات التحكم الدقيقة AVR مختلفة الحجم. وتشمل هذه: 8 ، 20 ، 28 ، و 40 دبوس. اعتمادًا على المقبس الذي تستخدمه ، يجب ضبط وصلات العبور على لوحة Dragon Rider بشكل مختلف.
إعدادات الطائر
اضبط وصلات العبور على Dragon Rider بحيث تقوم القطع بتوصيل المسامير التالية. (pin4 هو الدبوس المركزي لـ J22-J-24) الدبابيس: J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41 هذا إعداد أساسي يسمح لـ ISP (في برمجة النظام).
بلينكي بلينكي
البرمجة لا تفيد إلا إذا كان لديك شيء لبرمجته. لقد كتبت مثالًا قصيرًا جدًا للرمز ليومض مؤشر LED الخاص بـ Dragon Rider واحدًا تلو الآخر. استخدم كابل الشريط لتوصيل رأس LED (J29) برأس PortB (J2).
برمجة
لقد قمت بتضمين ملف C بالإضافة إلى ملف makefile وملف hex. كما ذكرت في المقدمة ، لا يمكنني تغطية جانب البرنامج من البرمجة في Instructable. برنامج كما تفعل مع AVR Dragon ، حيث أن Dragon Rider لا يغير جانب البرنامج للأشياء على الإطلاق.
الخطوة 3: استخدام الوظيفة الإضافية LCD
إليك طريقة بسيطة لاستخدام الوظيفة الإضافية LCD. سيؤدي هذا إلى كتابة "Dragon Rider" على شاشة LCD.
المعدات:
- اتيني 2313
- R / W Jumper: يجب توصيل R / W بـ "BIT1" على لوحة Dragon Rider (انظر الشرح في التجميع Instructable)
- J23: يجب تثبيت هذا الموصل لبرمجة ISP ولكن بعد ذلك يتم إزالته حتى تعمل شاشة LCD بشكل صحيح.
- قم بتوصيل شاشة LCD بالمنفذ B باستخدام كابل الشريط (J31 إلى J2)
برمجة
أنا أستخدم مكتبة Peter Fleury LCD لتشغيل شاشة LCD في وضع 4 بت. تحقق من الصفحة الرئيسية لبيتر لتنزيل المكتبة. ستحتاج إلى التأكد من أن lcd.c مجمع مع الكود الخاص بك وأنك تجري التغييرات التالية على lcd.h:
نحن نستخدم مذبذب RC الداخلي لذا يجب ضبط XTAL على 1 ميجا هرتز:
#define XTAL 1000000
#define LCD_PORT PORTB
#define LCD_DATA0_PIN 4 #define LCD_DATA1_PIN 5 #define LCD_DATA2_PIN 6 #define LCD_DATA3_PIN 7
#define LCD_RS_PIN 3 #define LCD_RW_PIN 1 #define LCD_E_PIN 2
البرنامج الرئيسي بسيط للغاية بفضل العمل الذي قام به Peter Fleury في مكتبة LCD الخاصة به.
#include #include "lcd.h" int main (void) {lcd_init (LCD_DISP_ON)؛ // تهيئة شاشة LCD مع إيقاف تشغيل المؤشر lcd_clrscr () ؛ // مسح شاشة LCD lcd_gotoxy (5 ، 0) ؛ // حرك المؤشر إلى هذا الموقع lcd_puts ("التنين") ؛ // ضع هذه السلسلة على شاشة LCD lcd_gotoxy (6 ، 1) ؛ // حرك المؤشر إلى هذا الموقع lcd_puts ("رايدر") ؛ // ضع هذه السلسلة على شاشة LCD لـ (؛ ؛) {// لا تفعل شيئًا إلى الأبد (الرسالة معروضة بالفعل على شاشة LCD)}}
الكود مرفق
يشتمل الرمز المرفق على مكتبة شاشات الكريستال السائل الخاصة ببيتر فلوري (lcd.c و lcd.h) بإذن منه. شكرا لك بيتر! التغيير الوحيد الذي قمت به هو ضبط المسامير المناسبة في التعريفات. يرجى زيارة موقعه لتنزيل الحزمة: https://www.jump.to/fleury لقد قمت أيضًا بتضمين ملف makefile الذي استخدمه كتبه Eric B. Weddington و Jorg Wunsch. لقد أرسلت رئيس الوزراء إلى Jorg في avrfreaks.net لكنني لم أتلق ردًا منه أبدًا. هناك بعض التغييرات في ملف makefile لتكييفه مع استخدام Linux و Dragon. شكرًا لكما ، يرجى تحديد تفضيلاتك لي من خلال مشاركة عملك.
الخطوة 4: 28-pin UC ISP Programming (ATmega8)
ستستخدم عملية تعديل المشروع التالية ATmega8 وهي عبارة عن 28 سنًا avr. هنا مجموعة العبور الأساسية لبرمجة ISP للميكروكونترولر 28 سنًا.
إعدادات الطائر
اضبط وصلات العبور على Dragon Rider بحيث تقوم القطع بتوصيل المسامير التالية. (pin4 هو الدبوس المركزي لـ J22-J-24) الدبابيس: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42
معلومات تقنية
- يتيح لك توصيل J11 و J12 بهذه الطريقة استخدام تلك المسامير كدبابيس إدخال / إخراج. سيكون البديل هو توجيه هذه المسامير لإجراء اتصال مع البلورة الخارجية.
- يتيح لنا توصيل J13 بهذه الطريقة استخدامه كدبوس إعادة الضبط. البديل هو توجيه هذا الدبوس إلى رأس PORTC لاستخدامه كدبوس I / O. (قد يكون لهذا العديد من العيوب ، بما في ذلك عدم القدرة على برمجة هذه الشريحة باستخدام ISP).
- يتم توصيل J16 و J22-J24 بهذه الطريقة لتوجيه المسامير المناسبة (إعادة التعيين و MISO و MOSI و SCK) إلى رأس ISP الخاص بـ AVR Dragon.
الخطوة 5: استخدام LCD والأزرار المتقدم: الساعة الكبيرة
هذا مشروع ممتع يستخدم شاشة LCD والأزرار. سنتعامل مع وظائف Real Time Clock والحروف المخصصة على شاشة LCD. في الصورة في الأسفل يمكنك رؤية الساعة 7:26:07 مساءً معروضة بأعداد كبيرة على شاشة LCD. يستخدم كل رقم شبكة 2 × 2 من الأحرف المعروضة لإظهار العدد الكبير. يستخدم هذا الخط المكتوب أصلاً بواسطة Xtinus لمشروع XBMC. تستخدم الأزرار لضبط الساعة. يعمل اليسار على زيادة الساعات ، وزاد Up للدقائق ، ولليمين للتبديل بين 12 و 24 ساعة ، و Enter يعيد تعيين الثواني إلى الصفر. لا تحافظ الساعة على وقت جيد لأننا نستخدم مذبذبًا داخليًا غير دقيق للغاية ، ولكن يمكن بسهولة تغيير هذا البرنامج لاستخدام بلورة خارجية أكثر دقة. شاهد هذا في العمل في الفيديو أدناه. شرح كيفية عمل هذا الرمز بالترتيب ، لكن ليس لدي الوقت الآن. في الوقت الحالي ، قم بتوصيل رأس LCD (J31) بـ PORTD (J4) ورأس الزر (J30) بـ PORTB (J2). تأكد من أن كل من SW1 و SW2 في وضع إيقاف التشغيل. قم بتوصيل AVR Dragon بكابل USB وقم بتوصيل الطرف الآخر من هذا الكبل بجهاز الكمبيوتر الخاص بك. قم بتشغيل SW2 وبرمجة ATmega8 باستخدام برنامج البرمجة الذي تختاره (ملف hex أدناه ؛ تم حرق الصمامات وفقًا لإعدادات المصنع). هذا أثناء انقطاع التيار الكهربائي.
الخطوة السادسة: برمجة الجهد العالي
لقد استخدمت البرمجة المتوازية ذات الجهد العالي لإحياء ATtiny2313 الذي قمت بضبط إعدادات الصمامات الخاطئة عليه. كنت في حاجة إليها للمرة الثانية عند العمل على هذا التوجيه لأنني كتبت عن طريق الخطأ إعداد lfuse الذي أردت تسجيله في hfuse … خطأ. البرمجة المتوازية ذات الجهد العالي هي أداة سهلة الاستخدام تحت تصرفك! فيما يلي قوائم بإعدادات العبور الخاصة بي: استخدمها على مسؤوليتك الخاصة ، يمكن أن يتسبب هذا النوع من البرمجة في إتلاف أجهزتك إذا لم تكن تعرف ما الذي تفعله !! البرمجة المتوازية عالية الجهد: ATtiny2313 في المقبس U3: SW1 - OFFSW2 - ONJ5 و J6 و J7 - قم بتوصيل pin1 و pin2XTAL1 - قم بتوصيل pin1 و pin2J16 - قم بتوصيل كبلات pin1 و pin22x5 IDC: PROG_CTRL بـ PORT D ، PROG_DATA إلى PORT BAll وصلات العبور الأخرى غير المتصلة J8-J13 ، J18 ، J19 ، J20 ، J22-J28 ، J24) بالنسبة للرقائق الأخرى ، يجب أن تكون قادرًا على معرفة الإعدادات التي تحتاجها من دليل مستخدم Atmel الخاص بـ STK500.
الخطوة 7: التوسيع إلى ما بعد اللوحة
أجد أنه من السهل جدًا التعامل مع اللوح. يتيح ذلك قدرًا أكبر من المرونة في إنشاء النماذج الأولية وتطوير الكود في نفس الوقت. أدناه سترى لوحتين متصلتين بـ Dragon Rider. أقوم بتوصيل الكابلات الشريطية بالمنافذ المناسبة في أحد طرفيها. في الجانب الآخر ، أستخدم أسلاك توصيل لتوصيل موصل ICD المناسب بألواح التجارب.
الخطوة 8: الخاتمة
هناك الكثير مما يمكن أن يشارك في هذا Instructable. الليلة فقط أكملت محولًا يسمح لك باستخدام رأس البرمجة ذي الستة أسنان دون إزالة التنين من Dragon Rider. سأضع معلومات حول كيفية إنشاء واحدة بنفسك … قريبًا. إذا كان لديك أشياء أخرى تعتقد أنه يجب إضافتها ، فاترك تعليقًا.
الخطوة 9: إضافة 6-Pin ISP
عادةً ما أقوم ببناء رأس ISP ذي 6 أسنان لجميع مشاريعي حتى أتمكن من إعادة برمجة الشريحة إذا لزم الأمر وليس من الضروري إخراجها من لوحة المشروع. متسابق التنين للأسف ليس لديه رأس ISP ذي 6 سنون متاح ، لكنني اكتشفت كيفية جعله متاحًا.
تحذير!
هذا اختراق. إذا كنت لا تعرف بالضبط كيف يعمل هذا ، فلا تفعل ذلك
لقد تم تحذيرك لقد قمت بإنشاء لوحة مهايئ خاصة بي ووصلة توصيل ذات 3 سنون لتزويد رأس isp ذي 6 سنون. ما تفعله هو ضبط Dragon Rider على البرنامج ومتحكم 8-pin. باستخدام مقبس ثلاثي السنون ، أقوم بتوصيل J8 لتوصيل السنون 1 و 3. وهذا يوجه إشارة الساعة إلى موصل PortB. ثم قمت بتشغيل كابل توصيل من موصل PortB إلى لوحة المحول الخاص بي وفويلا! هناك صور أدناه…. من فضلك ، من فضلك ، من فضلك ، لا تفعل هذا ما لم تفهم حقًا ما تفعله لأنك قد تلحق الضرر بـ AVR Dragon الخاص بك أو ما هو أسوأ إذا قمت بهذا الخطأ.
Pinout: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2
الخطوة 10: قارئ RSS باستخدام الاتصال التسلسلي وشاشة LCD
أنا مستمر في اللعب بلوحة التطوير هذه. هذه المرة قضيت جزءًا من فترة ما بعد الظهيرة في تطوير قراءة RSS (غالبًا على جانب Python للأشياء). لا أعتقد أنه يبرر تعليماته الخاصة ، لذلك أقوم بإضافته هنا.
المعدات
نحن نستخدم Dragon Rider 500 كلوحة تطوير. يوفر هذا كل الأجهزة التي تحتاجها (بافتراض أن لديك جميع مجموعات الوظائف الإضافية). ومع ذلك ، يمكنك بالتأكيد القيام بذلك من خلال إعداد الأجهزة الخاصة بك:
- متحكم ATmega8 (أو أي متحكم يحتوي على USART ودبابيس كافية لجميع التوصيلات
- طريقة لبرمجة المتحكم الدقيق (أستخدم AVR Dragon)
- شريحة MAX232 للاتصالات التسلسلية
- موصل DB9
- HD44780 شاشة LCD
- كريستال (استخدمت بلورة 8 ميجا هرتز)
- مكثفات ومقاومات متنوعة
يتم توفير مخطط أدناه. في Dragon Rider سنحتاج إلى استخدام بعض الإبداع لتوجيه الاتصالات. عادة يمكن توصيل المنفذ D مباشرة برأس LCD. ليس هذا هو الحال هنا لأن USART المطلوب للاتصال التسلسلي يستخدم PD0 و PD1. علاوة على ذلك ، لا يمكن استخدام المنفذ B لأن PB6 و PB7 قيد الاستخدام للبلورة الخارجية. الصورة أدناه هي الحل الخاص بي لهذه المشكلة. أقوم بتوصيل كبل الشريط برؤوس شاشة LCD والمنفذ B والمنفذ D ، ثم استخدم أسلاك التوصيل لعمل المسارات الصحيحة. لا تنس توصيل الجهد والأرضي برأس LCD.
برمجة
يأتي برنامج هذا المشروع في جزأين ، البرنامج الثابت الخاص بالمتحكم الدقيق ونص بايثون لتخليص موجزات RSS وإرسالها عبر الاتصال التسلسلي. AVR Firmware أنا أستخدم مكتبة Peter Fleury LCD مرة أخرى (https://jump.to / فلوري). إنه قوي وموجز ومتعدد الاستخدامات وسهل التغيير لإعداد أجهزتك. إذا نظرت إلى ملف الرأس المرفق (lcd.h) ، فسترى أنني أعمل في وضع 4 بت مع المنفذ D باعتباره بتات البيانات ، والمنفذ B هو بتات التحكم. مفهوم هذا البرنامج الثابت بسيط جدًا:
- بمجرد تشغيل وحدة التحكم الدقيقة ، تعرض "قارئ RSS" ثم تنتظر البيانات التسلسلية.
- يؤدي كل بايت من البيانات التسلسلية المستلمة إلى تحويل مخزن مؤقت من 16 حرفًا إلى اليسار وإضافة البايت إلى المخزن المؤقت ، ثم عرض المخزن المؤقت.
- يتم قبول ثلاثة أوامر خاصة بواسطة وحدة التحكم الدقيقة: 0x00 و 0x01 و 0x02. هذه شاشة واضحة ، والانتقال إلى السطر 0 ، والانتقال إلى السطر 1 على التوالي.
لقد كتبت Python ScryptI نصًا بلغة Pyton لكشط بيانات RSS وإرسالها عبر الاتصال التسلسلي. هذا يتطلب وحدة python "pyserial" والتي ربما يتعين عليك تثبيتها على نظامك حتى يعمل. يمكن تكوين موجز RSS في أعلى ملف pyton. لاحظ أنك بحاجة إلى إدخال اسم للخلاصة بالإضافة إلى عنوان url الخاص بها. هناك ثلاثة أمثلة ، أنا متأكد من أنه يمكنك اتباعها من أجل التوافق الصحيح
- قم بتجميع الأجهزة
- قم ببرمجة وحدة التحكم الدقيقة (يمكن استخدام dragon_rss.hex إذا كنت لا تريد تجميع هذا بنفسك). إعدادات الصمامات لـ ATmega8 باستخدام بلورة 8 ميجا هرتز: lfuse = 0xEF hfuse = 0xD9
- قم بتشغيل Dragon Rider وتأكد من توصيل الكبل التسلسلي (يجب أن تقرأ شاشة LCD: "قارئ RSS")
- قم بتنفيذ برنامج python (python serial_rss.py)
- يتمتع
موصى به:
إعادة استخدام بطارية الهاتف المحمول لمشروع Arduino الخاص بك: 3 خطوات
إعادة استخدام بطارية الهاتف المحمول لمشروع Arduino الخاص بك: هذه هي الطريقة التي قمت بها بإعادة تدوير بطارية هاتف محمول قديمة لتشغيل مشروع اردوينو. هذا النوع الجزئي هو nokia BLY4W 2000mAh. ومع ذلك ، فإن التقنيات المستخدمة شائعة في غالبية بطاريات الهاتف. نفدت هذه البطارية فجأة وتظهر 0 فولت
إعادة استخدام صندوق راوتر قديم لمشروع Arduino الخاص بك: 3 خطوات
إعادة تصميم صندوق راوتر قديم لمشروع Arduino الخاص بك: جاء هذا المشروع من الحاجة إلى توفير مشروع أتمتة منزلي ، قررت إعادة الغرض من جهاز توجيه PlusNet القديم الخاطئ (جهاز توجيه Thomson TG585). العلبة كانت :: صندوق معلق على الحائط منخفض المظهر من السهل قلب غطاء المقلاة
IoT Hydroponics - استخدام Watson الخاص بشركة IBM لقياسات PH و EC: 7 خطوات (بالصور)
IoT Hydroponics - استخدام Watson من IBM لقياسات PH و EC: سيوضح هذا التوجيه كيفية مراقبة EC ، ودرجة الحموضة ، ودرجة حرارة إعداد الزراعة المائية وتحميل البيانات إلى خدمة Watson من IBM. Watson مجاني للبدء به. هناك خطط مدفوعة ، لكن الخطة المجانية أكثر من كافية لهذا المشروع
كيفية استخدام Mac Terminal ، وكيفية استخدام الوظائف الرئيسية: 4 خطوات
كيفية استخدام Mac Terminal ، وكيفية استخدام الوظائف الرئيسية: سنعرض لك كيفية فتح محطة MAC. سنعرض لك أيضًا بعض الميزات داخل Terminal ، مثل ifconfig وتغيير الأدلة والوصول إلى الملفات و arp. سيسمح لك Ifconfig بالتحقق من عنوان IP الخاص بك وإعلان MAC الخاص بك
استخدام PSP كعصا تحكم للكمبيوتر ثم التحكم في جهاز الكمبيوتر الخاص بك باستخدام PSP: 5 خطوات (بالصور)
استخدام PSP كعصا تحكم للكمبيوتر ثم التحكم في جهاز الكمبيوتر الخاص بك باستخدام PSP: يمكنك القيام بالعديد من الأشياء الرائعة باستخدام منتج PSP المنزلي ، وفي هذا الدليل سأعلمك كيفية استخدام PSP الخاص بك كعصا تحكم لممارسة الألعاب ، ولكن هناك أيضًا برنامج يسمح لك باستخدام عصا التحكم الخاصة بك كالفأرة. ها هي الأم