Faça seus próprios botões de atalho personalizado com um arduino

O humilde Arduino pode fazer um monte de coisas, mas você sabia que ele pode imitar um teclado USB? Você pode combinar os difícil lembrar os atalhos de teclado longos em uma única tecla de atalho personalizado, com este circuito simples. Aqui está o resultado final:

Nunca usou um Arduino antes? Confira nossa Guia de Introdução primeiro.Começando com o Arduino: Guia de um novatoComeçando com o Arduino: Guia de um novatoArduino é uma plataforma electrónica de prototipagem de código aberto baseado em flexível e fácil de usar hardware e software. É destinado a artistas, designers, entusiastas e qualquer pessoa interessada em criar objetos ou ambientes interativos.consulte Mais informação

O que você precisa

Peças Arduino atalho
Aqui está o que você precisa para tornar este projecto:

  • 1 x Arduino Pro Micro.
  • Momentânea ou os botões do teclado.
  • resistores 10K Ohm.
  • Fios de montagem sortidas.
  • 1 x 220 ohm resistores.
  • 1 x 5 mm (0,197 polegadas) de LED.
  • 1 x 5 mm LED titular.

Você vai precisar de um Arduino muito específica para este projeto. Eu estou usando um Pro Micro, como eles são tão pequeno e barato, você precisa de um Arduino que tem USB-Serial integrada no processador (Atmega32u4). É possível construiu este projeto com outros Arduinos, tais como um UNO ou Nano, no entanto, requer um monte de trabalho duro para re-flash na bios e mexendo para fazer as coisas para trabalhar. Clones de outros modelos Arduino não costumam trabalhar em tudo, mas um clone Micro Pro também está bem.

OSOYOO Pro Micro ATmega32U4 5V / 16MHz Módulo Board com cabeçalho pino 2 linha para arduino Leonardo Substituir ATmega328 Arduino Pro MiniOSOYOO Pro Micro ATmega32U4 5V / 16MHz Módulo Board com cabeçalho pino 2 linha para arduino Leonardo Substituir ATmega328 Arduino Pro MiniATmega 32U4 funcionando com 5V / 16MHz Compre Agora No Amazon $ 8,70

Você vai precisar de um botão momentâneo, um resistor de 10K ohm, e fio de conexão apropriado para cada botão que deseja usar. Estou usando Cereja MX interruptores de teclado mecânico para os botões de atalho reais, embora qualquer interruptor vai fazer, desde que seja momentânea e não de travamento.

Você pode precisar de alguns outros itens, dependendo de como você construir este. Se você quiser protótipo, você vai precisar de uma placa de ensaio sem solda. Vale a pena gastar o dinheiro em um bom - eles às vezes pode ser muito confiável. Se você quiser caixa isso, você vai querer comprar alguns stripboard.

Plano de construir

Veja como isso vai funcionar. O Arduino serão programados para agir como um teclado USB - na medida em que o seu computador está em causa, é. Vários botões ligados ao Arduino irá enviar comandos de teclas para o seu computador. Você só vai pressionar um botão, mas o computador vai pensar que você tenha pressionado Alt gt; F4, por exemplo.

A seleção de um interruptor

Arduino cereja MX

Existem diversas variações de switches da série MX. Este site fornece uma excelente introdução, no entanto, essencialmente descer ao ruído e pressão. Alguns modelos requerem mais força para pressionar, e alguns modelos fazer uma mecânica “clique” som quando pressionado. Eu tenho usado cereja MX Browns, que não fazem um barulho quando pressionado. Eles são todas as mesmas dimensões, para escolher qualquer modelo que você gosta (ou misturar e combinar) sem se preocupar.

Você também vai precisar comprar algumas tampas chave, é claro, e há um mundo de desenhos personalizados lá fora, para escolher - nós comprado de KeyboardCo na U.K.

O caso

