Minha caseira

Antes de fazer meu teclado, defino as seguintes metas:
- Maior conforto tátil possível.
- , , , . .
- — , . . RGB – , . .
- . .
Eu consegui fazer isso? Olha, cabe na minha mochila sem problemas:

Aviso - 90 fotos compactadas: tentei escrever um artigo o mais "mastigado" possível - compreensível para o mais amplo círculo de pessoas possível, incluindo aqueles que não são tecnicamente experientes e que não entendem nada de programação. Portanto, peço desculpas antecipadamente se alguém tiver a impressão de que o artigo contém muita água ou muitas fotos.
Teclado com um cabo HDMI curto:

vamos aprender os termos para entender mais textos. Abaixo na foto está um botão, interruptor, interruptor. Switch - Englishism, uma palavra emprestada de uma língua estrangeira.

Na foto abaixo - uma tampa (keycap) e anéis de borracha para eles:

Quem precisa de uma digressão histórica e por que escolhi este formato de teclado, dê uma olhada aqui:
A agonia de escolher um layout
Então vamos. Queremos fazer um teclado dividido, google "teclado Iris", parece algo assim:

Pode-se comprar um, mas não há botões "X" e "b" nele, e não tenho desejo de retreinar para seu novo arranjo. Então o teclado não é ruim, mas não combina conosco. Nosso compatriota veio com uma opção conveniente - "teclado jian", olha:

Mas também não é conveniente, o resultado é um conceito que só serve para trabalhar em editores de texto. Em minha opinião, ele exagerou aqui, eliminando a linha superior de teclas numéricas. Existe uma versão modificada - "teclado jiran":

Será mais confortável trabalhar para isso, ao contrário do anterior. Ao trabalhar no Word, as teclas do cursor, F1-F12, o "Delete, PgDown, etc." é bastante confortável pressionar a tecla Fn. A mão direita tem muito menos para alcançar o mouse - isso é uma grande vantagem, que você começa a entender apenas sentindo. Com base nisso, você pode começar a desenvolver sua própria versão. Meu primeiro protótipo era assim:

posso dizer imediatamente que cinco teclas do polegar são muito. O dedo mal alcança o quarto botão, e o quinto deve ser alcançado. Eu era aquele que era ganancioso na época. E, olhando para o futuro, direi que havia muito poucas teclas de cursor. No layout atual, tenho 4 botões sob meus polegares, localizados em um arco. É conveniente para mim:

Siga o link: keyboard-layout-editore selecione Ergodox na guia Predefinições. Os botões podem ser removidos, adicionados, girados e movidos como desejar. Pratique, não há nada difícil aí.

Quando você se sentir confortável, siga este link para o meu projeto: ErgoRU
Aqui você precisa das coordenadas dos botões ao longo do eixo Y, ou melhor, a diferença entre as linhas verticais em relação umas às outras. Mas há uma nuance que talvez seja importante para você - na maioria dos homens, o dedo anular é mais longo que o indicador e, nas mulheres, é um pouco diferente.
Wikipedia: Índice do dedo
O que isso importa? Você pode precisar ajustar as linhas verticais para atender às suas necessidades individuais. Foi mais fácil para mim, não houve necessidade de ajuste:

Isso pode parecer uma nuance insignificante para você, mas esses pequenos detalhes compõem o construtor chamado "Meu teclado ideal".
Depois de vários ajustes, eu entendi assim:

Você está longe de ser imediatamente, mas gradualmente, sua própria versão de um layout conveniente será desenvolvida. Só estou convencido de que a ergonomia do teclado não pode ser universal quando os dedos de cada pessoa e o tipo de trabalho que fazem no teclado são muito diferentes.
Talvez eu dê um exemplo que não é o mais bem sucedido, mas é indicativo. Para os pilotos de Fórmula 1, os assentos e encostos são dotados de carrocerias feitas com seus moldes, e não os chamados "esportivos" produzidos na linha de montagem de fábrica. Na verdade, por quê?
Por que implementei as teclas do cursor em um bloco separado além daqueles pressionados por meio do modificador MO (2)? Eu projetei o teclado para ser versátil e jogável. Tente jogar "X3 terran conflito" / "X3 albion prelude" com os cursores através do modificador e você vai uivar. Você pode reatribuir os botões, até fiz a quarta camada apenas para o jogo, mas não ficou muito conveniente. Neste jogo, quase todo o teclado está envolvido, quem o jogou sabe.
Podemos descobrir o número resultante de botões:

Vamos começar a comprar
E agora, sabendo o número de botões de que você precisa, é hora de escolher e comprar componentes. Os botões mecânicos diferem na força de pressão necessária, no volume e nas sensações táteis. Aqui está um artigo sobre eles:
INTERRUPTORES MECÂNICOS
E depois de ler, recomendo fortemente que você percorra as lojas que vendem teclados com interruptores mecânicos e seus próprios dedos para sentir a diferença entre interruptores azuis, marrons e outros. Fiquei completamente satisfeito com os Gaterons marrons e comprei-os. Mas não nossos vendedores ambulantes com uma margem de 300% -500% e ainda mais. O Aliexpress tem de tudo, você só precisa se esforçar para pesquisar.
Não quero comprar os componentes de que precisamos onde eu os levei - você pode levá-los para onde for mais conveniente para você. Mas vou compartilhar os links.
Gateron liga o Ali, que comprei:
Gateron
Existem os seguintes tipos de tampas de botão:
Tudo o que você precisa saber ao escolher um perfil de tecla

eu tentei diferente, mas decidi pelo DSA mais baixo, são as mais convenientes para mim! Lembre-se de que você pode e provavelmente será diferente. Lembrar? Vamos à loja e tentamos, tentamos. Este é um importante bloco de construção da usabilidade do seu teclado. Peguei aqui, a qualidade é boa:
PBT DSA
A próxima coisa que precisamos é ATmega32U4 5V 16 MHz. Há muitas modificações deles:
Atmega32U4
Será o suficiente para mim com a minha cabeça:
Pro Micro ATmega32U4 5V 16 MHz
Diodos. Não me incomodei em correr em lojas de rádios, também pedi na Ali:
100 pcs 1N4148 DO-35
Depois, há nuances baratas e opcionais, mas muito importantes do nosso futuro teclado.
Switch Grease - reduz o ruído e melhora a sensação de digitação para melhor. Resumidamente sobre como lubrificar interruptores:
Comprei essa graxa na ponta, não precisava me arrepender: Graxa .
Anéis de borracha para tampas.

Necessário para reduzir o ruído da impressão, peguei 9x4x2.5 branco, sem queixas:
Anéis de borracha
Cabo micro USB para conectar a placa ao computador. Então eu tenho muitos deles, mas eu precisava de um de canto, é muito mais conveniente com ele (veja a foto no início do artigo):
Cabo micro USB
fiz o teclado dividido em dois blocos. Esses blocos precisavam ser conectados com fios. No início, conectei os blocos com uma ligação em cadeia de um drive de CD de computador.

Uma solução temporária, não recomendo para uso permanente. É melhor fazer um cabo de conexão destacável, será mais fácil no futuro. O cabo HDMI veio bem, tinha 19 núcleos com os 12 necessários (5 linhas + 7 colunas). Eu realmente não queria cortar o cabo e comprei conectores para ele:
Conector HDMI de 19 pinos
Pergunta: posso usar um cabo HDMI longo? É possível e até necessário! Basta olhar para a foto: O

teclado não desliza dos apoios de braço. Os pulsos estão apoiados nos apoios para as mãos. Cada suporte contém sua própria unidade de teclado com dois ímãs. O cabo HDMI não interfere em suas pernas. Nada rasteja para longe, ficou muito bom.
Você pode precisar desses adaptadores: adaptador de
cabo HDMI 270 180 90 graus

Você pode escolher qualquer outro método de conexão que seja mais adequado para você. Veja como um dos usuários do Reddit escapou, mas lembre-se de que existem apenas 10 núcleos neste cabo:

Eu tirei uma foto há muito tempo. Esse posto quase não existe mais, então apenas nessa capacidade.
Vamos somar minhas despesas, ficou ~ $ 38,5: as

compras vão se arrastar da China por cerca de um mês. E temos muito tempo para fazer nossa caixa de teclado.
Fazendo o painel superior e a caixa do teclado
De volta ao nosso construtor online. Precisamos inserir os dados, que tipo de switch estamos usando:

E a seguinte imagem:

Agora precisamos desta guia:

Com a combinação Ctrl + A, selecione todo o texto e copie-o para a área de transferência Ctrl + C. Abra o link:
Plate & Case Builder

E temos isso:

Azar, a imagem rastreada. Não importa, vamos consertar no Photoshop:

Envie para impressão. Medimos o tamanho dos quadrados no papel com uma régua - todos os lugares devem ter 14 mm. E a distância entre os furos quadrados deve ser de pelo menos 5 mm, caso contrário as tampas vão se tocar. Ainda tenho impressões de resultados intermediários:

Acabamos de imprimir um estêncil com o qual será conveniente marcar os orifícios das chaves. Em seguida, você deve escolher o material para o painel superior do seu futuro teclado: alumínio, fibra de vidro, plexiglass, acrílico, policarbonato ... Existem muitos materiais diferentes, mas eu escolhi o plexiglass. Use um material de no máximo 2 mm de espessura, caso contrário, os botões não grudarão na placa - as travas não conseguirão travar.

Mas antes de começar a trabalhar com seu futuro painel, recomendo fortemente que você experimente botões em um pedaço de papelão. Assim, você terá uma ideia geral da conveniência da localização dos botões de seu futuro teclado.

Quando você finalmente decidir que escolheu a opção que mais lhe convém, pode começar a fazer a placa superior do teclado. Eu pensava assim:


você pode aplicar marcações em plexiglass tanto arranhando com um escriba quanto simplesmente desenhando com uma caneta - isso é o suficiente. Em seguida, derreti os orifícios com um ferro de solda e ajustei-os com uma lima. Você também pode trabalhar como dremel. Não se esqueça, leva um mês para que os pacotes cheguem da China. Não há para onde correr, por isso não corri à procura de um corte a laser.

Estas são as placas superiores da primeira opção, nas quais os botões são inseridos. As placas inferiores são exatamente do mesmo tamanho, mas sem os orifícios para os interruptores. Resta apenas encontrar uma maneira de prender as placas superiores às inferiores. Implementei montagens em rack como placas-mãe em gabinetes de computador. Eu fiz furos nas placas inferiores de um diâmetro tal que uma porca M3 foi colocada nos furos.

E colamos nossas porcas nesses buracos usando supercola.

Aparafusamos as grades nas porcas.

Escolhi a altura dos racks para que houvesse altura suficiente para os interruptores pendurados na placa superior.

Quanto menor for a altura do nosso teclado, melhor para as nossas mãos! A altura do corpo do meu teclado com pés de borracha é inferior a 12 mm:

A altura total é de 25 mm:

No futuro, pretendo encontrar em algum lugar um selo de borracha / borracha com uma seção quadrada e colá-lo ao redor do perímetro da placa inferior, formando assim a parede da caixa do teclado. Eu simplesmente não tive tempo ainda.
Opção 2 antes de cobrir com um filme:

Em seguida, uma coisa totalmente opcional - cobri o painel superior do teclado com filme. Mas em algumas pequenas coisas, ela ainda ajudou: não há mais brilho do abajur e agora o LED vermelho no arduino em funcionamento não está visível.

Não vejo necessidade de explicar como colar o filme. Tudo o que foi exigido deste filme foi não distrair a atenção durante o trabalho. E ela executa essa tarefa perfeitamente. Foi comprado na Ali há quatro anos.

O material que foi para o pousa palmas. Qual é o nome, não tenho a menor ideia. Algo espumado ali. Embrulhe com fita adesiva e cole o filme por cima.

Coloquei pequenas arruelas de metal sob a fita adesiva em dois lugares e na frente delas colei ímãs de neodímio quebrados de um disco rígido antigo na caixa do teclado.

Agora, os apoios de mão não irão a lugar nenhum do teclado - os ímãs seguram muito bem. E se necessário, não é nada difícil remover os suportes - você pode superar definitivamente a atração dos ímãs. Aconselho vivamente que o faça também com ímanes, não se arrependerá.
Prosseguindo para fazer o firmware
Voltando ao editor online, precisamos desta guia aqui:

Usando a combinação Ctrl + A, selecione todo o texto e copie-o para a área de transferência Ctrl + C. Com a ajuda do texto copiado, podemos ver como ficará o nosso futuro teclado. Siga o link:
Layout do teclado Visualizador 3D

Você pode girar a câmera com o mouse e brincar com o zoom. Em geral, você descobrirá.
A próxima etapa, abra em uma nova aba do navegador o link do designer online do nosso firmware para arduina:
Keyboard Firmware Builder
Cole o copiado, como na imagem: Você

obterá automaticamente uma fiação elétrica desajeitada e inadequada para uso posterior.

É necessário ajudar o algoritmo a funcionar corretamente, ele mesmo não é capaz de lidar. Para fazer isso, voltamos ao designer online e trazemos nosso teclado para a forma:

Reabra a guia Keyboard Firmware Builder e cole a que copiou:

O resultado é excelente:

O que você precisa. Você deve obter um layout semelhante para si mesmo. Em seguida, vá até a aba PINS, nela indicaremos quais contatos o arduins usará. Observe bem, se você comprou a mesma placa que a minha, então terá apenas os contatos conforme a figura abaixo:

Com base no que temos, colocamos os pinos que estão disponíveis nas colunas LINHAS e COLUNAS. Abaixo está um exemplo de um arranjo na captura de tela:

Não é necessário organizar os pinos na mesma ordem da figura acima. Faça na ordem que mais lhe convier. O principal é não se enganar e não indicar os pinos que estão faltando na placa arduino.
Vá até a aba KEYMAP, nela definiremos o comportamento dos botões:

Parcialmente, o construtor atribuiu os valores aos botões para nós, terminaremos o resto. É muito interessante aqui, dá para pensar em tantas coisas! Vamos começar com o elementar: Em

seguida, clique em:

E o botão recebe o valor "3". Então, da mesma forma, atribuímos valores ao resto dos botões. Aqui está um exemplo de como fazer as teclas direita ou esquerda do Windows:

Isso é tudo que tínhamos no layout principal (camada zero) por padrão, vamos agora fazer a segunda camada.

Como usar este MO (1)? Funciona da mesma forma que a tecla SHIFT. Apenas o teclado dará o que programamos na camada 1. Comece a preencher a camada 1:

Faça a tecla DELETE:

Por padrão, este botão funciona como BACKSPACE. Mas agora, se pressionamos enquanto pressionamos MO (1), o botão funcionará como DELETE. É simples assim. Da mesma forma, atribuímos valores ao resto dos botões. E não necessariamente todos. Se não atribuímos um valor ao botão na camada 1, ele fornecerá um valor de camada zero (que é o padrão). Vamos fazer teclas de volume multimídia.

VOLD, VOLU é o controle de volume. Controle do jogador, por exemplo Foobar2000: PLAY, STOP, PREV, NEXT. E isso é tudo - teclas globais que irão controlar o jogador mesmo se você estiver trabalhando no WORD ou jogando algum jogo.
Além disso, haverá magia inacessível aos teclados convencionais. Lembre-se de quantas vezes você teve que remover sua mão do teclado para o mouse para rolar (rolar) com a roda do mouse um documento no WORD ou uma página em um navegador. Freqüentemente, provavelmente? Abra o link:
Teclas do mouse
Agora vamos ensinar o teclado a se comportar como um mouse de computador.


Veja o que posso fazer com a mão esquerda! Posso mover o cursor do mouse (para ser sincero, quase não uso), posso pressionar os botões esquerdo e direito do mouse (clico periodicamente no botão direito), giro a roda do mouse (uso o tempo todo, nem preciso me acostumar!) E controlo o player e o volume do Foobar2000. Ao mesmo tempo, a palma da mão não se move um milímetro para o lado.

Com isso, eu acho, tudo deve ficar claro para todos. Vamos fazer a combinação Ctrl + Alt + Del ser pressionada com um botão! Não que seja muito necessário, mas saber fazer é útil.

Próxima operação:

Modificador de novo:

Próxima operação:

Finalmente, o próprio botão:

Ele deve ter a seguinte aparência:

E você pode pensar em muitas combinações semelhantes.
Vamos fazer a camada MO (2):

Na camada MO (2), coloquei as teclas F1 - F12, as teclas do cursor e PgDn / PgUp / Home / End. Insert, como Caps Lock, considerei uma chave desnecessária e não a digitei.

Assim, com a ajuda desta camada, sem mover minha palma direita, posso usar as teclas do cursor e o bloco PgDn / PgUp / Home / End. Acredite em mim, é conveniente! Depois disso, você nem mesmo quer olhar para os teclados padrão comuns.
Todos nós jogamos jogos de computador, um dos meus favoritos é NFS Underground. Vamos criar uma camada de botão apenas para este jogo! Naturalmente, segurar o botão MO (3) o tempo todo durante o jogo para dirigir com as teclas do cursor será muito inconveniente. Em vez disso, usamos o modificador TG (3) - é semelhante ao princípio da tecla Caps Lock. Pressione a tecla TG (3) e solte - o teclado permanece no modo da camada TG (3). Pressione e solte esta tecla novamente - o teclado retornará ao modo de camada padrão. É simples assim. Por exemplo, vamos imaginar que o jogo não permite alterar as teclas, mas queremos personalizá-lo para nós de forma mais conveniente.

Eu me fiz assim:

Por conveniência, desfoquei os botões não usados na captura de tela. Em ambas as metades do teclado fiz teclas de cursor - para o caso de a mão ficar dormente e quiser dar um descanso. Não esqueci de implementar a chave TG (3) nesta camada - para que você possa retornar desta camada para a camada padrão. Também criei a tecla MO (1) na camada 3 - para controlar os botões de multimídia. Bem, o resto, em princípio, é claro. Obviamente, com essa camada de botões, será definitivamente mais confortável de jogar.
Vamos mais longe. Um total de 15 camadas podem ser feitas. É difícil para mim imaginar como todos eles podem ser usados. É ainda mais difícil imaginar como lembrar de todos eles. Atualmente, uso apenas 4 camadas e até agora são suficientes.
Eu falei apenas sobre uma pequena parte das maneiras de personalizar o firmware. Mas o que eu falei já é suficiente para você começar a trabalhar de forma mais eficaz com o teclado. Se você quiser "encher" mais seu teclado - veja lá:
Códigos de teclas
Como salvar seu trabalho para que da próxima vez não comece tudo de novo:

E agora podemos pegar o firmware finalizado nesta guia:

Agora precisamos fazer o upload do firmware para nosso arduino. Não poderia ser mais fácil.
Siga o link: QMK Toolbox

E agora baixe a última versão do programa:

Instale o programa, por precaução, reinicie o computador
Agora você precisará pegar um ferro de soldar e soldar o botão no arduino com dois fios nos contatos GND e RESET.

Conectamos nossa placa com um cabo micro usb ao computador - o LED deve acender. Lançamos o programa QMK Toolbox. Selecione o arquivo de firmware * .hex que baixamos recentemente.

Clique no botão que soldamos anteriormente ao arduino e espere a linha amarela aparecer no fundo escuro do programa. Assim que aparecer, não diminua a velocidade e pressione rapidamente o botão FLASH:

Se você diminuir a velocidade e a segunda linha amarela aparecer, o botão FLASH não começará a piscar na placa. Recomeçar: pressione o botão soldado, etc.
Seguindo para as peças de solda
É hora de dizer a você como soldar componentes eletrônicos de maneira adequada.
Primeiro você precisa dessoldar os diodos nos botões. Você precisará aprender como marcar os diodos. Tudo é simples aqui: o lado do diodo, marcado com um anel preto pintado, é o cátodo, o outro é o ânodo. O que é e por que você precisa, você deveria ter aprendido na escola.

Veja como é o lado esquerdo do teclado:

Agora olhe para a foto abaixo:

A linha superior de teclas ESCAPE, 1,2,3,4,5, conectamos com diodos. Soldamos os diodos uns aos outros com cátodos, e os próprios diodos foram soldados aos contatos dos botões com ânodos. Fazemos o mesmo com a linha de botões TAB, Q, W, E, R, T. Esta é a segunda linha de botões a partir do topo. Os diodos são soldados junto com os cátodos, em geral, da mesma forma que a fileira superior de botões. Soldamos as linhas restantes com diodos da mesma maneira. Em seguida, soldamos os fios como na foto abaixo.

Eu soldava especialmente com fios multicoloridos do cabo de par trançado para que você pudesse descobrir facilmente. Observe de perto a borda direita da foto. Liguei os contatos livres da LINHA VERTICAL de chaves com um fio azul: ESCAPE, TAB, ALT, CTRL, TG (3). Fazemos exatamente o mesmo com o resto das linhas verticais.
Quando você soldar tudo isso, você pode prosseguir para conectar a arduina. Vamos lembrar desta imagem:

E comparar com esta imagem:

Conectamos o fio que conecta a fileira vertical das teclas ESCAPE, TAB, ALT, CTRL, TG (3) com um fio ao contato do arduino C6. O fio que conecta a fileira vertical de teclas 1, Q, A, Z, TG (4) é conectado com um fio ao contato do arduino D7. Conectamos o fio que conecta a fileira vertical de teclas 2, W, S, X, LShift com um fio ao contato do arduino E6. A seguir, procedemos por analogia. Seguindo para as linhas. Os cátodos soldados dos diodos da linha ESCAPE, 1,2,3,4,5 são conectados ao contato Arduino D3. Os cátodos soldados dos diodos das linhas TAB, Q, W, E, R, T são conectados ao contato do arduino D2. Conectamos os cátodos dos diodos das linhas Alt, A, S, D, F, G ao contato D1. E ainda mais da mesma forma. A metade direita do teclado é preparada de forma semelhante à esquerda.

Se não fosse pelas setas do teclado, a foto abaixo não seria tão confusa:

Mas já sabemos que na verdade tudo é simples - conectamos as filas de botões com diodos e as colunas de botões com fios de acordo com o diagrama em frente a esta foto. E você já deve saber como conectar esta unidade de teclado.
Os cátodos de díodos da linha UP, 6,7,8,9,0,] soldaram-se - ligamos os arduins D3 ao contacto. Os cátodos dos diodos das linhas DOWN, Y, U, I, O, P, [soldadas entre si - conectamos os arduins D2 ao contato. Etc. Conectamos o fio que conecta a fileira vertical das teclas UP, DOWN, LEFT, RIGHT com um fio ao contato do arduino B2. O fio que conecta a fileira vertical de teclas 6, Y, H, N, MO (1) é conectado com um fio ao contato do arduino B3. E novamente, por analogia.
Ao montar a estrutura, abra o Bloco de Notas em seu computador e verifique como os botões funcionam. Meu teclado não quis funcionar normalmente da primeira ou da segunda vez - misturei os fios, soldando-os não aos meus contatos do Arduino. Acontece também que eu, imprecisamente, os embranqueci entre mim. É fácil de consertar - pegue um multímetro e toque os fios, qual deles leva a onde. Basta abrir essas imagens na tela do monitor à sua frente e verificar aonde os fios realmente conduzem.

Isso é tudo. Com base neste artigo, você pode facilmente fazer um teclado para você, afiado para você e conveniente para você pessoalmente. O tipo de teclado que você não pode comprar com dinheiro nenhum em lugar nenhum, nunca.
PS Se você decidir fazer seu próprio teclado, não hesite - compartilhe sua experiência! Estou sempre muito interessado em buscar novas idéias. Talvez graças a você eu possa adicionar algo novo e legal ao meu teclado.