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

جهاز كمبيوتر منزلي DIY: 4 خطوات
جهاز كمبيوتر منزلي DIY: 4 خطوات

فيديو: جهاز كمبيوتر منزلي DIY: 4 خطوات

فيديو: جهاز كمبيوتر منزلي DIY: 4 خطوات
فيديو: ( شاهد بنفسك ( أسهل طريقة لتسريع الكومبيوتر 2024, شهر نوفمبر
Anonim
جهاز كمبيوتر منزلي
جهاز كمبيوتر منزلي

لقد قمت بنشر Instructable منذ فترة باستخدام Espruino Pico لصنع كمبيوتر منزلي:

يتطلب ذلك منك توصيل شاشة VGA عن طريق قطع كابل VGA ، ولكن بالنسبة لهذا Instructable ، أستخدم لوحة تسمى Pixl.js ، والتي تحتوي على شاشة LCD مدمجة. هذا يعني أن كل ما عليك توصيله هو عدد قليل من الأسلاك ولديك كمبيوتر صغير قابل للاستخدام بشكل صحيح ومنخفض الطاقة.

فماذا تحتاج؟

  • أحد Espruino Pixl.js
  • قطعة من البلاستيك أو الخشب لتكون بمثابة قاعدة
  • لوح توصيل
  • 4x4 KeyPads
  • الكثير من الملصقات للمفاتيح
  • 6 مجموعات من 8x ذكر-> ذكر أسلاك توصيل بنمط دوبونت (إجمالي 48 سلكًا) - مطابقة الشرائط متعددة الألوان تجعل الحياة أسهل كثيرًا

الخطوة 1: عمل لوحة المفاتيح

صنع لوحة المفاتيح
صنع لوحة المفاتيح
صنع لوحة المفاتيح
صنع لوحة المفاتيح
صنع لوحة المفاتيح
صنع لوحة المفاتيح
  • قم بلصق 4 لوحات المفاتيح بجوار بعضها البعض على قاعدتك (فهي مثبتة في الخلف). قد ترغب في تقليم حوافها ، لكن احرص على عدم القص كثيرًا وإلا قد تقطع بعض العدسات اللاصقة.
  • ضع لوح التجارب لأسفل في المنتصف - إنه لاصق للخلف أيضًا!
  • قم بتقسيم سلك الطائر إلى 4 أطوال من 8 - حاول الاحتفاظ بالألوان كما هي في كل منها.
  • قم بلصق الأسلاك في KeyPads ، مع التأكد من تطابق الألوان. اطوِ الأسلاك للخلف وألصقها في مؤخرة قاعدتك. قد ترغب في إضافة بعض الأقدام اللاصقة للحفاظ على الأسلاك من الانحناء بزاوية كبيرة جدًا.
  • أضف الآن ملصقًا إلى كل زر في لوحة المفاتيح وقم بتسميته كما تريد لوحة المفاتيح. استخدم الصورة كمثال ، ولكن عند تحميل الكود الخاص بك ، يمكنك تغيير متغير "KEYMAP" إلى ما لديك.

الخطوة 2: الأسلاك

الأسلاك
الأسلاك

الآن أنت بحاجة إلى توصيل لوحة المفاتيح. يتم ترتيب كل لوحة مفاتيح 4x4 على شكل شبكة ، ونحن نقوم بتوصيل الأسلاك لهم كما لو كانوا هم أنفسهم في شبكة 2x2 - مما يجعل شبكة كبيرة من الأزرار 8x8.

سلك كما هو موضح في الصورة في 4 مجموعات من 4 أسلاك عبر اللوح (تحقق من ألوان الأسلاك في الصور) ، من اليسار إلى اليمين:

  • KeyPad 1 أول 4 أسلاك -> المجموعة الأولى من 4 على اللوح -> D0 ، D1 ، D2 ، D3
  • لوحة المفاتيح 1 الثانية 4 أسلاك -> المجموعة الثالثة من 4 على اللوح -> D8 ، D9 ، D10 ، D11
  • KeyPad 2 أول 4 أسلاك -> المجموعة الأولى من 4 على اللوح -> D0 ، D1 ، D2 ، D3
  • لوحة المفاتيح 2 الثانية 4 أسلاك -> المجموعة الرابعة المكونة من 4 على اللوح -> D12 ، D13 ، SDA ، SCL
  • KeyPad 3 الأسلاك الأربعة الأولى -> المجموعة الثانية المكونة من 4 على اللوح -> D4 ، D5 ، D6 ، D7
  • KeyPad 3 Second 4 wires -> المجموعة الثالثة المكونة من 4 على اللوح -> D8 ، D9 ، D10 ، D11
  • KeyPad 4 الأسلاك الأربعة الأولى -> المجموعة الثانية المكونة من 4 على اللوح -> D4 ، D5 ، D6 ، D7
  • KeyPad 4 Second 4 الأسلاك -> المجموعة الرابعة المكونة من 4 على اللوح -> D12 ، D13 ، SDA ، SCL

في الصورة لدينا 6 مجموعات من 8 أسلاك. أول 2 من لوحات المفاتيح 1 و 2 ، والثاني 2 يذهب إلى Pixl.js ، والثالث 2 من لوحات المفاتيح 4 و 3.

الخطوة الثالثة: البرمجيات

تأكد الآن من تحديث برنامج Pixl الثابت ، واتصل به باستخدام Espruino IDE ، وقم بتحميل الكود أدناه. افصل IDE وانتهيت!

// Keyboard wiringvar KEYROW = [D7، D6، D5، D4، D3، D2، D1، D0] ؛ var KEYCOL = [A5، A4، D13، D12، D11، D10، D9، D8]؛

// خرائط المفاتيح للوحة المفاتيح

var KEYMAPLOWER = ["` 1234567890 - = / x08 "،" / tqwertyuiop n "،" / 0asdfghjkl؛ '# / x84 / x82 / x85 "،" / x01 / zxcvbnm،./ / x80 / x83 / x81 "،] ؛ var KEYMAPUPPER = ["¬! \" £ $٪ ^ & * () _ + / x08 "،" / tQWERTYUIOP {} n "،" / 0ASDFGHJKL: @ ~ / x84 / x82 / x85 "،" / x01 | ZXCVBNM؟ / x80 / x83 / x81 "،] ؛

/ * إذا كان الحرف في خريطة المفاتيح> = 128 ،

اطرح 128 وابحث في هذه المصفوفة عن رموز المفاتيح متعددة الأحرف * / var KEYEXTRA = [String.fromCharCode (27، 91، 68)، // 0x80 left String.fromCharCode (27، 91، 67)، // 0x81 right String.fromCharCode (27، 91، 65)، // 0x82 up String.fromCharCode (27، 91، 66)، // 0x83 down String.fromCharCode (27، 91، 53، 126)، // 0x84 page up String.fromCharCode (27، 91، 54، 126)، // 0x85 page down] ؛ // حالة التحول var hasShift = false ؛ وظيفة setShift (s) {hasShift = s ؛ // رسم مؤشر التحول على الشاشة إذا (hasShift) {g.setColor (1) ؛ ز.ملء تصحيح (105 ، 0 ، 128 ، 6) ؛ g.setColor (0) ؛ g.drawString ("SHIFT"، 107، 1) ؛ g.setColor (1) ؛ } else {g.setColor (0) ؛ ز.ملء تصحيح (105 ، 0 ، 128 ، 6) ؛ g.setColor (1) ؛ } g.flip () ؛ }

// تحويل مفتاح فعلي إلى سلسلة من الأحرف

// وأرسل إلى Loopback (حيث تكون وحدة التحكم) function handleKeyPress (e) {var kx = e >> 3 ؛ var ky = e & 7 ؛ إذا (ky> 3) {// تحول إلى صف طويل kx + = 8 ؛ ky- = 4 ؛ } var key = hasShift؟ KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]؛ إذا (مفتاح == "\ x01") {setShift (! hasShift) ؛ } else {setShift (false) ؛ if (key && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128] ؛ Terminal.inject (مفتاح) ؛ }}}

// إعداد لوحة المفاتيح

تتطلب ("KeyPad"). connect (KEYROW ، KEYCOL ، handleKeyPress) ؛

الخطوة 4: استخدامه

استخدامه!
استخدامه!

إنه يعمل الآن:

  • يمكن للوحة المفاتيح الكشف عن ضغطة واحدة فقط في كل مرة ، لذلك يقوم مفتاح Shift بتبديل الأحرف الكبيرة (مع وجود مؤشر في أعلى اليمين) ، وكتابة الحرف يعود إلى الأحرف الصغيرة. الضغط باستمرار على مفتاح Shift ولن يعمل مفتاح آخر.
  • يمكن أن تكون الكتابة مؤلمة للغاية ، لذا استخدم مفتاح Tab (على اليسار) قدر الإمكان لملء الكلمات تلقائيًا!
  • تتوفر الرسومات الخاصة بالشاشة عبر طرق متغير g - على سبيل المثال ، g.fillRect (20 ، 20 ، 40 ، 40) أو g.clear ().
  • يتم استخدام الكثير من IO للوحة المفاتيح ، ولكن لا يزال لديك دبابيس A0 و A1 و A2 و A3 يمكنك استخدامها لتوصيل الأجهزة الخارجية.
  • إعادة تعيين () ستعيد تعيين كل شيء - بما في ذلك الرمز الخاص بك للتعامل مع لوحة المفاتيح. لتجنب ذلك ، قم بتشغيل حفظ عند الإرسال ، حتى بعد إعادة التعيين في خيارات اتصالات Web IDE وتحميله مرة أخرى.
  • جهاز الكمبيوتر الخاص بك موفر للطاقة بشكل مدهش - لا يزال بإمكانك توقع عمر بطارية يقارب 20 يومًا - دائمًا قيد التشغيل - من بطارية CR2032 واحدة!

موصى به: