Cuprins:

DIY Home Computer: 4 pași
DIY Home Computer: 4 pași

Video: DIY Home Computer: 4 pași

Video: DIY Home Computer: 4 pași
Video: Cum construim un PC de la ZERO - NERIUS DIY by CipFlixTV 2024, Noiembrie
Anonim
Computer de casă DIY
Computer de casă DIY

Am publicat un Instructable cu ceva timp în urmă folosind un Espruino Pico pentru a face un computer de acasă:

Acela ți-a cerut să conectezi un monitor VGA tăind un cablu VGA, dar pentru acest instructabil folosesc o placă numită Pixl.js, care are ecranul LCD încorporat. Înseamnă că tot ce trebuie să vă conectați sunt câteva fire și aveți un computer mic, de mică putere, care poate fi utilizat în mod corespunzător.

Deci, de ce ai nevoie?

  • Un Espruino Pixl.js
  • O bucată de plastic sau lemn pentru a acționa ca bază
  • Un panou
  • Tastaturi 4x 4x4
  • O mulțime de autocolante pentru chei
  • 6 seturi de 8 fire de tip jumper masculin> masculin dupont (48 fire în total) - benzi multicolore potrivite fac viața mult mai ușoară

Pasul 1: realizarea tastaturii

Realizarea tastaturii
Realizarea tastaturii
Realizarea tastaturii
Realizarea tastaturii
Realizarea tastaturii
Realizarea tastaturii
  • Așezați-vă cele 4 KeyPad-uri una lângă cealaltă pe bază (sunt lipite în spate). Poate doriți să le tăiați marginile în jos, dar aveți grijă să nu tăiați prea mult sau s-ar putea să tăiați unele contacte.
  • Îndepărtați-vă panoul în mijloc - este și lipicios!
  • Împărțiți firul jumperului în 4 lungimi de 8 - încercați să păstrați culorile la fel pe fiecare.
  • Introduceți firele în tastatură, asigurându-vă că toate culorile se potrivesc. Îndoiți firele înapoi și fixați-le pe partea din spate a bazei. S-ar putea să doriți să adăugați niște picioare lipicioase pentru a salva firele de a nu se îndoaie într-un unghi prea mare.
  • Acum adăugați un autocolant la fiecare buton din tastatura și etichetați-le după cum doriți tastatura. Utilizați imaginea ca exemplu, dar atunci când încărcați codul, puteți schimba variabila „KEYMAP” la ceea ce aveți.

Pasul 2: Cablare

Cablare
Cablare

Acum trebuie să conectați tastatura. Fiecare tastatură 4x4 este aranjată ca o rețea și le conectăm ca și cum ar fi ele însele într-o rețea 2x2 - făcând o rețea mare de butoane de 8x8.

Sârmă așa cum se arată în imagine în 4 grupuri de 4 fire pe panoul de verificare (verificați culorile firelor din imagini), cu stânga la dreapta:

  • KeyPad 1 Primele 4 fire -> primul grup de 4 pe panou -> D0, D1, D2, D3
  • KeyPad 1 Second 4 fire -> al treilea grup de 4 pe panou -> D8, D9, D10, D11
  • KeyPad 2 Primele 4 fire -> primul grup de 4 pe panou -> D0, D1, D2, D3
  • KeyPad 2 Second 4 fire -> al patrulea grup de 4 pe breadboard -> D12, D13, SDA, SCL
  • KeyPad 3 Primele 4 fire -> al doilea grup de 4 pe panou -> D4, D5, D6, D7
  • KeyPad 3 Second 4 fire -> al treilea grup de 4 pe panou -> D8, D9, D10, D11
  • KeyPad 4 Primele 4 fire -> al doilea grup de 4 pe panou -> D4, D5, D6, D7
  • KeyPad 4 Second 4 fire -> al patrulea grup de 4 pe panou -> D12, D13, SDA, SCL

În imagine avem 6 seturi de 8 fire. Primele 2 sunt de la tastaturile 1 și 2, al doilea 2 se îndreaptă către Pixl.js, iar al treilea 2 este de la tastaturile 4 și 3.

Pasul 3: Software

Acum asigurați-vă că firmware-ul Pixl este actualizat, conectați-vă la acesta cu IDE-ul Espruino și încărcați codul de mai jos. Deconectați IDE și ați terminat!

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

// Hărți cheie pentru tastatură

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

/ * Dacă un caracter din harta tastelor este> = 128, scădeți 128 și căutați în această matrice coduri de chei cu mai multe caractere * / 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 pagină în jos]; // Shift status var hasShift = false; function setShift (s) {hasShift = s; // desenați indicatorul de schimbare pe ecran dacă (hasShift) {g.setColor (1); g.fillRect (105, 0, 128, 6); g.setColor (0); g.drawString ("SHIFT", 107, 1); g.setColor (1); } else {g.setColor (0); g.fillRect (105, 0, 128, 6); g.setColor (1); } g.flip (); }

// Conversia unei chei reale într-o secvență de caractere

// Și trimite la Loopback (unde este consola) funcția handleKeyPress (e) {var kx = e >> 3; var ky = e & 7; if (ky> 3) {// transformați-vă în rândul lung kx + = 8; ky- = 4; } cheie var = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]; if (cheie == "\ x01") {setShift (! hasShift); } else {setShift (false); if (key && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.inject (cheie); }}}

// configurați tastatura

require ("KeyPad"). conectare (KEYROW, KEYCOL, handleKeyPress);

Pasul 4: Folosind-o

Folosindu-l!
Folosindu-l!

Acum funcționează:

  • Tastatura poate detecta o singură apăsare pe rând, astfel încât Shift comută literele mari (cu un indicator în dreapta sus) și tastarea unei litere revine la minuscule. Ținând apăsată tasta Shift și o altă tastă nu va funcționa.
  • Tastarea poate fi destul de dureroasă, așa că folosiți tasta Tab (din stânga) cât mai mult posibil pentru completarea automată a cuvintelor!
  • Grafica pentru ecran este disponibilă prin metode pe variabila g - de exemplu, g.fillRect (20, 20, 40, 40) sau g.clear ().
  • O mulțime de IO este utilizată pentru tastatură, dar aveți în continuare pinii A0, A1, A2 și A3 pe care îi puteți utiliza pentru conectarea hardware-ului extern.
  • reset () va reseta totul - inclusiv codul dvs. pentru manipularea tastaturii. Pentru a evita acest lucru, activați Salvare la trimitere, chiar și după resetare în opțiunile de comunicare ale IDE Web și încărcați din nou.
  • Calculatorul dvs. este surprinzător de eficient din punct de vedere al consumului de energie - vă puteți aștepta în continuare la o durată de viață a bateriei de aproximativ 20 de zile - întotdeauna pornit - oprit cu o singură baterie CR2032!

Recomandat: