Mundarija:

DIY uy kompyuteri: 4 qadam
DIY uy kompyuteri: 4 qadam

Video: DIY uy kompyuteri: 4 qadam

Video: DIY uy kompyuteri: 4 qadam
Video: Грузовой Трехколесный Велосипед Самоделка. Как сделать трайк своими руками. tricycle hand made. 2024, Iyul
Anonim
DIY uy kompyuteri
DIY uy kompyuteri

Men uy kompyuterini yaratish uchun Espruino Pico yordamida bir muncha vaqt oldin ko'rsatma nashr qildim:

Buning uchun siz VGA monitorini VGA kabelini uzib ulashingiz kerak edi, lekin bu ko'rsatma uchun men LCD displeyli Pixl.js taxtasidan foydalanaman. Bu shuni anglatadiki, siz faqat bir nechta simni ulashingiz kerak va sizda to'g'ri ishlaydigan kichik quvvatli kompyuter bor.

Xo'sh, sizga nima kerak?

  • Espruino Pixl.js
  • Baza sifatida harakat qilish uchun plastmassa yoki yog'och bo'lagi
  • Non paneli
  • 4x4x4 klaviatura
  • Kalitlar uchun juda ko'p stikerlar
  • 6 ta 8x Erkak-> Erkak Dupont uslubidagi jumper simlari (jami 48 ta sim)-rang-barang chiziqlarga mos kelishi hayotni ancha osonlashtiradi.

1 -qadam: Klaviatura yaratish

Klaviatura yaratish
Klaviatura yaratish
Klaviatura yaratish
Klaviatura yaratish
Klaviatura yaratish
Klaviatura yaratish
  • 4 ta klaviatura panelini bir-birining yoniga joylashtiring (ular yopishqoq). Siz ularning qirralarini pastga qirqib tashlashni xohlashingiz mumkin, lekin juda uzoqdan kesishdan ehtiyot bo'ling, aks holda ba'zi kontaktlarni uzib qo'yishingiz mumkin.
  • Non taxtangizni o'rtasiga qo'ying - bu ham yopishqoq!
  • O'tish simini 8 uzunlikdagi 4 uzunlikka bo'ling - har birining rangini bir xil saqlashga harakat qiling.
  • Ranglarning bir -biriga mos kelishiga ishonch hosil qilib, simlarni KeyPad -ga joylashtiring. Simlarni orqaga katlayın va ularni taglikning orqa tomoniga yopishtiring. Simlarni haddan tashqari burchak ostida egilishidan qutqarish uchun siz yopishqoq oyoqlarni qo'shishingiz mumkin.
  • Endi klaviatura panelidagi har bir tugmachaga stiker qo'shing va klaviaturani xohlaganingizcha belgilang. Misol sifatida tasvirni ishlating, lekin kodingizni yuklaganingizda "KEYMAP" o'zgaruvchisini o'zingiznikiga o'zgartirishingiz mumkin.

2 -qadam: simlarni ulash

Ulanish
Ulanish

Endi siz klaviaturani ulashingiz kerak. Har bir 4x4 klaviatura panjara sifatida joylashtirilgan va biz ularni xuddi 2x2 katakchadagidek o'tkazamiz - 8x8 o'lchamli tugmachalardan iborat katta panjara.

Rasmda ko'rsatilgandek, non paneli bo'ylab 4 ta simdan iborat 4 guruhga bo'ling (tasvirlardagi simlarning ranglarini tekshiring), chapdan o'ngga:

  • KeyPad 1 Birinchi 4 ta sim -> non panelidagi birinchi 4 guruh -> D0, D1, D2, D3
  • KeyPad 1 Ikkinchi 4 simlar -> to'rtinchi guruhning to'rtinchi guruhi -> D8, D9, D10, D11
  • KeyPad 2 Birinchi 4 ta sim -> non panelidagi birinchi 4 guruh -> D0, D1, D2, D3
  • KeyPad 2 Second 4 simlari -> 4 -guruhli to'rtta guruh -> D12, D13, SDA, SCL
  • KeyPad 3 Birinchi 4 ta sim -> non panelidagi 4dan iborat ikkinchi guruh -> D4, D5, D6, D7
  • KeyPad 3 Ikkinchi 4 simlar -> to'rtinchi guruhning to'rtinchi guruhi -> D8, D9, D10, D11
  • KeyPad 4 Birinchi 4 ta sim -> non panelidagi 4dan iborat ikkinchi guruh -> D4, D5, D6, D7
  • KeyPad 4 Second 4 simlari -> 4 -guruhli to'rtinchi guruh -> D12, D13, SDA, SCL

Rasmda bizda 8 ta simlarning 6 ta to'plami bor. Birinchi 2 - klaviatura 1 va 2 -dan, ikkinchisi - Pixl.js -ga, uchinchisi - 4 va 3 -klaviatura.

3 -qadam: dasturiy ta'minot

Endi Pixl dasturiy ta'minoti yangilanganligiga ishonch hosil qiling, unga Espruino IDE bilan ulaning va quyidagi kodni yuklang. IDE -ni uzing va ishingiz tugadi!

// Klaviatura simlari KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Klaviatura uchun kalit xaritalar

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 ",];

/* Agar kalit xaritadagi belgi> = 128 bo'lsa, 128 ni olib tashlang va bu qatordan ko'p belgili kalit kodlarini qidiring*/ var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 chap String.fromCharCode (27, 91, 67), // 0x81 o'ng qator.fromCharCode (27, 91, 65), // 0x82 yuqoriga String.fromCharCode (27, 91, 66), // 0x83 pastga String. (27, 91, 54, 126), // 0x85 bet pastga]; // Shift holati var hasShift = false; setShift (lar) funktsiyasi {hasShift = s; // ekranda shift indikatorini chizish, agar (hasShift) {g.setColor (1); g.fillRect (105, 0, 128, 6); g.setColor (0); g.drawString ("SHIFT", 107, 1); g.setColor (1); } boshqa {g.setColor (0); g.fillRect (105, 0, 128, 6); g.setColor (1); } g.flip (); }

// Haqiqiy kalitni belgilar ketma -ketligiga aylantiring

// Va Loopback (konsol qaerda) funktsiyasini yuborish handleKeyPress (e) {var kx = e >> 3; var ky = e & 7; agar (ky> 3) {// uzun qatorga aylansa kx+= 8; ky- = 4; } var key = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]; if (key == "\ x01") {setShift (! hasShift); } boshqa {setShift (noto'g'ri); if (key && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.in'ektsiya (kalit); }}}

// klaviaturani o'rnating

talab ("KeyPad"). ulanish (KEYROW, KEYCOL, handleKeyPress);

4 -qadam: undan foydalaning

Buni ishlatish!
Buni ishlatish!

Endi u ishlaydi:

  • Klaviatura bir vaqtning o'zida faqat bitta bosishni aniqlay oladi, shuning uchun Shift katta harflarni o'zgartiradi (ko'rsatkich yuqori o'ngda) va harfni yozish kichik harflarga qaytadi. Shift va boshqa tugmachani bosib ushlab turish ishlamaydi.
  • Yozish juda og'riqli bo'lishi mumkin, shuning uchun so'zlarni avtomatik to'ldirish uchun iloji boricha Tab tugmachasini (chapda) ishlating!
  • Ekranning grafikasi g o'zgaruvchisidagi usullar yordamida mavjud - masalan, g.fillRect (20, 20, 40, 40) yoki g.clear ().
  • Klaviatura uchun juda ko'p IO ishlatiladi, lekin sizda tashqi qurilmalarni ulash uchun foydalanishingiz mumkin bo'lgan A0, A1, A2 va A3 pinlari mavjud.
  • reset () hamma narsani, shu jumladan klaviatura bilan ishlash kodini tiklaydi. Bunga yo'l qo'ymaslik uchun, Web IDE -ning aloqa opsiyalari qayta o'rnatilgandan keyin ham, yuklashni saqlashni yoqing.
  • Sizning kompyuteringiz hayratlanarli darajada energiya tejamkor - siz hali ham taxminan 20 kunlik batareyaning ishlash muddatini kutishingiz mumkin - har doim bitta CR2032 batareyasi o'chadi!

Tavsiya: