Obsah:

DIY domácí počítač: 4 kroky
DIY domácí počítač: 4 kroky

Video: DIY domácí počítač: 4 kroky

Video: DIY domácí počítač: 4 kroky
Video: Adel ukazala prso 2024, Listopad
Anonim
DIY domácí počítač
DIY domácí počítač

Před nějakou dobou jsem publikoval Instructable pomocí Espruino Pico na výrobu domácího počítače:

Ten vyžadoval, abyste připojili monitor VGA rozřezáním kabelu VGA, ale pro tento Instructable používám desku s názvem Pixl.js, která má vestavěnou obrazovku LCD. Znamená to, že stačí připojit jen několik vodičů a máte správně použitelný malý počítač s nízkým výkonem.

Co tedy potřebujete?

  • Espruino Pixl.js
  • Kus plastu nebo dřeva, který bude fungovat jako základna
  • Breadboard
  • Klávesnice 4x4 x 4
  • Spousta samolepek na klíče
  • 6 sad 8x propojovacích kabelů typu Male-> samec ve stylu Dupont (celkem 48 vodičů)-odpovídající vícebarevné proužky výrazně usnadňují život

Krok 1: Výroba klávesnice

Výroba klávesnice
Výroba klávesnice
Výroba klávesnice
Výroba klávesnice
Výroba klávesnice
Výroba klávesnice
  • Připevněte 4 podložky Key Key k sobě na základnu (lepí se dozadu). Možná budete chtít oříznout jejich okraje dolů, ale dávejte pozor, abyste nestříhali příliš daleko, jinak byste mohli odříznout některé kontakty.
  • Držte své prkénko uprostřed - je to také lepkavé!
  • Rozdělte propojovací vodič na 4 délky po 8 - snažte se, aby barvy byly na každé stejné.
  • Zapojte dráty do KeyPadů a ujistěte se, že se všechny barvy shodují. Přeložte dráty dozadu a přilepte je k zadní části základny. Možná budete chtít přidat nějaké lepkavé nožičky, aby se dráty neohnuly pod příliš velkým úhlem.
  • Nyní přidejte na každé tlačítko na klávesnici nálepku a označte je klávesnicí, jak chcete. Použijte obrázek jako příklad, ale když nahrajete kód, můžete změnit proměnnou 'KEYMAP' na to, co máte.

Krok 2: Zapojení

Elektrické vedení
Elektrické vedení

Nyní musíte připojit klávesnici. Každá klávesnice 4x4 je uspořádána jako mřížka a my je zapojujeme tak, jako by byli sami v mřížce 2x2 - takže velká mřížka tlačítek 8x8.

Zapojte, jak je znázorněno na obrázku, do 4 skupin po 4 vodičích přes prkénko (zkontrolujte barvy vodičů na obrázcích) zleva doprava:

  • KeyPad 1 První 4 vodiče -> první skupina 4 na prkénku -> D0, D1, D2, D3
  • KeyPad 1 Second 4 dráty -> třetí skupina 4 na breadboardu -> D8, D9, D10, D11
  • KeyPad 2 První 4 vodiče -> první skupina 4 na prkénku -> D0, D1, D2, D3
  • KeyPad 2 Second 4 dráty -> čtvrtá skupina 4 na breadboardu -> D12, D13, SDA, SCL
  • KeyPad 3 První 4 vodiče -> druhá skupina 4 na prkénku -> D4, D5, D6, D7
  • KeyPad 3 Second 4 dráty -> třetí skupina 4 na prkénku -> D8, D9, D10, D11
  • KeyPad 4 První 4 vodiče -> druhá skupina 4 na prkénku -> D4, D5, D6, D7
  • KeyPad 4 Second 4 dráty -> čtvrtá skupina 4 na breadboardu -> D12, D13, SDA, SCL

Na obrázku máme 6 sad 8 vodičů. První 2 jsou z klávesnic 1 a 2, druhé 2 směřují do Pixl.js a třetí 2 jsou z klávesnice 4 a 3.

Krok 3: Software

Nyní zkontrolujte, zda je firmware vašeho Pixlu aktuální, připojte se k němu pomocí IDE Espruino a nahrajte níže uvedený kód. Odpojte IDE a máte hotovo!

// Zapojení klávesnice var KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Mapy klíčů pro klávesnici

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

/* Pokud je znak na mapě klíčů> = 128, odečtěte 128 a v tomto poli vyhledejte víceznakové kódy klíčů*/ var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 vlevo String.fromCharCode (27, 91, 67), // 0x81 pravý řetězec.fromCharCode (27, 91, 65), // 0x82 nahoru String.fromCharCode (27, 91, 66), // 0x83 dolů String.fromCharCode (27, 91, 53, 126), // 0x84 stránka nahoru String.fromCharCode (27, 91, 54, 126), // 0x85 o stránku dolů]; // Stav posunu var hasShift = false; funkce setShift (s) {hasShift = s; // nakreslení indikátoru posunu na obrazovku 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 (); }

// Převede skutečný klíč na posloupnost znaků

// A odeslat do Loopback (kde je konzole) funkce handleKeyPress (e) {var kx = e >> 3; var ky = e & 7; if (ky> 3) {// proměnit na dlouhý řádek kx+= 8; ky- = 4; } var key = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]; if (key == "\ x01") {setShift (! hasShift); } else {setShift (false); if (klíč && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.inject (klíč); }}}

// nastavení klávesnice

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

Krok 4: Použití

Používat to!
Používat to!

Nyní to funguje:

  • Klávesnice může detekovat pouze jedno stisknutí najednou, takže Shift přepíná velká písmena (s indikátorem vpravo nahoře) a psaní písmene se vrací na malá. Podržení klávesy Shift a dalšího klíče nebude fungovat.
  • Psaní může být docela bolestivé, takže pro automatické vyplňování slov používejte co nejvíce klávesu Tab (vlevo)!
  • Grafika obrazovky je k dispozici pomocí metod v proměnné g - např. G.fillRect (20, 20, 40, 40) nebo g.clear ().
  • Pro klávesnici se používá mnoho IO, ale stále máte piny A0, A1, A2 a A3, které můžete použít pro připojení externího hardwaru.
  • reset () resetuje vše - včetně vašeho kódu pro práci s klávesnicí. Abyste tomu zabránili, zapněte ukládání při odesílání, a to i po resetování v komunikačních možnostech Web IDE, a nahrajte znovu.
  • Váš počítač je překvapivě energeticky účinný - stále můžete očekávat zhruba 20denní výdrž baterie - vždy zapnuto - vypnuto z jedné baterie CR2032!

Doporučuje: