Sadržaj:

Kućno računalo DIY: 4 koraka
Kućno računalo DIY: 4 koraka

Video: Kućno računalo DIY: 4 koraka

Video: Kućno računalo DIY: 4 koraka
Video: 1 Чайная ложечка под любой домашний цветок и пышное цветение вам обеспечено!Цветет Вмиг +10 рецептов 2024, Studeni
Anonim
Kućno računalo "uradi sam"
Kućno računalo "uradi sam"

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

Taj je od vas zahtijevao da spojite VGA monitor rezanjem VGA kabela, ali za ovaj Instructable koristim ploču pod nazivom Pixl.js, koja ima ugrađen LCD zaslon. To znači da sve što trebate spojiti je nekoliko žica i imate pravilno upotrebljivo maleno računalo male snage.

Što vam je potrebno?

  • Espruino Pixl.js
  • Komad plastike ili drveta koji će djelovati kao podloga
  • Breadboard
  • 4x 4x4 tipkovnice
  • Mnogo naljepnica za ključeve
  • 6 kompleta 8x muških-> muških kratkospojnika u stilu Dupont (ukupno 48 žica)-odgovarajuće raznobojne trake znatno olakšavaju život

Korak 1: Izrada tipkovnice

Izrada tipkovnice
Izrada tipkovnice
Izrada tipkovnice
Izrada tipkovnice
Izrada tipkovnice
Izrada tipkovnice
  • Zalijepite svoje 4 tipkovnice jedna do druge na bazu (ljepljive su strane). Možda biste htjeli podrezati njihove rubove, ali pazite da ne podrežete predaleko jer ćete možda odrezati neke kontakte.
  • Zalijepite svoju ploču prema sredini - i ona je ljepljiva!
  • Podijelite kratkospojnik na 4 duljine od 8 - pokušajte zadržati boje na svakoj istoj.
  • 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 spasili žice od savijanja pod velikim kutom.
  • Sada dodajte naljepnicu svakom gumbu na tipkovnici i označite ih kako želite tipkovnicom. Upotrijebite 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 tipkovnicu. Svaka tipkovnica 4x4 raspoređena je kao mreža, a mi ih povezujemo kao da su sami u mreži 2x2 - čineći veliku mrežu gumba od 8x8.

Ožičite, kao što je prikazano na slici, u 4 grupe od 4 žice preko 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 skupina od 4 na matičnoj ploči -> D8, D9, D10, D11
  • KeyPad 2 Prve 4 žice -> prva grupa od 4 na 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 skupina od 4 na 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 s tipkovnica 1 i 2, druga 2 idu na Pixl.js, a treća 2 na tipkovnice 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. Odspojite IDE i gotovi ste!

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

// Ključne karte za tipkovnicu

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 karti tipki> = 128, oduzmite 128 i potražite u ovom nizu višeznakovne kodove ključeva*/ var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 lijevo String.fromCharCode (27, 91, 67), // 0x81 desni niz.fromCharCode (27, 91, 65), // 0x82 prema gore String.fromCharCode (27, 91, 66), // 0x83 prema dolje String.fromCharCode (27, 91, 53, 126), // 0x84 stranica prema gore 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 u Loopback (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ČA [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 tipkovnice

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

Korak 4: Upotreba

Koristeći ga!
Koristeći ga!

Sada radi:

  • Tipkovnica 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.
  • Upisivanje 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 zaslon dostupna je putem metoda na g varijabli - npr. G.fillRect (20, 20, 40, 40) ili g.clear ().
  • Mnogo IO -a koristi se za tipkovnicu, 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š kôd za rukovanje tipkovnicom. Da biste to izbjegli, uključite spremanje pri slanju, čak i nakon poništavanja komunikacijskih opcija web IDE -a, te ponovo učitajte.
  • Vaše je računalo iznenađujuće energetski učinkovito - još uvijek možete očekivati otprilike 20 dana trajanja baterije - uvijek uključeno - isključeno s jedne baterije CR2032!

Preporučeni: