Mündəricat:

DIY Ev Kompüteri: 4 addım
DIY Ev Kompüteri: 4 addım

Video: DIY Ev Kompüteri: 4 addım

Video: DIY Ev Kompüteri: 4 addım
Video: Keşke Daha Önce Öğrenseydik Dediğimiz Zaman Kazandıran 14 Bilgisayar Tüyosu 2024, Noyabr
Anonim
DIY Ev Kompüteri
DIY Ev Kompüteri

Bir müddət əvvəl bir ev kompüteri hazırlamaq üçün Espruino Pico istifadə edərək bir Təlimat dərc etdim:

Bunun üçün bir VGA kabelini kəsərək bir VGA monitoru bağlamağınız lazım idi, amma bu Təlimat üçün LCD ekranı olan Pixl.js adlı bir lövhədən istifadə edirəm. Bu o deməkdir ki, yalnız bir neçə tel bağlamalısınız və düzgün istifadə edilə bilən kiçik, aşağı güclü bir kompüteriniz var.

Bəs sənə nə lazımdır?

  • Bir Espruino Pixl.js
  • Əsas kimi çıxış etmək üçün bir parça plastik və ya taxta
  • Çörək lövhəsi
  • 4x4x4 KeyPad
  • Açarlar üçün çoxlu etiketlər
  • 6 dəst 8x Kişi-> Kişi Dupont tipli Jumper telləri (cəmi 48 tel)-uyğun rəngli zolaqlar həyatı çox asanlaşdırır

Addım 1: Klaviaturanın hazırlanması

Klaviaturanın hazırlanması
Klaviaturanın hazırlanması
Klaviaturanın hazırlanması
Klaviaturanın hazırlanması
Klaviaturanın hazırlanması
Klaviaturanın hazırlanması
  • 4 KeyPad'ınızı bazanıza bir-birinin yanında yapışdırın (arxadan yapışırlar). Kenarlarını aşağı kəsmək istəyə bilərsiniz, amma çox uzamamaq üçün diqqətli olun, yoxsa bəzi kontaktları kəsə bilərsiniz.
  • Çörək taxtasını ortasına yapışdırın - bu da yapışqan arxadır!
  • Atlama telini 8 uzunluğunda 4 uzunluğa bölün - hər birində rəngləri eyni tutmağa çalışın.
  • Rənglərin uyğun olduğuna əmin olaraq telləri KeyPad -ə yapışdırın. Telləri geri qatlayın və bazanızın arxasına yapışdırın. Tellərin çox bucaq altında əyilməməsi üçün bir az yapışqan ayaq əlavə etmək istəyə bilərsiniz.
  • İndi Key paddəki hər düyməyə bir etiket əlavə edin və klaviaturanı istədiyiniz kimi etiketləyin. Nümunə olaraq şəkildən istifadə edin, ancaq kodunuzu yüklədiyiniz zaman 'KEYMAP' dəyişənini əlinizdəki kimi dəyişə bilərsiniz.

Addım 2: Kabel çəkmə

Kablolama
Kablolama

İndi klaviaturanı bağlamalısınız. Hər 4x4 klaviatura bir ızgara şəklində qurulmuşdur və biz onları özləri 2x2 bir şəbəkədəki kimi bağlayırıq - böyük 8x8 düymələr şəbəkəsi düzəldirik.

Şəkildə göstərildiyi kimi, çörək taxtası boyunca 4 teldən ibarət 4 qrupa ayırın (şəkillərdəki tellərin rənglərini yoxlayın), soldan sağa:

  • KeyPad 1 İlk 4 tel -> çörək taxtasındakı ilk 4 qrup -> D0, D1, D2, D3
  • KeyPad 1 Second 4 telləri -> çörək taxtasında 4 -ün üçüncü qrupu -> D8, D9, D10, D11
  • KeyPad 2 İlk 4 tel -> çörək taxtasındakı ilk 4 qrup -> D0, D1, D2, D3
  • KeyPad 2 İkinci 4 tel
  • KeyPad 3 İlk 4 tel -> çörək taxtasında 4 -dən ibarət ikinci qrup -> D4, D5, D6, D7
  • KeyPad 3 Second 4 telləri -> çörək taxtasında 4 -ün üçüncü qrupu -> D8, D9, D10, D11
  • KeyPad 4 İlk 4 tel -> çörək taxtasında 4 -dən ibarət ikinci qrup -> D4, D5, D6, D7
  • KeyPad 4 Second 4 telləri -> çörək taxtasında 4 -cü dördüncü qrup -> D12, D13, SDA, SCL

Şəkildə 8 teldən ibarət 6 dəst var. İlk 2 klaviatura 1 və 2 -dən, ikincisi Pixl.js -ə, üçüncüsü isə 4 və 3 klaviatura üçün.

Addım 3: Proqram təminatı

İndi Pixl -in firmware -nin güncəl olduğundan əmin olun, Espruino IDE -yə qoşulun və aşağıdakı kodu yükləyin. IDE -ni ayırın və işiniz bitdi!

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

// Klaviatura üçün Açar Xəritələr

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

/* Klaviatura xəritəsindəki simvol> = 128 olarsa

128-i çıxardın və çoxluqlu açar kodları üçün bu sıra baxın*/ var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 sol String.fromCharCode (27, 91, 67), // 0x81 sağ String.fromCharCode (27, 91, 65), // 0x82 yuxarı String.fromCharCode (27, 91, 66), // 0x83 aşağı String. (27, 91, 54, 126), // 0x85 səhifə aşağı]; // Shift status var hasShift = false; setShift (s) funksiyası {hasShift = s; // əgər (hasShift) {g.setColor (1); ekranda shift göstəricisi çəkin; g.fillRect (105, 0, 128, 6); g.setColor (0); g.drawString ("SHIFT", 107, 1); g.setColor (1); } başqa {g.setColor (0); g.fillRect (105, 0, 128, 6); g.setColor (1); } g.flip (); }

// Həqiqi bir açarı simvol ardıcıllığına çevirin

// Və Loopback (konsolun olduğu) funksiyasına handleKeyPress (e) göndərin {var kx = e >> 3; var ky = e & 7; əgər (ky> 3) {// uzun sıraya çevrilsin kx+= 8; ky- = 4; } var key = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]; if (key == "\ x01") {setShift (! hasShift); } başqa {setShift (yanlış); if (key && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal enjeksiyonu (açar); }}}

// klaviatura qurun

tələb ("KeyPad"). əlaqə (KEYROW, KEYCOL, handleKeyPress);

Addım 4: İstifadə edin

İstifadə!
İstifadə!

İndi işləyir:

  • Klaviatura bir anda yalnız bir basqını aşkar edə bilər, buna görə də Shift böyük hərfləri dəyişir (sağdakı göstərici ilə) və hərf yazmaq kiçik hərflərə qayıdır. Shift və başqa bir düyməni basıb saxlamaq işləməyəcək.
  • Yazmaq olduqca ağrılı ola bilər, buna görə sözləri avtomatik doldurmaq üçün Tab düyməsini (solda) mümkün qədər istifadə edin!
  • Ekranın qrafikləri g dəyişənindəki üsullarla mövcuddur - məsələn, g.fillRect (20, 20, 40, 40) və ya g.clear ().
  • Klaviatura üçün çoxlu IO istifadə olunur, ancaq hələ də xarici aparat bağlamaq üçün istifadə edə biləcəyiniz A0, A1, A2 və A3 pinləriniz var.
  • reset () hər şeyi sıfırlayacaq - klaviatura ilə işləmə kodunuz da daxil olmaqla. Bunun qarşısını almaq üçün, Web IDE -nin əlaqə seçimlərində yenidən qurduqdan sonra da göndərmə qənaətini açın və yenidən yükləyin.
  • Kompüteriniz təəccüblü dərəcədə enerjiyə qənaət edir - hələ də təxminən 20 günlük bir batareya ömrü gözləyə bilərsiniz - həmişə açıq - tək bir CR2032 batareyası!

Tövsiyə: