Mục lục:

Tự làm máy tính tại nhà: 4 bước
Tự làm máy tính tại nhà: 4 bước

Video: Tự làm máy tính tại nhà: 4 bước

Video: Tự làm máy tính tại nhà: 4 bước
Video: Bài 1: Excel cơ bản cho người mới bắt đầu 2024, Tháng mười một
Anonim
Máy tính gia đình tự làm
Máy tính gia đình tự làm

Một thời gian trước, tôi đã xuất bản cuốn sách Có thể dạy được bằng cách sử dụng Espruino Pico để làm máy tính gia đình:

Điều đó yêu cầu bạn kết nối màn hình VGA bằng cách cắt cáp VGA, nhưng đối với Bản hướng dẫn này, tôi đang sử dụng một bảng có tên Pixl.js, có màn hình LCD được tích hợp sẵn. Nó có nghĩa là tất cả những gì bạn phải kết nối là một vài sợi dây và bạn đã có một chiếc máy tính nhỏ, công suất thấp có thể sử dụng đúng cách.

Vì vậy, bạn cần những gì?

  • Một Espruino Pixl.js
  • Một miếng nhựa hoặc gỗ để làm cơ sở
  • A Breadboard
  • Bàn phím 4x 4x4
  • Rất nhiều hình dán cho các phím
  • 6 bộ dây Jumper kiểu 8x Male-> Male (tổng cộng 48 dây) - các dải nhiều màu phù hợp giúp cuộc sống dễ dàng hơn rất nhiều

Bước 1: Làm bàn phím

Làm bàn phím
Làm bàn phím
Làm bàn phím
Làm bàn phím
Làm bàn phím
Làm bàn phím
  • Dán 4 KeyPads của bạn cạnh nhau trên đế của bạn (chúng dính lại). Bạn có thể muốn cắt bớt các cạnh của chúng, nhưng hãy cẩn thận đừng cắt quá xa nếu không bạn có thể cắt mất một số liên hệ.
  • Dán breadboard của bạn xuống giữa - nó cũng dính lại!
  • Chia dây jumper thành 4 đoạn dài là 8 - thử và giữ màu sắc giống nhau trên mỗi đoạn.
  • Dán dây vào KeyPads, đảm bảo tất cả các màu đều khớp với nhau. Gập dây lại và dán chúng vào phía sau đế của bạn. Bạn có thể muốn thêm một số chân dính để tránh dây bị cong ở một góc quá nhiều.
  • Bây giờ, hãy thêm nhãn dán vào mỗi nút trong Bàn phím và gắn nhãn chúng như bạn muốn trên bàn phím. Sử dụng hình ảnh làm ví dụ, nhưng khi bạn tải lên mã của mình, bạn có thể thay đổi biến 'KEYMAP' thành những gì bạn có.

Bước 2: Đấu dây

Đấu dây
Đấu dây

Bây giờ bạn cần phải nối dây cho bàn phím. Mỗi bàn phím 4x4 được sắp xếp dưới dạng lưới và chúng tôi kết nối chúng như thể chúng nằm trong lưới 2x2 - tạo thành một lưới 8x8 lớn gồm các nút.

Dây như trong hình ảnh thành 4 nhóm 4 dây trên bảng mạch (kiểm tra màu sắc của dây trong hình ảnh), với trái sang phải:

  • KeyPad 1 4 dây đầu tiên -> nhóm 4 đầu tiên trên breadboard -> D0, D1, D2, D3
  • KeyPad 1 Giây 4 dây -> nhóm 4 thứ ba trên breadboard -> D8, D9, D10, D11
  • KeyPad 2 4 dây đầu tiên -> nhóm 4 đầu tiên trên breadboard -> D0, D1, D2, D3
  • KeyPad 2 Giây 4 dây -> nhóm 4 dây thứ tư trên breadboard -> D12, D13, SDA, SCL
  • KeyPad 3 4 dây đầu tiên -> nhóm 4 dây thứ hai trên breadboard -> D4, D5, D6, D7
  • KeyPad 3 Giây 4 dây -> nhóm 4 thứ ba trên breadboard -> D8, D9, D10, D11
  • KeyPad 4 4 dây đầu tiên -> nhóm 4 dây thứ hai trên breadboard -> D4, D5, D6, D7
  • KeyPad 4 Giây 4 dây -> nhóm 4 thứ tư trên breadboard -> D12, D13, SDA, SCL

Trong hình ảnh, chúng ta có 6 bộ 8 dây. 2 cái đầu tiên là từ bàn phím số 1 và 2, cái thứ hai là từ bàn phím Pixl.js, và 2 cái thứ ba dành cho bàn phím số 4 và 3.

Bước 3: Phần mềm

Bây giờ, hãy đảm bảo rằng phần sụn Pixl của bạn đã được cập nhật, kết nối với phần mềm này bằng IDE Espruino và tải lên đoạn mã bên dưới. Ngắt kết nối IDE và bạn đã hoàn tất!

// Bàn phím nối dây KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Bản đồ chính cho bàn phím

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

/ * Nếu một ký tự trong sơ đồ bàn phím là> = 128, trừ 128 và tìm mã khóa nhiều ký tự trong mảng này * / var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 left String.fromCharCode (27, 91, 67), // 0x81 right String.fromCharCode (27, 91, 65), // 0x82 lên String.fromCharCode (27, 91, 66), // 0x83 xuống String.fromCharCode (27, 91, 53, 126), // 0x84 trang lên String.fromCharCode (27, 91, 54, 126), // 0x85 trang xuống]; // Chuyển trạng thái var hasShift = false; function setShift (s) {hasShift = s; // vẽ chỉ báo shift trên màn hình 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 (); }

// Chuyển một khóa thực thành một chuỗi ký tự

// Và gửi đến Loopback (nơi có bảng điều khiển) function handleKeyPress (e) {var kx = e >> 3; var ky = e & 7; if (ky> 3) {// biến thành hàng dài kx + = 8; ky- = 4; } var key = hasShift? KEYMAPUPPER [ky] [kx]: KEYMAPLOWER [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 (phím); }}}

// thiết lập bàn phím

request ("KeyPad"). kết nối (KEYROW, KEYCOL, handleKeyPress);

Bước 4: Sử dụng nó

Sử dụng nó!
Sử dụng nó!

Bây giờ nó đang hoạt động:

  • Bàn phím chỉ có thể phát hiện một lần nhấn tại một thời điểm, vì vậy Shift sẽ chuyển đổi chữ hoa (với một chỉ báo ở trên cùng bên phải) và nhập một chữ cái sẽ chuyển thành chữ thường. Giữ phím Shift và một phím khác sẽ không hoạt động.
  • Việc gõ phím có thể khá đau, vì vậy hãy sử dụng phím Tab (bên trái) càng nhiều càng tốt để tự động điền từ!
  • Đồ họa cho màn hình có sẵn thông qua các phương thức trên biến g - ví dụ: g.fillRect (20, 20, 40, 40) hoặc g.clear ().
  • Rất nhiều IO được sử dụng cho bàn phím, nhưng bạn vẫn có các chân A0, A1, A2 và A3 mà bạn có thể sử dụng để kết nối phần cứng bên ngoài.
  • reset () sẽ đặt lại mọi thứ - bao gồm cả mã của bạn để xử lý bàn phím. Để tránh điều này, hãy bật lưu khi gửi, ngay cả sau khi đặt lại trong các tùy chọn liên lạc của Web IDE và tải lên lại.
  • Máy tính của bạn tiết kiệm năng lượng đáng ngạc nhiên - bạn vẫn có thể mong đợi thời lượng pin khoảng 20 ngày - luôn bật - tắt một pin CR2032 duy nhất!

Đề xuất: