جدول المحتويات:

DemUino - كمبيوتر منزلي / وحدة تحكم: 7 خطوات
DemUino - كمبيوتر منزلي / وحدة تحكم: 7 خطوات

فيديو: DemUino - كمبيوتر منزلي / وحدة تحكم: 7 خطوات

فيديو: DemUino - كمبيوتر منزلي / وحدة تحكم: 7 خطوات
فيديو: DemUino 2024, يوليو
Anonim
Image
Image
حرق Bootloader
حرق Bootloader

كمبيوتر مستوحى من Arduino من DemeterArt حقق أقصى استفادة من لوحة مفاتيح PS2 القديمة. اخترقها في جهاز كمبيوتر شخصي مخصص للتحكم في الأشياء! كنت أرغب دائمًا في بناء جهاز الكمبيوتر المنزلي الخاص بي ، نوعًا من الطراز القديم ، ولا شيء رائع ، ولكن مع إمكانات خاصة مصممة وفقًا لتفضيلاتي. لذلك ، وصلت إليها باستخدام atmega328 MCU ومجموعة تطوير Arduino.

اسمحوا لي أن أصرح أن هذا المشروع كان سيستغرق وقتًا أطول بكثير مع نتائج نهائية مشكوك فيها لولا المعجبين الموهوبين الموجودين هناك والذين يقدمون المكتبات المجانية بشكل أقل أنانية ليستخدمها الجميع. شكرا لكم جميعا:-)

قم بزيارة موقعي لقراءة القصة كاملة وتنزيل جميع الملفات ذات الصلة

www.sites.google.com/site/demeterart

الخطوة 1: الميزات

  • استنادًا إلى ATMEGA328 مع فلاش 32 كيلو بايت و 2 كيلو بايت SRAM و 1 كيلو بايت إيبروم.
  • دعم الأنماط التفاعلية والدُفعات
  • محرر الخط ووضع القائمة أثناء التحرير
  • 8 أحرف مخصصة لرسومات المستخدم
  • 60 خطوة برنامج مرقمة 00 ،… ، 99
  • حلقات "if" الشرطية و "while" و "for" بالإضافة إلى عبارات "goto" و "sub" للتفرع
  • التعبيرات الحسابية والرياضية الأساسية بالإضافة إلى الاختبارات المنطقية
  • تسمح متغيرات النظام للأحداث الموقوتة ، والمتوسط ، وجذر متوسط التربيع ، والقيم الدنيا والقصوى من المسامير التناظرية ، إلخ
  • 26 متغير مستخدم للتفاعل مع متغيرات وأوامر النظام
  • 104 بايت من صفيف قابل للتوجيه للمستخدم أو 52 عددًا صحيحًا قصيرًا
  • القدرة على قراءة / كتابة بيانات البرنامج بالإضافة إلى التعليمات البرمجية أثناء التنقل (متغير p)
  • التطبيق مصغرة الذبذبات مع شخصيات مخصصة للرسومات الزائفة
  • حفظ وتحميل البرامج والبيانات من / إلى EEPROM
  • تحميل / حفظ البرامج والمتغيرات من / إلى جهاز الكمبيوتر
  • autoexec في تحميل وتشغيل برنامج من EEPROM بعد كل إعادة تعيين
  • 9 دبابيس GPIO (مضمنة SPI) متوفرة في موصل DB15 الخارجي
  • الطنان للتأثيرات الصوتية

الخطوة 2: الأشياء التي سوف تحتاجها

لوحة مفاتيح قديمة من طراز ps / 2 سميكة بما يكفي لإيواء شاشة عرض الأحرف LCD PCB (التنسيق المتوازي الشائع) شريحة MAX232 لمنفذ RS232 atmel atmega328PU Arduino مع مجموعة تطوير IDE 1.0.1 LM7805 منظم جسر الجرس 5V ، المكثفات ، زر ضغط إعادة الضبط ، موصلات وما إلى ذلك

الخطوة 3: حرق Bootloader

لذلك ، بعد شراء شريحة atmega328PU "فارغة" هناك قرار يتعين اتخاذه. هل أستخدم مبرمجًا خاصًا سواء خارجيًا أو مزود خدمة الإنترنت أو هل أحرق محمل الإقلاع Arduino في الوحش وأجعل الوحدة قابلة للبرمجة عبر منفذ UART الخاص به؟ اخترت الأخير لجعل حياتي أسهل! يشغل محمل الإقلاع الجديد نصف كيلو بايت فقط من ذاكرة الفلاش مما يترك ما يزيد قليلاً عن 31 كيلو بايت من برنامج المستخدم والبيانات الثابتة المتاحة. يغطي موقع Arduino حالة حرق أداة تحميل التشغيل على شريحة جديدة ، عندما يتعلق الأمر باستخدام avrdude لنسخ الشريحة المستهدفة فعليًا ، فشلت العملية مع وجود خطأ يشير إلى المعرف الخاطئ لوحدة MCU المعينة. لذلك بعد بعض البحث وجدت هذا الرجل الذي فهم الأمر بشكل صحيح واتبعت إجراءه. كان الاختلاف الوحيد هو ملفي تكوين ، avrdude.conf و board.txt مطلوب بواسطة avrdude و arduino IDE 1.0.1 لجعل ذلك ممكنًا. بعد نسخ الملفين إلى مواقعهم الصحيحة (نسخ الملفات القديمة أولاً) ، كان الخيار "arduino328" من الأدوات-> اللوحة متاحًا وشرع avrdude في حرق الصمامات ومحمل الإقلاع. الآن الشريحة جاهزة للبرمجة من داخل الجهاز الجديد!

الخطوة الرابعة: بناء الوحدة

بناء الوحدة
بناء الوحدة
بناء الوحدة
بناء الوحدة

تم استخدام لوح مثقوب بشرائط نحاسية كحل تجميع سريع مع مآخذ DIP للرقائق ، كما تعلم ، في حالة! ثم تم فتح الثقوب والقطع للموصلات وزر إعادة الضبط وشاشة LCD من خلال البلاستيك القوي والسميك للغاية للوحة المفاتيح. نعم ، لقد تم بناؤه قبل 25 عامًا! تبع ذلك فوضى الأسلاك المنبثقة من ثنائي الفينيل متعدد الكلور باتجاه الأجهزة الطرفية المختلفة. فحص استمرارية بدائي ثم تم توصيل الإمداد بدون شرائح مملوءة فقط للتحقق من المقابس بحثًا عن الفولتية المناسبة. ثم جاء في 2 ICs وتم إغلاق علبة لوحة المفاتيح بإحكام من خلال اللقطات البلاستيكية في الأسفل. كانت الوحدة جاهزة لحرق الرسومات في وحدة التحكم!

أقترح أن يستخدم المرء مكثفات غير قطبية 1 فائق التوهج / 16 فولت لمضخات شحن MAX232. حدد موقع مكثفات الفصل 100nF للشريحتين في أقرب مكان ممكن من دبابيس VCC و GND ذات الصلة. استخدم وصلة نجمية للطاقة والأرض المشار إليها في منظم LM7805. يمكن أن يكون المحول 2 عبارة عن رابط يعتمد على الانطباق ولكن من الجيد أن يكون لديك فقط لتجنب عمليات إعادة تعيين MCU غير المرغوب فيها من الكمبيوتر المضيف في بعض الحالات. على أي حال ، يجب إغلاق المفتاح للسماح لـ Arduino IDE بنسخ الرسم عن طريق إعادة تعيين MCU الهدف (دبوس DTR لـ RS232). في حالتي ، يكون الاتصال دائمًا (مغلقًا دائمًا). استخدم المقاوم المتسلسل للجرس لعزل عدة nFs من السعة من بوابة القيادة … لا تعرف أبدًا.. حدد موقع XTAL ومكثفات التحميل 18-22pF في أقرب مكان ممكن من المسامير الخاصة بوحدة التحكم.

نظرًا لجسر المعدل ، قد يتم تشغيل الوحدة بواسطة محولات طاقة التيار المتردد والتيار المستمر. في حالة التيار المستمر ، يوجد انخفاض في الجهد بمقدار 1.5 فولت بين المحول والمدخل إلى المنظم. في حالة التيار المتردد ، يكون إدخال المنظم حوالي 1.4 ضعف خرج RMS للمحول أو أقل بسبب التحميل. إذا كان الفرق بين إدخال المنظم ومخرجه (+ 5 فولت) كبيرًا ، على سبيل المثال 7 فولت ، فإن الطاقة التي يستهلكها المنظم تقترب من 0.5 وات ومن الأفضل استخدام مبدد حراري صغير لتركيب الشريحة (بشرط) هناك مساحة لذلك) لساعات طويلة من العمل في الطقس الحار.

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

الخطوة 5: رسم بياني

تخطيطي
تخطيطي

الخطوة 6: تشغيل البرنامج على متن الطائرة

هذا هو الرسم الذي يجعل كل شيء يحدث … و 32 كيلوبايت لا يكفي! يمكنك إما استخدامه بدون تعديل ، وفي هذه الحالة سأكون ممتنًا للإشارة إلى اسمي ، أو تغييره حسب الرغبة وانساني ؛-)

هذه هي الوثائق التفصيلية حول الجهاز.

ملخص الأوامر والتعبيرات

: سطر تعليق غير قابل للطباعة

ai: إرفاق المقاطعة 0 (دبوس D2)

ع: قراءة التناظرية

aw: "كتابة تمثيلية" لكل اردوينو أو بشكل أكثر ملاءمة pwm

كاليفورنيا: التقاط التناظرية في مجموعة

cl: يمسح العرض cno: return * Prgm فهرس رقم السطر

di: انتظر سلسلة من النبضات وقم بقياس المدة والتوقيت

dl: تأخير

do: بالاقتران مع "wh"

dr: رقمي قراءة أي دبوس

dw: الكتابة الرقمية أي دبوس

إد: وضع المحرر / تحميل البرنامج من جهاز الكمبيوتر / إعادة ترقيم الخطوط

el: وظيفة الوصول EEPROM

النهاية: بيان النهاية الخاص بالبرنامج

ensb: ينتهي الروتين الفرعي

es: وظيفة الوصول EEPROM

fl: مرشح متوسط متحرك بسيط

fr: الحلقة التالية (fr-nx)

اذهب: انتقل إلى خطوة البرنامج

gosb: متابعة التنفيذ إلى الروتين الفرعي

gt: ينتظر إدخال المستخدم

إذا: اختبار الحالة والانتقال إلى الخطوة

io: GPIO 1-9 بت

ld: تحميل / دمج البرنامج من EEPROM

lp:: حلقة يتم التحكم فيها بواسطة لوحة المفاتيح في الوضع التفاعلي

ls: وضع القائمة / إرسال البرنامج إلى جهاز الكمبيوتر بخط في المرة الواحدة

مل: احصل على الوقت

مم: عرض الذاكرة الخالية

nos: تحويل الرقم إلى سلسلة

nx: بالتزامن مع "fr"

pl: مجموعة مؤامرة cxx

مساءا: تعيين دبابيس للداخل أو الإخراج

pr: طباعة رسالة أو قيمة أو حرف مخصص

rgc: أمر نسخ النطاق للصفائف

rgs: أمر تعيين النطاق للمصفوفات

rn: قم بتشغيل البرنامج في ذاكرة الوصول العشوائي

rs: إعادة تعيين ضعيف

rx: تلقي حرف عبر RS232

si: إدخال تسلسلي متزامن مع دبابيس على مدار الساعة والبيانات

sm: تطبيق راسم الذبذبات الصغير sno: يحول السلسلة إلى رقم

لذلك: إخراج تسلسلي متزامن مع دبابيس على مدار الساعة والبيانات

sub: تعلن روتين فرعي

sv: حفظ البرنامج في EEPROM

tn: تنبيه نغمة

tx: إرسال رقم عبر RS232

wh: حلقة do-while تُستخدم جنبًا إلى جنب مع "do"

الخطوة 7: مقطع فيديو للتطبيق الصغير قيد التشغيل

قم بزيارة موقعي لقراءة القصة كاملة وتنزيل جميع الملفات ذات الصلة

www.sites.google.com/site/demeterart

موصى به: