Isi kandungan:

Komputer Rumah DIY: 4 Langkah
Komputer Rumah DIY: 4 Langkah

Video: Komputer Rumah DIY: 4 Langkah

Video: Komputer Rumah DIY: 4 Langkah
Video: #61 DASAR CARA RAKIT KOMPUTER AMD INTEL sampai RAPI , basic how to build a new computer 2024, Julai
Anonim
Komputer Rumah DIY
Komputer Rumah DIY

Saya menerbitkan Instructable sebentar lagi menggunakan Espruino Pico untuk membuat komputer di rumah:

Yang memerlukan anda menyambungkan monitor VGA dengan memotong kabel VGA, tetapi untuk Instructable ini saya menggunakan papan yang dipanggil Pixl.js, yang mempunyai layar LCD bawaan. Ini bermaksud yang perlu anda sambungkan hanyalah beberapa wayar dan anda mempunyai komputer kecil dan berkuasa rendah yang boleh digunakan dengan betul.

Jadi apa yang anda perlukan?

  • Espruino Pixl.js
  • Sekeping plastik atau kayu untuk bertindak sebagai asas
  • Papan Roti
  • Pad Kekunci 4x 4x4
  • Banyak Pelekat untuk kunci
  • 6 set wayar Jumper 8x Lelaki-> Lelaki Dupont (jumlah 48 wayar) - jalur pelbagai warna yang sepadan menjadikan kehidupan menjadi lebih mudah

Langkah 1: Membuat Papan Kekunci

Membuat Papan Kekunci
Membuat Papan Kekunci
Membuat Papan Kekunci
Membuat Papan Kekunci
Membuat Papan Kekunci
Membuat Papan Kekunci
  • Pasang 4 KeyPads anda di sebelah satu sama lain di pangkalan anda (mereka melekit). Anda mungkin mahu memotong bahagian tepi mereka, tetapi berhati-hati untuk tidak memotong terlalu jauh atau anda mungkin memotong beberapa kenalan.
  • Letakkan papan roti anda di tengah - ia juga melekit!
  • Pisahkan wayar pelompat menjadi 4 panjang 8 - cubalah dan warnakan sama pada masing-masing.
  • Masukkan wayar ke KeyPads, pastikan semua warna sesuai. Lipat wayar ke belakang dan pita ke belakang pangkalan anda. Anda mungkin mahu menambahkan beberapa kaki yang melekit untuk menyelamatkan wayar daripada bengkok pada sudut yang terlalu banyak.
  • Sekarang tambahkan pelekat ke setiap butang di Pad kekunci dan labelkan seperti yang anda mahukan papan kekunci. Gunakan gambar sebagai contoh, tetapi apabila anda memuat naik kod anda, anda dapat mengubah pemboleh ubah 'KEYMAP' menjadi yang anda miliki.

Langkah 2: Pendawaian

Pendawaian
Pendawaian

Sekarang anda perlu memasang papan kekunci. Setiap papan kekunci 4x4 disusun sebagai grid, dan kami memasangkannya seolah-olah mereka berada dalam grid 2x2 - membuat butang grid 8x8 besar.

Kawat seperti yang ditunjukkan dalam gambar menjadi 4 kumpulan 4 wayar di papan roti (periksa warna wayar dalam gambar), dengan kiri ke kanan:

  • KeyPad 1 4 wayar pertama -> kumpulan pertama 4 di papan roti -> D0, D1, D2, D3
  • KeyPad 1 Kabel 4 kedua -> kumpulan ketiga 4 di papan roti -> D8, D9, D10, D11
  • KeyPad 2 4 wayar pertama -> kumpulan pertama 4 di papan roti -> D0, D1, D2, D3
  • Kabel KeyPad 2 Kedua 4 -> kumpulan keempat 4 di papan roti -> D12, D13, SDA, SCL
  • KeyPad 3 Kabel 4 pertama -> kumpulan kedua 4 di papan roti -> D4, D5, D6, D7
  • Kabel KeyPad 3 Kedua 4 -> kumpulan ketiga 4 di papan roti -> D8, D9, D10, D11
  • KeyPad 4 Kabel 4 pertama -> kumpulan kedua 4 di papan roti -> D4, D5, D6, D7
  • Kabel KeyPad 4 Kedua 4 -> kumpulan keempat 4 di papan roti -> D12, D13, SDA, SCL

Dalam gambar kami mempunyai 6 set 8 wayar. 2 yang pertama adalah dari papan kekunci 1 dan 2, 2 yang kedua menuju ke Pixl.js, dan yang kedua 2 ke papan kekunci 4 dan 3.

Langkah 3: Perisian

Sekarang pastikan firmware Pixl anda terkini, sambungkan dengannya dengan Espruino IDE, dan muat naik kod di bawah. Putuskan sambungan IDE dan anda sudah selesai!

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

// Peta Utama untuk Papan Kekunci

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

/ * Jika char di peta utama adalah> = 128, tolak 128 dan cari dalam kod ini untuk mendapatkan kod kunci berbilang aksara * / var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 String kiri.fromCharCode (27, 91, 67), // 0x81 String kanan.fromCharCode (27, 91, 65), // 0x82 up String.fromCharCode (27, 91, 66), // 0x83 down String.fromCharCode (27, 91, 53, 126), // 0x84 halaman atas String.fromCharCode (27, 91, 54, 126), // 0x85 halaman ke bawah]; // Status pergeseran var hasShift = false; fungsi setShift (s) {hasShift = s; // lukis penunjuk shift pada skrin jika (hasShift) {g.setColor (1); g.fillRect (105, 0, 128, 6); g.setColor (0); g.drawString ("SHIFT", 107, 1); g.setColor (1); } lain {g.setColor (0); g.fillRect (105, 0, 128, 6); g.setColor (1); } g.flip (); }

// Tukarkan kunci sebenar menjadi urutan watak

// Dan hantar ke Loopback (di mana konsol) fungsi handleKeyPress (e) {var kx = e >> 3; var ky = e & 7; jika (ky> 3) {// berubah menjadi barisan panjang kx + = 8; ky- = 4; } kunci var = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [ky] [kx]; jika (kunci == "\ x01") {setShift (! hasShift); } lain {setShift (palsu); if (key && key.length) {if (key.charCodeAt (0)> 127) key = KEYEXTRA [key.charCodeAt (0) -128]; Terminal.inject (kunci); }}}

// sediakan pad kekunci

memerlukan ("KeyPad"). sambungkan (KEYROW, KEYCOL, handleKeyPress);

Langkah 4: Menggunakannya

Menggunakannya!
Menggunakannya!

Sekarang ia berfungsi:

  • Papan kekunci hanya dapat mendeteksi satu tekan pada satu waktu, jadi Shift beralih huruf besar (dengan indikator di kanan atas), dan mengetik huruf kembali ke huruf kecil. Menahan Shift dan kunci lain tidak akan berfungsi.
  • Menaip boleh menyakitkan, jadi gunakan kekunci Tab (di sebelah kiri) sebanyak mungkin untuk mengisi perkataan secara automatik!
  • Grafik untuk skrin tersedia melalui kaedah pada pemboleh ubah g - misalnya, g.fillRect (20, 20, 40, 40) atau g.clear ().
  • Banyak IO digunakan untuk papan kekunci, tetapi anda masih mempunyai pin A0, A1, A2 dan A3 yang boleh anda gunakan untuk menyambungkan perkakasan luaran.
  • reset () akan menetapkan semula semuanya - termasuk kod anda untuk pengendalian papan kekunci. Untuk mengelakkan ini, hidupkan save on send, walaupun setelah menetapkan semula dalam pilihan komunikasi Web IDE dan muat naik sekali lagi.
  • Komputer anda sangat cekap kuasa - anda masih boleh jangka hayat bateri kira-kira 20 hari - sentiasa hidup - bateri CR2032 tunggal!

Disyorkan: