Sadržaj:

Kućni računar „uradi sam“: 4 koraka
Kućni računar „uradi sam“: 4 koraka

Video: Kućni računar „uradi sam“: 4 koraka

Video: Kućni računar „uradi sam“: 4 koraka
Video: Moja omiljena veličina Pe***a 2024, Novembar
Anonim
Kućni računar „uradi sam“
Kućni računar „uradi sam“

Nedavno sam objavio Instructable koristeći Espruino Pico za izradu kućnog računara:

Taj je od vas zahtijevao da spojite VGA monitor tako što ćete presjeći VGA kabel, ali za ovaj Instructable koristim ploču koja se zove Pixl.js, a koja ima ugrađen LCD ekran. To znači da sve što trebate povezati je nekoliko žica i imate pravilno upotrebljiv mali računar male snage.

Šta vam treba?

  • An Espruino Pixl.js
  • Komad plastike ili drveta koji će poslužiti kao osnova
  • Breadboard
  • 4x 4x4 tastature
  • Mnogo naljepnica za ključeve
  • 6 kompleta 8x muških-> muških žica kratkospojnika u Dupontovom stilu (ukupno 48 žica)-odgovarajuće raznobojne trake čine život mnogo lakšim

Korak 1: Izrada tastature

Izrada tastature
Izrada tastature
Izrada tastature
Izrada tastature
Izrada tastature
Izrada tastature
  • Zalijepite svoje 4 tipkovnice jedna do druge na bazu (ljepljive su strane). Možda ćete htjeti podrezati njihove rubove, ali pazite da ne podrežete predaleko jer ćete možda odrezati neke kontakte.
  • Gurnite svoju ploču prema sredini - i ona je ljepljiva!
  • Podijelite kratkospojnik na 4 dužine po 8 - pokušajte zadržati boje iste na svakoj.
  • Umetnite žice u tipkovnice, pazeći da se sve boje podudaraju. Preklopite žice unatrag i zalijepite ih stražnjom stranom baze. Možda biste htjeli dodati ljepljive noge kako biste sačuvali žice od savijanja pod velikim kutom.
  • Sada dodajte naljepnicu svakom dugmetu na tastaturi i označite ih kako želite sa tastature. Koristite sliku kao primjer, ali kada učitate kôd, možete promijeniti varijablu 'KEYMAP' na ono što imate.

Korak 2: Ožičenje

Ožičenje
Ožičenje

Sada morate spojiti tastaturu. Svaka tastatura 4x4 je raspoređena kao mreža, a mi ih povezujemo kao da su sami u mreži 2x2 - čineći veliku mrežu dugmadi 8x8.

Ožičite, kao što je prikazano na slici, u 4 grupe od 4 žice preko matične ploče (provjerite boje žica na slikama), s lijeva na desno:

  • KeyPad 1 Prve 4 žice -> prva grupa od 4 na matičnoj ploči -> D0, D1, D2, D3
  • KeyPad 1 Druge 4 žice -> treća grupa od 4 na matičnoj ploči -> D8, D9, D10, D11
  • KeyPad 2 Prve 4 žice -> prva grupa od 4 na matičnoj ploči -> D0, D1, D2, D3
  • KeyPad 2 Druge 4 žice -> četvrta grupa od 4 na matičnoj ploči -> D12, D13, SDA, SCL
  • KeyPad 3 Prve 4 žice -> druga grupa od 4 na matičnoj ploči -> D4, D5, D6, D7
  • KeyPad 3 Druge 4 žice -> treća grupa od 4 na matičnoj ploči -> D8, D9, D10, D11
  • KeyPad 4 Prve 4 žice -> druga grupa od 4 na matičnoj ploči -> D4, D5, D6, D7
  • KeyPad 4 Druge 4 žice -> četvrta grupa od 4 na matičnoj ploči -> D12, D13, SDA, SCL

Na slici imamo 6 kompleta od 8 žica. Prva 2 su sa tastature 1 i 2, druga 2 idu na Pixl.js, a treća 2 na tastature 4 i 3.

Korak 3: Softver

Sada provjerite je li firmver vašeg Pixla ažuriran, povežite se s njim pomoću Espruino IDE -a i prenesite donji kod. Isključite IDE i gotovi ste!

// ožičenje tastature KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Mape ključeva za tastaturu

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

/* Ako je znak u mapi tastera> = 128, oduzmite 128 i potražite u ovom nizu kodove s više znakova*/ var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 lijevo String.fromCharCode (27, 91, 67), // 0x81 desni niz.fromCharCode (27, 91, 65), // 0x82 naviše String.fromCharCode (27, 91, 66), // 0x83 naniže String.fromCharCode (27, 91, 53, 126), // 0x84 stranica naviše String.fromCharCode (27, 91, 54, 126), // 0x85 stranica dolje]; // Status pomaka var hasShift = false; funkcija setShift (s) {hasShift = s; // nacrtati indikator pomaka na ekranu if (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 (); }

// Pretvorimo stvarni ključ u niz znakova

// I pošaljite Loopback -u (gdje je konzola) function handleKeyPress (e) {var kx = e >> 3; var ky = e & 7; if (ky> 3) {// pretvori se u dugi red kx+= 8; ky- = 4; } var key = hasShift? KLJUČAVA [KY] [kx]: KLJUČAVA KLJUČAVA [ky] [kx]; if (key == "\ x01") {setShift (! hasShift); } else {setShift (false); if (key && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.inject (ključ); }}}

// postavljanje tastature

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

Korak 4: Upotreba

Use It!
Use It!

Sada radi:

  • Tastatura može otkriti samo jedan pritisak odjednom, pa Shift prebacuje velika slova (s indikatorom u gornjem desnom kutu), a upisivanjem slova vraćate se na mala slova. Držanje tipke Shift i druge tipke neće raditi.
  • Kucanje može biti prilično bolno, pa koristite tipku Tab (s lijeve strane) što je više moguće za automatsko popunjavanje riječi!
  • Grafika za ekran dostupna je putem metoda na g varijabli - npr. G.fillRect (20, 20, 40, 40) ili g.clear ().
  • Mnogo IO se koristi za tastaturu, ali još uvijek imate pinove A0, A1, A2 i A3 koje možete koristiti za povezivanje vanjskog hardvera.
  • reset () će poništiti sve - uključujući i vaš kod za rukovanje tastaturom. Da biste to izbjegli, uključite spremanje pri slanju, čak i nakon resetiranja komunikacijskih opcija Web IDE -a, te ponovo učitajte.
  • Vaš računar je iznenađujuće energetski efikasan - i dalje možete očekivati otprilike 20 dana trajanja baterije - uvijek uključeno - isključeno sa jedne baterije CR2032!

Preporučuje se: