Sisukord:

DIY koduarvuti: 4 sammu
DIY koduarvuti: 4 sammu

Video: DIY koduarvuti: 4 sammu

Video: DIY koduarvuti: 4 sammu
Video: 15 крутых электровелосипедов с AliExpress, Фэтбайк 2021 2024, November
Anonim
DIY koduarvuti
DIY koduarvuti

Avaldasin mõnda aega tagasi Instructable'i, kasutades koduarvuti tegemiseks Espruino Picot:

See nõudis VGA-kuvari ühendamist VGA-kaabli katkestamise teel, kuid selle juhendi jaoks kasutan tahvlit nimega Pixl.js, millel on sisseehitatud LCD-ekraan. See tähendab, et peate ühendama vaid mõne juhtme ja teil on korralikult kasutatav väike, väikese energiatarbega arvuti.

Mida siis vaja on?

  • Espruino Pixl.js
  • Plastist või puidust tükk, mis toimib alusena
  • Leivalaud
  • 4x 4x4 võtmehoidjat
  • Võtmete jaoks palju kleebiseid
  • 6 komplekti 8x isase-> isase Duponti stiilis hüppaja juhtmeid (kokku 48 juhet)-sobivad mitmevärvilised ribad muudavad elu palju lihtsamaks

Samm: klaviatuuri valmistamine

Klaviatuuri tegemine
Klaviatuuri tegemine
Klaviatuuri tegemine
Klaviatuuri tegemine
Klaviatuuri tegemine
Klaviatuuri tegemine
  • Kleepige oma 4 võtmepadja oma alusele kõrvuti (need on kleepuva seljaga). Võib -olla soovite nende servad alla lõigata, kuid olge ettevaatlik, et mitte liiga kaugele lõigata, vastasel juhul võite mõned kontaktid ära lõigata.
  • Kleepige oma leivalaud keskele - see on ka kleepuv!
  • Jagage hüppaja traat 4 pikkuseks 8 - proovige hoida värvid ühesugused.
  • Kleepige juhtmed klahvipultidesse, veendudes, et kõik värvid ühtivad. Keerake juhtmed tagasi ja kleepige need aluse taha. Võimalik, et soovite lisada kleepuvaid jalgu, et vältida juhtmete liigse nurga all painutamist.
  • Nüüd lisage igale klahvistiku nupule kleebis ja märgistage need klaviatuuri soovitud kujul. Kasutage näitena pilti, kuid koodi üleslaadimisel saate muutuja „KEYMAP” muuta olemasolevaks.

2. samm: juhtmestik

Juhtmestik
Juhtmestik

Nüüd peate klaviatuuri ühendama. Iga 4x4 klahvistik on paigutatud ruudustikuna ja me ühendame need nii, nagu oleksid nad 2x2 ruudustikus - moodustades suure 8x8 nuppude võrgu.

Ühendage juhtmed, nagu pildil näidatud, 4 leivaplaadi 4 juhtme rühma (kontrollige piltidel olevate juhtmete värve), vasakult paremale:

  • KeyPad 1 esimesed 4 juhtmest -> esimene neljaliikmeline rühm leivaplaadil -> D0, D1, D2, D3
  • KeyPad 1 Teine 4 juhtmest -> kolmas neljaliikmeline rühm leivaplaadil -> D8, D9, D10, D11
  • KeyPad 2 Esimesed 4 juhtmest -> esimene neljaliikmeline rühm leivaplaadil -> D0, D1, D2, D3
  • KeyPad 2 Teised 4 juhtmest -> neljas neljaliikmeline rühm leivaplaadil -> D12, D13, SDA, SCL
  • KeyPad 3 esimest 4 juhtmest -> teine neljaliikmeline rühm leivaplaadil -> D4, D5, D6, D7
  • KeyPad 3 Teine 4 juhtmest -> kolmas neljaliikmeline rühm leivaplaadil -> D8, D9, D10, D11
  • KeyPad 4 esimest 4 juhtmest -> teine neljaliikmeline rühm leivaplaadil -> D4, D5, D6, D7
  • KeyPad 4 Teised 4 juhtmest -> neljas neljaliikmeline rühm leivaplaadil -> D12, D13, SDA, SCL

Pildil on meil 6 komplekti 8 juhtmest. Esimesed 2 on pärit klaviatuuridest 1 ja 2, teised 2 lähevad lehele Pixl.js ja kolmandad 2 on klaviatuuridele 4 ja 3.

Samm: tarkvara

Veenduge nüüd, et teie Pixli püsivara oleks ajakohane, ühendage see Espruino IDE -ga ja laadige alla kood. Ühendage IDE lahti ja oletegi valmis!

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

// Klaviatuuri võtmekaardid

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

/* Kui klahvikaardi sümbol on> = 128, lahutage 128 ja otsige sellest massiivist mitme märgi võtmekoode*/ var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 left String.fromCharCode (27, 91, 67), // 0x81 right String.fromCharCode (27, 91, 65), // 0x82 üles String.fromCharCode (27, 91, 66), // 0x83 alla String.fromCharCode (27, 91, 53, 126), // 0x84 lehekülg üles String.fromCharCode (27, 91, 54, 126), // 0x85 lk alla]; // Nihke olek var hasShift = false; funktsioon setShift (s) {hasShift = s; // joonista ekraanile nihkeindikaator, kui (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 (); }

// Teisenda tegelik võti tähemärkide jadaks

// Ja saata Loopbackile (kus on konsool) funktsiooni käepideKeyPress (e) {var kx = e >> 3; var ky = e & 7; kui (ky> 3) {// muutuvad pikaks reaks kx+= 8; ky- = 4; } var võti = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]; if (võti == "\ x01") {setShift (! hasShift); } else {setShift (false); if (võti && võti.pikkus) {if (key.charCodeAt (0)> 127) võti = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.inject (võti); }}}

// klaviatuuri seadistamine

nõuda ("KeyPad"). connect (KEYROW, KEYCOL, handleKeyPress);

Samm: kasutage seda

Kasutades seda!
Kasutades seda!

Nüüd töötab:

  • Klaviatuur tuvastab korraga ainult ühe vajutuse, nii et Shift lülitab suurtähti (näidikuga üleval paremal) ja tähe sisestamine läheb tagasi väiketähtedeks. Shift ja teise klahvi all hoidmine ei tööta.
  • Trükkimine võib olla üsna valus, seega kasutage sõnade automaatseks täitmiseks nii palju kui võimalik tabulaatorit (vasakul)!
  • Ekraani graafika on saadaval muutuja g meetodite abil - nt g.fillRect (20, 20, 40, 40) või g.clear ().
  • Klaviatuuri jaoks kasutatakse palju IO -d, kuid teil on endiselt nööpnõelad A0, A1, A2 ja A3, mida saate kasutada välise riistvara ühendamiseks.
  • reset () lähtestab kõik - sealhulgas teie klaviatuuri käsitsemise koodi. Selle vältimiseks lülitage salvestamine saatmisel sisse ka pärast Web IDE sidevalikute lähtestamist ja laadige uuesti üles.
  • Teie arvuti on üllatavalt energiasäästlik - võite siiski oodata umbes 20 -päevast aku kasutusaega - alati sisse ja välja lülitades ühe CR2032 aku!

Soovitan: