Como construir um teclado macro de orçamento
Se você recentemente mergulhou no mundo do streaming do Twitch, sem dúvida encontrou periféricos como o Elgato Stream Deck. O Stream Deck é uma excelente ferramenta para controlar cenas OBS, postar no Twitter ou até mesmo gerenciar o bate-papo do Twitch.
O único problema é que é uma atualização cara se você estiver com o orçamento apertado.
Mas e se você pudesse ter seu próprio controlador por uma fração do preço? Boas notícias: você pode!
Hoje, você aprenderá a construir um macro pad no estilo Stream Deck sem queimar sua carteira.
O que é um Macro Pad?
Um macro pad é uma série de botões que permitem acionar ações específicas. Copiar / colar é um excelente exemplo desse tipo de função. Se você pressionar CTRL + C no teclado, o atalho de cópia será ativado e copiará tudo o que você destacou para a área de transferência.
Agora, e se você pudesse copiar com apenas um único pressionamento de tecla? E se você pudesse desencadear outras ações, como iniciar e interromper seu stream do Twitch? Um macro pad permite que você faça isso.
O que a maioria das pessoas não sabe, no entanto, é que esses teclados são surpreendentemente fáceis de construir, e o barato Raspberry Pi Pico é o microcontrolador perfeito para o trabalho. Além disso, uma vez que você saiba como esses controladores são feitos, você pode criar uma versão personalizada que envergonhará muitos teclados comerciais.
O que você precisa?
Para criar seu próprio Macro Pad dentro do orçamento, você precisará comprar os itens a seguir.
- 1 Raspberry Pi Pico.
- 9 interruptores Gateron.
- 9 teclas.
- Ferro de soldar e estação de solda.
- 1 solda.
- (4) Parafusos M3 x 16.
- Um fio de 20 ga (cerca de 2 pés).
- 1 descascador de fios.
- Um computador (para programação do Pico).
- Um caso para colocar tudo.
- Um cabo USB-C para micro-USB.
A parte mais cara deste projeto é sem dúvida o Raspberry Pi Pico. E se você tiver uma impressora 3D, pode economizar algum dinheiro imprimindo você mesmo o estojo e as capas de teclado. Como alternativa, você pode imprimi-los para você; existe uma seleção de opções online para eles.
Isenção de responsabilidade: se você não se sentir confortável em usar um ferro de solda ou trabalhar com pequenos componentes eletrônicos, talvez queira a ajuda de alguém neste projeto. Ferros de soldar podem atingir temperaturas de cerca de 850 graus Farenheit (450 graus Celsius), e o uso indevido de um deles pode causar ferimentos graves. Tenha cuidado e lembre-se de que você é responsável por sua segurança.
Como Rolar Seu Próprio Macro Pad
Depois de reunir seus materiais, você soldará todos os componentes eletrônicos. A seguir, você codificará o Pi Pico usando CircuitPython, que será muito mais fácil do que parece. E, finalmente, você montará o teclado de macro e configurará suas macros.
Preparar?
Vamos!
Etapa 1: Soldar os eletrônicos
Comece instalando os interruptores na parte superior da caixa que você imprimiu e, em seguida, estanhe os contatos elétricos de cada interruptor. Solde um único fio curto em cada perna da chave. Usamos um fio vermelho e um fio preto por switch, então as conexões são fáceis de identificar.
Em seguida, você precisará conectar os interruptores em série. Para fazer isso, pegue o fio preto do switch superior esquerdo, corte-o no comprimento e solde-o no local do fio preto do segundo switch. Repita esse processo com cada switch até que haja uma única conexão de fio preto entre os switches. Quando terminar, você também deve ter uma longa guia preta e nove vermelhas.
Agora, você conectará o Raspberry Pi Pico aos interruptores usando os pinos GPIO. Solde o fio vermelho de cada chave em um único pino GPIO no Pi. Use os seguintes pinos e seus respectivos locais de troca, conforme listado:
Agora, conecte o cabo preto restante da última chave ao GPIO36. Este pino é sua saída de 3,3 V e alimentará a unidade quando o cabo micro-USB for conectado. Novamente, certifique-se de usar a saída de 3,3 V – e não a EN de 3,3 V.
Depois que todas essas conexões forem soldadas, você terá feito a parte mais difícil! Agora, é hora de ligar o Pico e instalar o CircuitPython.
Etapa 2: Instale o CircuitPython e codifique o Macro Pad
Antes de conectar o Raspberry Pi Pico ao computador, você deve baixar o firmware CircuitPython .UF2 , este projeto Novaspirit GitHub e uma cópia do Mu Editor ou Thonny . Além disso, esta compilação mostra uma configuração usando um computador macOS. Se você usa o Windows, o processo deve ser semelhante.
Para instalar o CircuitPython , mantenha pressionado o botão Bootsel no Pico e conecte-o ao computador usando o cabo micro USB. Você deve ver um novo dispositivo pop-up com o nome RPI-RP2 . Esse é o seu Pico.
Em seguida, arraste o arquivo de firmware CircuitPython .UF2 para o Pico. Espere até que o arquivo termine de copiar, ejete e reconecte o Pico. O nome do dispositivo agora deve aparecer como CIRCUITPY .
Agora, descompacte o projeto Novaspirit Github e arraste a pasta lib e os arquivos code.py de dentro da pasta PiPicoMacroKeys-Main diretamente para o diretório raiz CIRCUITPY . Isso instalará as bibliotecas necessárias para o controlador.
Em seguida, clique em CIRCUITO . Você deve ver um arquivo denominado code.py no diretório raiz. Abra este arquivo com Mu Editor ou Thonny.
Como o arquivo code.py original do Novaspirit oferece apenas seis botões, você normalmente precisa fazer alguns ajustes para os extras. No entanto, incluímos um arquivo code.py funcional abaixo, para que você não precise fazer isso. Em vez disso, copie e cole todo o código na instância code.py aberta, substituindo todo o resto no arquivo. Em seguida, reinicie o Pico.
# Originally coded by Novaspirit Tech
# Copy this code into your code.py file.
import time
import usb_hid
from adafruit_hid.keycode import Keycode
from adafruit_hid.keyboard import Keyboard
import board
import digitalio
# These are the corresponding GPIOs on the Pi Pico
# that you soldered
btn1_pin = board.GP1
btn2_pin = board.GP2
btn3_pin = board.GP3
btn4_pin = board.GP4
btn5_pin = board.GP5
btn6_pin = board.GP6
btn7_pin = board.GP21
btn8_pin = board.GP20
btn9_pin = board.GP19
btn1 = digitalio.DigitalInOut(btn1_pin)
btn1.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.DOWN
btn2 = digitalio.DigitalInOut(btn2_pin)
btn2.direction = digitalio.Direction.INPUT
btn2.pull = digitalio.Pull.DOWN
btn3 = digitalio.DigitalInOut(btn3_pin)
btn3.direction = digitalio.Direction.INPUT
btn3.pull = digitalio.Pull.DOWN
btn4 = digitalio.DigitalInOut(btn4_pin)
btn4.direction = digitalio.Direction.INPUT
btn4.pull = digitalio.Pull.DOWN
btn5 = digitalio.DigitalInOut(btn5_pin)
btn5.direction = digitalio.Direction.INPUT
btn5.pull = digitalio.Pull.DOWN
btn6 = digitalio.DigitalInOut(btn6_pin)
btn6.direction = digitalio.Direction.INPUT
btn6.pull = digitalio.Pull.DOWN
btn7 = digitalio.DigitalInOut(btn7_pin)
btn7.direction = digitalio.Direction.INPUT
btn7.pull = digitalio.Pull.DOWN
btn8 = digitalio.DigitalInOut(btn8_pin)
btn8.direction = digitalio.Direction.INPUT
btn8.pull = digitalio.Pull.DOWN
btn9 = digitalio.DigitalInOut(btn9_pin)
btn9.direction = digitalio.Direction.INPUT
btn9.pull = digitalio.Pull.DOWN
keyboard = Keyboard(usb_hid.devices)
# below are the key values that you can change to
# fit your preferences. Change Keycode.ONE for example to
# (Keycode.CONTROL, Keycode.F4) for CTRL + F4
# on the first button.
# See the official CircuitPython docs
# for additional help
while True:
if btn1.value:
keyboard.send(Keycode.ONE)
time.sleep(0.1)
if btn2.value:
keyboard.send(Keycode.FOUR)
time.sleep(0.1)
if btn3.value:
keyboard.send(Keycode.SEVEN)
time.sleep(0.1)
if btn4.value:
keyboard.send(Keycode.TWO)
time.sleep(0.1)
if btn5.value:
keyboard.send(Keycode.FIVE)
time.sleep(0.1)
if btn6.value:
keyboard.send(Keycode.EIGHT)
time.sleep(0.1)
if btn7.value:
keyboard.send(Keycode.THREE)
time.sleep(0.1)
if btn8.value:
keyboard.send(Keycode.SIX)
time.sleep(0.1)
if btn9.value:
keyboard.send(Keycode.NINE)
time.sleep(0.1)
time.sleep(0.1)
Este código é personalizável e envia entradas numéricas entre um e nove, com base na tecla que você pressiona. Posteriormente, para alterar essas funções, você editará as partes (Keycode.ONE) do código na seção while True: no arquivo code.py.
Para fazer isso, substitua a chave de sua preferência por UM . Por exemplo, você pode usar uma única instância de (Keycode.customkey) ou várias, como (Keycode.ALT, Keycode.TAB) .
Finalmente, você precisará testar os botões. Abra um arquivo de texto e pressione as teclas em seu novo teclado. Eles devem retornar os valores numéricos correspondentes entre um e nove.
Se tudo estiver funcionando, você pode desconectar o Pico do computador e montar o gabinete. Eles se encaixam, mas você pode usar os parafusos M3 se preferir.
Etapa 3: Atribuir suas macros
Agora, você pode atribuir ações específicas a cada tecla em programas como OBS ou no arquivo code.py no próprio Pico.
No OBS, por exemplo, navegue até Configurações> Teclas de atalho e clique no campo Iniciar gravação . Em seguida, toque em um dos botões do seu macro pad. Clique em OK para salvar a macro. Agora, tente apertar esse botão. Se você configurou as coisas corretamente, o OBS começará a gravar.
Os programas individuais usam macros diferentes, então experimente seu software favorito e veja quais atalhos divertidos você pode descobrir. Aqui está uma lista de algumas coisas que você pode querer tentar:
- Atribua uma tecla para aumentar ou diminuir o zoom em páginas da web.
- Atribua uma chave para a ferramenta lâmina no DaVinci Resolve.
- Atribua um “interruptor de pânico” que minimiza todas as janelas em um único pressionamento de tecla.
- Atribua uma tecla para abrir a caixa de diálogo de compromisso em seu calendário.
- Atribua uma tecla para aumentar ou diminuir o tamanho do pincel no Photoshop.
- Atribua uma chave para abrir o Chrome.
- Atribua uma tecla para alternar a visualização em tela inteira no bate-papo do Twitch.
Desfrute do seu novo Macro Pad
Um macro pad ou Stream Deck é útil para melhorar seus fluxos de trabalho de streaming ou produtividade. Mas você não precisa desembolsar centenas de dólares para obter uma excelente funcionalidade. Em vez disso, você pode construir uma alternativa com muitos dos mesmos recursos.
Você pode até adicionar telas RGB ou OLED, ou outras personalizações que não estão disponíveis em unidades comerciais. E com um deck stream caseiro, você terá a satisfação de saber que construiu algo extraordinário com apenas alguns dólares e um punhado de peças baratas.