Eu tenho 3D impresso neste caso, e você pode baixar o .STL arquivos de Thingiverse. Não se preocupe se você não possui uma impressora 3D, você ainda pode construir isso. Muitos sites oferecem serviços de impressão 3D, como Hubs 3D ou Shapeways. Alternativamente, este é um caso muito simples, você pode fazer o seu próprio fora do plasticard, perspex, madeira, ou até mesmo de papelão. Se você quer ser realmente frugal, Cereja MX vender um interruptor tester / amostrador definido na Amazon (UK). Você vai precisar de 4 parafusos M5 x 35mm e 4 M5 nozes. Pode, claro, substituir estes para uma alternativa adequada que você tem.

Max teclado tecla cap, cereja MX Switch, O-Ring Kit Pro Sampler TesterMax teclado tecla cap, cereja MX Switch, O-Ring Kit Pro Sampler TesterA deve ter kit para tentar cereja MX comutadores de chave mecânicos Compre Agora No Amazon $ 19,99

Se você está fazendo o seu próprio caso, há um detalhe importante que você precisa saber: interruptores cereja MX são um push-fit em seus orifícios de montagem. Eles exigem um 14 x 14 milímetros (0,551 polegadas) quadrado do furo de montagem, com a placa sendo a espessura de 1,5 milímetros (0,059 polegada). Ando muito longe destas dimensões, e seus switches já não podem montar corretamente.

Caso atalho
O caso é impressa em 3D em duas partes, a parte superior e a parte inferior. Pressionar os interruptores de cereja MX nos orifícios quadrados:

Atalho cereja Monte MX

Certifique-se de montar os interruptores a volta correto. A parte superior tem as palavras “Cherry”, e parte inferior tem um pequeno entalhe. Inserir um LED para este pequeno slot de três milímetros:

LED atalho cereja MX

Você pode achar que os LEDs têm melhor aparência montado “cabeça para baixo”. Este foi o caso para as teclas que eu usei, e não tem impacto sobre os interruptores em tudo.

Agora você deve ter nove switches com 9 LEDS. Não há necessidade de cola qualquer destas partes. A solda irá segurar os LEDs, e atrito irá segurar os interruptores.

Video: Como montar uma maleta Arcade!

Atalho cereja MX Todos

Em seguida, parafuso no monte LED (deixar o LED removido por agora). Você vai terminar a montagem o caso mais tarde, uma vez que o circuito é construído.

Video: Como criar personalizados profissionalmente #3 - Criando base para tag de 5cm - CorelDRAW X6

O circuito

Este circuito é construído sobre stripboard. Isto é excelente para construção de circuitos semi-permanente, sem o custo de uma placa de circuito impresso (PCB). É simplesmente um pedaço de fibra de vidro com faixas de cobre correndo em paralelo em uma direção. Essas faixas podem ser soldados para, assim como corte. Cortar uma faixa pode ser feito com uma ferramenta especial ou uma pequena broca.

Não muito confiante na solda? Dê uma olhada em estes projetos simples primeiro.Aprenda a solda, com estas dicas simples e ProjetosAprenda a solda, com estas dicas simples e ProjetosVocê está um pouco intimidado pelo pensamento de um ferro quente e metal fundido? Se você quer começar a trabalhar com eletrônica, você vai precisar aprender a solda. Vamos ajudar.consulte Mais informação

Aqui está o layout stripboard (exclui arrastando leads):

Arduino atalho stripboard

Certifique-se de cortar os traços sob as resistências e o Arduino. Como ele pode ser muito difícil de ler um circuito stripboard, aqui está uma versão placa de ensaio:

Arduino atalho Breadboard

É um ajuste apertado para espremer todos os componentes em um espaço tão pequeno. Corte os cantos de sua stripboard da seguinte forma:

Video: Crie efeitos de iluminação em botões no CorelDRAW

atalho stripboard

Esta deve se encaixar perfeitamente na parte inferior do caso:

Atalho stripboard na Caixa

Certifique-se as faixas estão executando verticalmente.

Ligar o ânodo (perna longa, positivo) Do diodo emissor de luz para o resistor 200 e, em seguida, a 5 V. Ligue o cátodo (perna curta, negativo) à terra. Cobrir as pernas com sleeving termorretracção e depois empurrar para o titular LED. Não há necessidade de qualquer cola, no entanto o seu titular LED não pode ser um push-fit, assim você pode precisar de se adaptar estas instruções.

LED Estado de atalho

Você pode querer usar um LED aqui em vez bi-color - isso permitirá que você configurar dois ou mais bancos de switches, com um estado de cor diferente LED para cada banco.

Agora é hora de soldar todos os LEDs para as teclas. Estes são usados ​​apenas para fazer as teclas de brilhar, para que possa ignorá-los se você gostaria, e eles não tem que ser conectado a um pino digital, única potência. Conectar todos os ânodos juntos, e todos os cátodos juntos. Aprender com o meu erro - é muito mais fácil de fazer isso antes de conectar as chaves! Ligar os ânodos para +5 V através de uma resistência de 220 ohm, e os cátodos para o solo. Esses LEDs são ligados em paralelo. Aqui está o circuito apenas para esses LEDs:

Botão de Atalho Circuit LEDs



Usar uma pequena peça de tubagem de retracção por calor a cobrir a ligação entre os LEDs e o Arduino:

Atalho LED HEATSHRINK

Ligue o Arduino para testar todos os LEDs trabalho. Você não precisa fazer o upload de qualquer código. Se todos os LEDs não estão funcionando, vá e confira duplo sua fiação.

Teste de LED de atalho

Agora ligar os interruptores. Estes devem ser ligado através de uma resistência de 10K, de outra forma o Arduino morrerá. Isso é chamado de morto curto - +5 V vai diretamente para terra, e tudo o que resta do seu Arduino será um sopro de fumaça (confie em mim, eu matei um já assim você não precisa). Aqui está o circuito para um interruptor:

Circuito de atalhos Arduino

Este circuito é o mesmo para todos os nove interruptores. Ligue os interruptores de pinos digitais dois a dez, cada um com seu próprio resistor de 10K para o solo. Tenha cuidado de solda interruptores cereja MX, eles podem ser um pouco frágil, eu tive vários pinos quebrar em mim. Você pode querer soldar-los diretamente para um pouco mais de stripboard, no entanto arrastando leads ainda são adequados.

Isso é tudo para a fiação. Você pode querer montar um soquete B feminino tipo USB, porém os pinos minúsculos sobre eles muitas vezes pode ser bastante difícil de solda para. Se você não quiser fazer isso, não se preocupe. O conector USB Micro sobre o Arduino se encaixa perfeitamente o buraco no chassis. Se você está um pouco confuso sobre os diferentes tipos USB, certifique-se entender as diferenças.Compreendendo os tipos de cabo USB & Qual usarCompreendendo os tipos de cabo USB & Qual usarO mundo dos cabos USB pode ser um pouco confuso, porque há tantos tipos de conectores diferentes. Aqui está tudo o que você precisa saber para não ser confundido por mais tempo.consulte Mais informação

Finalmente, verifique o seu circuito está correto. Um curto pode facilmente destruir um Arduino, e pode ser fácil de fazer usando stripboard.

O código

Agora testar o circuito está correto. É uma boa idéia fazer isso antes de prosseguir, para que possa corrigir quaisquer problemas agora, enquanto você pode. Enviar este código de teste (não se esqueça de selecionar a placa correta e a porta do Ferramentas gt; Borda e Ferramentas gt; Porta menus):

const int botões[] = {2,3,4,5,6,7,8,9,10}- // array de todos os pinos do botãovazio configuração() {// colocar o seu código de configuração aqui, para executar uma vez:Serial.início(9600)-pinMode(2, ENTRADA)-pinMode(3, ENTRADA)-pinMode(4, ENTRADA)-pinMode(5, ENTRADA)-pinMode(6, ENTRADA)-pinMode(7, ENTRADA)-pinMode(8, ENTRADA)-pinMode(9, ENTRADA)-pinMode(10, ENTRADA)-}vazio laço() {// coloque o código principal aqui, para executar repetidamente:para(int Eu = 2- Eu lt; 11- ++Eu) {E se(digitalRead(Eu) == ALTO) {// software de-salto melhora a precisãodemora(10)-E se(digitalRead(Eu) == ALTO) {// interruptores de seleçãoSerial.impressão ("entrada")-Serial.println(Eu)-demora(250)-}}}}

Você pode precisar alterar os pinos se você tiver modificado o circuito.

Uma vez carregado, abra o monitor serial (canto superior direito gt; Serial monitor). Um por um, pressione cada botão. Você deverá ver o monitor serial mostrar o número do botão pressionado. Assim como com o LED, se o seu computador reclama de desenho muito atual, ou os LEDs sair quando você pressiona um botão, desligue imediatamente! Você tem um curto em algum lugar do circuito, verifique o circuito está correto e não há curtos entre conexões.

Se tudo estiver funcionando, vá em frente e colocar o circuito dentro da caixa. Você pode querer usar um pouco de cola para manter o circuito no lugar (embora os fios segurou a minha in fine). Fecha a tampa também.

Para fazer o Arduino parece ser um teclado é muito simples. Se você estiver usando um Nano ou UNO, você está indo para re-programar o seu Arduino usando Atualização de firmware do dispositivo (DFU). Isso geralmente é usado para flash novo firmware para o Arduino. Você vai usá-lo para piscar o Arduino com um novo firmware que irá fazê-lo funcionar como um teclado. Esta não será coberto aqui, pois é uma tarefa bastante complexa. O site Arduino tem um bom tutorial para isso.

O Arduino Pro Micro torna este passo muito fácil. A lógica necessária para emular um teclado USB já está embutido no processador, por isso é tão simples como escrever algum código!

Primeiro, configure as chaves:

int chaves[] = {2, 3, 4, 5, 6, 7, 8, 9, 10}-

Esta é uma matriz que contém todos os pinos dos botões estão ligados a. Se você já usou mais ou menos botões ou usados ​​pinos diferentes, altere os valores aqui.

Uma matriz é um recolhida de coisas afins. Os computadores podem otimizar seu código para acessá-los rapidamente, e eles acelerar o processo de escrita de código.

Agora inicializar todos os pinos como entradas:

Video: Como fazer uma esteira lagarta! Gambiarras extremas #1!

vazio configuração() {// colocar o seu código de configuração aqui, para executar uma vez:Teclado.início()- // teclado configuraçãopara (int Eu = 2- Eu lt; 11- ++Eu) {// pinos initilizepinMode(Eu, ENTRADA)-}}

Isso diz ao Arduino que todos os pinos na matriz são entradas. Um loop é usado para fazer isso, então ao invés de escrever pinMode (2, ENTRADA) nove vezes, você só tem que escrever uma vez. Isso também chama Keyboard.begin. Isso configura uma função interna para a biblioteca Arduino, projetado especificamente para emular um teclado.

Criar um método chamado readButton:

boleano readButton(int PIN) {// seleção e botões de debounceE se (digitalRead(PIN) == ALTO) {demora(10)-E se (digitalRead(PIN) == ALTO) {Retorna verdade-}}Retorna falso-}

Isso leva um alfinete, e verifica se ele foi pressionado ou não. Ele simplesmente retorna VERDADE ou FALSO. Ele também contém alguns debouncing software - um atraso simples e, em seguida, re-verificar o interruptor garante que o botão realmente foi pressionado.

Agora, outro laço for é chamado dentro void loop ():

vazio laço() {// coloque o código principal aqui, para executar repetidamente:para (int Eu = 2- Eu lt; 11- ++Eu) {// botões de seleçãoE se(readButton(Eu)) {DoAction(Eu)-}}}

Novamente, isso vai sobre cada elemento na matriz e verifica se ele foi pressionado. Ele faz isso por chamado readButton método criado anteriormente. Se um botão foi pressionado, ele passa esse número pin para outro método chamado DoAction:

vazio DoAction(int PIN) {// executar tarefasinterruptor (PIN) {caso 2:Teclado.println("drive.google.com")-pausa-caso 3:Teclado.println("makeuseof.com")-pausa-caso 4:// CMD + T (nova aba, o Chrome)Teclado.pressione(KEY_LEFT_GUI)-Teclado.pressione(`T`)-demora(100)-Teclado.releaseAll()-pausa-caso 5:// sua tarefa aquipausa-caso 6:// sua tarefa aquipausa-caso 7:// sua tarefa aquipausa-caso 8:// sua tarefa aquipausa-caso 9:// sua tarefa aquipausa-}}

Este verifica o número de pinos usando um interruptor declaração. instruções switch (às vezes chamados caso interruptor) São semelhantes a um E se declaração, no entanto, eles são úteis para verificar que uma coisa (neste caso, o número de pinos) é igual a um dos vários resultados diferentes. Essencialmente, eles são muito mais rápidos de calcular.

Os principais componentes são dentro desta instrução switch. Keyboard.println escreve texto para o computador como se você digitou fisicamente cada chave. Keyboard.press prensas e detém uma chave. Não se esqueça de liberá-los usando Keyboard.releaseAll após um pequeno atraso!

Aqui está o código completo:

int chaves[] = {2, 3, 4, 5, 6, 7, 8, 9, 10}-vazio configuração() {// colocar o seu código de configuração aqui, para executar uma vez:Teclado.início()- // teclado configuraçãopara (int Eu = 2- Eu lt; 11- ++Eu) {// pinos initilizepinMode(Eu, ENTRADA)-}}vazio laço() {// coloque o código principal aqui, para executar repetidamente:para (int Eu = 2- Eu lt; 11- ++Eu) {// botões de seleçãoE se(readButton(Eu)) {DoAction(Eu)-}}}boleano readButton(int PIN) {// seleção e botões de debounceE se (digitalRead(PIN) == ALTO) {demora(10)-E se (digitalRead(PIN) == ALTO) {Retorna verdade-}}Retorna falso-}vazio DoAction(int PIN) {// executar tarefasinterruptor (PIN) {caso 2:Teclado.println("drive.google.com")-pausa-caso 3:Teclado.println("makeuseof.com")-pausa-caso 4:// CMD + T (nova aba, o Chrome)Teclado.pressione(KEY_LEFT_GUI)-Teclado.pressione(`T`)-demora(100)-Teclado.releaseAll()-pausa-caso 5:// sua tarefa aquipausa-caso 6:// sua tarefa aquipausa-caso 7:// sua tarefa aquipausa-caso 8:// sua tarefa aquipausa-caso 9:// sua tarefa aquipausa-}}

Além de todas as chaves números e letras, o Arduino pode pressionar a maioria das teclas especiais chamados modificadores de teclado. Estes são particularmente úteis para pressionar os atalhos de teclado. O site Arduino tem uma lista útil.

Agora tudo o que resta é criar alguns atalhos. Você pode mapear isso para atalhos existentes, tais como Alt + F4 (Próximo programa no Windows) ou cmd + Q (Sair do programa MacOS). Como alternativa, certifique-se de ler a nossa guia atalho final, como criar atalhos do Windows, e cada atalho Chromebook para começar a fazer os seus próprios atalhos.Janelas Atalhos 101 - The Ultimate Keyboard Guia AtalhoJanelas Atalhos 101 - The Ultimate Keyboard Guia AtalhoCom tantos atalhos embutido no Windows e seu software, pode parecer impossível aprender todos eles. Aqui é o melhor guia para os atalhos de teclado mais úteis.consulte Mais informação

de ter criado a sua própria caixa de atalho? Deixe-me saber nos comentários, eu adoraria ver algumas fotos!


Artigos relacionados