Índice:

Computador doméstico faça você mesmo: 4 etapas
Computador doméstico faça você mesmo: 4 etapas

Vídeo: Computador doméstico faça você mesmo: 4 etapas

Vídeo: Computador doméstico faça você mesmo: 4 etapas
Vídeo: Informática Básica: O que é um computador? Conheça alguns conceitos fundamentais da computação. 2024, Novembro
Anonim
Computador doméstico faça você mesmo
Computador doméstico faça você mesmo

Publiquei um Instructable há algum tempo usando um Espruino Pico para fazer um computador doméstico:

Aquele exigia que você conectasse um monitor VGA cortando um cabo VGA, mas para este Instructable estou usando uma placa chamada Pixl.js, que tem a tela LCD embutida. Isso significa que tudo que você precisa conectar são alguns fios e você tem um computador minúsculo e de baixo consumo adequadamente utilizável.

Então, o que você precisa?

  • Um Espruino Pixl.js
  • Um pedaço de plástico ou madeira para servir de base
  • Uma tábua de pão
  • 4x 4x4 KeyPads
  • Muitos adesivos para as chaves
  • 6 conjuntos de fios de jumper 8x Macho-> Macho estilo Dupont (48 fios no total) - tiras multicoloridas combinando tornam a vida muito mais fácil

Etapa 1: fazendo o teclado

Fazendo o teclado
Fazendo o teclado
Fazendo o teclado
Fazendo o teclado
Fazendo o teclado
Fazendo o teclado
  • Cole seus 4 teclados próximos um do outro em sua base (eles são adesivos). Você pode querer aparar suas bordas para baixo, mas tome cuidado para não aparar muito ou você pode cortar alguns contatos.
  • Enfie sua placa de ensaio no meio - ela também é pegajosa!
  • Divida o fio do jumper em 4 comprimentos de 8 - tente manter as cores iguais em cada um.
  • Prenda os fios nos teclados, certificando-se de que todas as cores combinam. Dobre os fios para trás e prenda-os na parte traseira de sua base. Você pode adicionar alguns pés pegajosos para evitar que os fios fiquem dobrados em um ângulo muito grande.
  • Agora adicione um adesivo a cada botão no teclado e identifique-os como quiser no teclado. Use a imagem como exemplo, mas ao fazer upload do código, você pode alterar a variável 'KEYMAP' para o que você tem.

Etapa 2: Fiação

Fiação
Fiação

Agora você precisa conectar o teclado. Cada teclado 4x4 é organizado como uma grade, e nós os estamos conectando como se eles próprios estivessem em uma grade 2x2 - formando uma grande grade 8x8 de botões.

Conecte como mostrado na imagem em 4 grupos de 4 fios na placa de ensaio (verifique as cores dos fios nas imagens), com da esquerda para a direita:

  • KeyPad 1 Primeiros 4 fios -> primeiro grupo de 4 na placa de ensaio -> D0, D1, D2, D3
  • Teclado de 1 segundo 4 fios -> terceiro grupo de 4 na placa de ensaio -> D8, D9, D10, D11
  • KeyPad 2 Primeiros 4 fios -> primeiro grupo de 4 na placa de ensaio -> D0, D1, D2, D3
  • KeyPad 2 segundos 4 fios -> quarto grupo de 4 na placa de ensaio -> D12, D13, SDA, SCL
  • KeyPad 3 Primeiros 4 fios -> segundo grupo de 4 na placa de ensaio -> D4, D5, D6, D7
  • KeyPad 3 segundos 4 fios -> terceiro grupo de 4 na placa de ensaio -> D8, D9, D10, D11
  • KeyPad 4 Primeiros 4 fios -> segundo grupo de 4 na placa de ensaio -> D4, D5, D6, D7
  • KeyPad 4 segundos 4 fios -> quarto grupo de 4 na placa de ensaio -> D12, D13, SDA, SCL

Na imagem temos 6 conjuntos de 8 fios. Os primeiros 2 são dos teclados 1 e 2, os segundos 2 vão para o Pixl.js e os terceiros 2 vão para os teclados 4 e 3.

Etapa 3: Software

Agora certifique-se de que o firmware do Pixl está atualizado, conecte-o com o IDE Espruino e carregue o código abaixo. Desconecte o IDE e pronto!

// Variável de fiação do teclado KEYROW = [D7, D6, D5, D4, D3, D2, D1, D0]; var KEYCOL = [A5, A4, D13, D12, D11, D10, D9, D8];

// Mapas de teclas para teclado

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

/ * Se um caractere no mapa de teclado for> = 128, subtraia 128 e procure nesta matriz os códigos de chave de vários caracteres * / var KEYEXTRA = [String.fromCharCode (27, 91, 68), // 0x80 left String.fromCharCode (27, 91, 67), // 0x81 Right String.fromCharCode (27, 91, 65), // 0x82 up String.fromCharCode (27, 91, 66), // 0x83 down String.fromCharCode (27, 91, 53, 126), // 0x84 page up String.fromCharCode (27, 91, 54, 126), // 0x85 página abaixo]; // Status de deslocamento var hasShift = false; função setShift (s) {hasShift = s; // desenha o indicador de deslocamento na tela 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 (); }

// Converte uma chave real em uma sequência de caracteres

// E enviar para Loopback (onde está o console) function handleKeyPress (e) {var kx = e >> 3; var ky = e & 7; if (ky> 3) {// transformar em linha longa 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 (chave); }}}

// configurar o teclado

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

Etapa 4: Usando

Usando isso!
Usando isso!

Agora está funcionando:

  • O teclado pode detectar apenas um toque de cada vez, então Shift alterna as letras maiúsculas (com um indicador no canto superior direito) e a digitação de uma letra volta para minúscula. Manter a tecla Shift pressionada e outra tecla não funcionará.
  • Digitar pode ser muito doloroso, então use a tecla Tab (à esquerda) o máximo possível para preencher automaticamente as palavras!
  • Os gráficos da tela estão disponíveis por meio de métodos na variável g - por exemplo, g.fillRect (20, 20, 40, 40) ou g.clear ().
  • Muito IO é usado para o teclado, mas você ainda tem os pinos A0, A1, A2 e A3 que você pode usar para conectar hardware externo.
  • reset () irá redefinir tudo - incluindo seu código para manuseio do teclado. Para evitar isso, ative salvar ao enviar, mesmo após redefinir as opções de comunicação do IDE da Web e carregue novamente.
  • Seu computador é surpreendentemente eficiente em termos de energia - você ainda pode esperar uma bateria de aproximadamente 20 dias - sempre ligado - com uma única bateria CR2032!

Recomendado: