Sisällysluettelo:

DIY -kotitietokone: 4 vaihetta
DIY -kotitietokone: 4 vaihetta

Video: DIY -kotitietokone: 4 vaihetta

Video: DIY -kotitietokone: 4 vaihetta
Video: Металл больше не нужен! Теперь есть ФИБЕРГЛАСС своими руками в домашних условиях. 2024, Marraskuu
Anonim
DIY kotitietokone
DIY kotitietokone

Julkaisin Instructable-ohjelman jonkin aikaa sitten käyttäen Espruino Picoa kotitietokoneen tekemiseen:

Tämä edellytti, että liität VGA-näytön katkaisemalla VGA-kaapelin, mutta tätä Instructable-laitetta varten käytän korttia nimeltä Pixl.js, jossa on sisäänrakennettu LCD-näyttö. Se tarkoittaa, että sinun tarvitsee liittää vain muutama johto ja sinulla on kunnolla käyttökelpoinen pieni, pienitehoinen tietokone.

Joten mitä tarvitset?

  • Espruino Pixl.js
  • Pala muovia tai puuta toimimaan pohjana
  • Leipälauta
  • 4x 4x4 näppäimistö
  • Paljon tarroja avaimille
  • 6 sarjaa 8x uros-> uros-Dupont-tyyppisiä hyppyjohtoja (yhteensä 48 johtoa)-vastaavat moniväriset nauhat helpottavat elämää

Vaihe 1: Näppäimistön tekeminen

Näppäimistön tekeminen
Näppäimistön tekeminen
Näppäimistön tekeminen
Näppäimistön tekeminen
Näppäimistön tekeminen
Näppäimistön tekeminen
  • Kiinnitä 4 näppäimistöäsi vierekkäin tukikohtaasi (ne ovat tahmeita). Voit halutessasi leikata niiden reunat alas, mutta varo leikkaamasta liian pitkälle tai saatat katkaista joitakin kontakteja.
  • Kiinnitä leipälauta keskelle - se on myös tahmea takaisin!
  • Jaa hyppyjohdin neljään 8 pituuteen - yritä pitää värit samoina jokaisessa.
  • Kiinnitä johdot näppäimistöihin varmistaen, että kaikki värit vastaavat toisiaan. Taita johdot taaksepäin ja teippaa ne jalustasi taakse. Haluat ehkä lisätä tahmeita jalkoja, jotta johdot eivät taivu liian suuressa kulmassa.
  • Lisää nyt tarra jokaiseen näppäimistön painikkeeseen ja merkitse ne haluamallasi näppäimistöllä. Käytä kuvaa esimerkkinä, mutta kun lähetät koodin, voit muuttaa KEYMAP -muuttujan siihen, mitä sinulla on.

Vaihe 2: Johdotus

Johdotus
Johdotus

Nyt sinun on johdotettava näppäimistö. Jokainen 4x4 -näppäimistö on järjestetty ruudukkoksi, ja me liitämme ne ikään kuin ne olisivat 2x2 -ruudukossa - muodostamalla suuren 8x8 -painikeverkon.

Johdot kuvassa esitetyllä tavalla 4 ryhmään, joissa on 4 johtoa leipälaudan poikki (tarkista kuvien johtojen värit) vasemmalta oikealle:

  • KeyPad 1 Ensimmäiset 4 johtoa -> ensimmäinen 4 hengen ryhmä leipälaudalla -> D0, D1, D2, D3
  • KeyPad 1 Toinen 4 johtoa -> kolmas 4 hengen ryhmä leipälaudalla -> D8, D9, D10, D11
  • KeyPad 2 Ensimmäiset 4 johtoa -> ensimmäinen 4 hengen ryhmä leipälaudalla -> D0, D1, D2, D3
  • KeyPad 2 Toiset 4 johtoa -> neljäs 4 hengen ryhmä leipälaudalla -> D12, D13, SDA, SCL
  • KeyPad 3 Ensimmäiset 4 johtoa -> toinen 4 hengen ryhmä leipälaudalla -> D4, D5, D6, D7
  • KeyPad 3 Toiset 4 johtoa -> kolmas 4 hengen ryhmä leipälaudalla -> D8, D9, D10, D11
  • KeyPad 4 ensimmäistä 4 johtoa -> toinen 4 hengen ryhmä leipälaudalla -> D4, D5, D6, D7
  • KeyPad 4 Toiset 4 johtoa -> neljäs 4 hengen ryhmä leipälaudalla -> D12, D13, SDA, SCL

Kuvassa on 6 sarjaa 8 johtoa. Ensimmäiset 2 ovat näppäimistöistä 1 ja 2, toiset 2 menevät Pixl.js -osoitteeseen ja kolmannet 2 ovat näppäimistöihin 4 ja 3.

Vaihe 3: Ohjelmisto

Varmista nyt, että Pixlin laiteohjelmisto on ajan tasalla, muodosta yhteys Espruino IDE -laitteeseen ja lataa alla oleva koodi. Irrota IDE ja olet valmis!

// Näppäimistön johdotus KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Näppäimistön avainkartat

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

/* Jos näppäinkartan merkki on> = 128, vähennä 128 ja etsi tästä taulukosta monimerkkisiä avainkoodeja*/ 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 sivu ylös String.fromCharCode (27, 91, 54, 126), // 0x85 sivu alas]; // Vaihdon tila var hasShift = false; toiminto setShift (s) {hasShift = s; // piirtää muutosilmaisimen näytölle, jos (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 (); }

// Muunna varsinainen avain merkkijonoksi

// Ja lähetä Loopbackille (missä konsoli on) -toiminnon kahvaKeyPress (e) {var kx = e >> 3; var ky = e & 7; jos (ky> 3) {// muuttuu pitkäksi riviksi kx+= 8; ky- = 4; } var -avain = hasShift? NÄPPÄIMISTÖ [ky] [kx]: NÄPPÄIMISTÖ [ky] [kx]; if (avain == "\ x01") {setShift (! hasShift); } else {setShift (false); if (avain && avain.pituus) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.inject (avain); }}}

// aseta näppäimistö

vaatia ("KeyPad"). connect (KEYROW, KEYCOL, handleKeyPress);

Vaihe 4: Käytä sitä

Käyttämällä sitä!
Käyttämällä sitä!

Nyt se toimii:

  • Näppäimistö voi tunnistaa vain yhden painalluksen kerrallaan, joten Vaihto vaihtaa isoja kirjaimia (ilmaisin oikeassa yläkulmassa) ja kirjaimen kirjoittaminen palaa pieniksi kirjaimiksi. Shift -näppäimen ja toisen näppäimen painaminen ei toimi.
  • Kirjoittaminen voi olla varsin tuskallista, joten käytä sarkainnäppäintä (vasemmalla) niin paljon kuin mahdollista täyttääksesi sanat automaattisesti!
  • Näytön grafiikka on saatavana g -muuttujan menetelmillä - esim. G.fillRect (20, 20, 40, 40) tai g.clear ().
  • Näppäimistössä käytetään paljon IO: ta, mutta sinulla on edelleen nastat A0, A1, A2 ja A3, joita voit käyttää ulkoisen laitteiston liittämiseen.
  • reset () nollaa kaiken - myös näppäimistön käsittelykoodisi. Voit välttää tämän ottamalla käyttöön tallennuksen lähettämisen jälkeen, vaikka olet nollannut Web IDE: n viestintäasetukset ja lataa uudelleen.
  • Tietokoneesi on yllättävän energiatehokas - voit silti odottaa noin 20 päivän akunkestoa - aina päällä - pois päältä yhdestä CR2032 -akusta!

Suositeltava: