Как создать бюджетную макроплату

Если вы недавно окунулись в мир потоковой передачи Twitch, вы, несомненно, сталкивались с периферийными устройствами, такими как Elgato Stream Deck. Stream Deck – отличный инструмент для управления сценами OBS, публикации сообщений в Twitter или даже управления чатом Twitch.

Единственная проблема в том, что это дорогое обновление, если у вас ограниченный бюджет.

Но что, если бы у вас был собственный контроллер за небольшую плату? Хорошие новости: можно!

Сегодня вы узнаете, как создать макропад в стиле Stream Deck, не прожигая дыры в кошельке.

Что такое Macro Pad?

Макро-панель – это набор кнопок, которые позволяют запускать определенные действия. Копирование / вставка – отличный пример такого типа функций. Если вы нажмете CTRL + C на клавиатуре, это активирует ярлык копирования и скопирует все, что вы выделили, в буфер обмена.

А что, если бы вы могли копировать всего одним нажатием клавиши? Что, если бы вы могли инициировать другие действия, например запуск и остановку потока Twitch? Макро-панель позволяет вам это делать.

Однако большинство людей не знают, что эти клавиатуры на удивление просты в сборке, а недорогой Raspberry Pi Pico – идеальный микроконтроллер для этой работы. Кроме того, как только вы узнаете, как сделаны эти контроллеры, вы сможете создать индивидуальную версию, которая посрамит многие коммерческие клавиатуры.

Связанный: Классные проекты, которые вы можете создавать с помощью Pi Pico

Что вам нужно?

Чтобы создать свой собственный Macro Pad с ограниченным бюджетом, вам необходимо купить следующие предметы.

  • 1 Raspberry Pi Pico.
  • 9 переключателей Gateron.
  • 9 колпачков.
  • Паяльник и паяльная станция.
  • 1 припой.
  • (4) винта M3 x 16.
  • Провод 20 га (около 2 футов).
  • 1 Инструмент для зачистки проводов.
  • Компьютер (для программирования Пико).
  • Чехол, в который можно все положить.
  • Кабель USB-C – micro-USB.

Пожалуй, самая дорогая часть этого проекта – Raspberry Pi Pico. А если у вас есть 3D-принтер, вы можете сэкономить, распечатав корпус и колпачки клавиш самостоятельно. В качестве альтернативы вы можете распечатать их для себя; для них существует выбор онлайн-опций.

Отказ от ответственности: если вам неудобно пользоваться паяльником или работать с небольшой электроникой, возможно, вам понадобится помощь с этим проектом. Паяльники могут нагреваться до температуры около 850 градусов по Фаренгейту (450 градусов по Цельсию), и неправильное использование одного из них может привести к серьезным травмам. Будьте осторожны и помните, что вы несете ответственность за свою безопасность.

Как свернуть свой собственный макропэд

Собрав материалы, вы спаяете всю электронику. Затем вы запрограммируете Pi Pico с помощью CircuitPython, что будет намного проще, чем кажется. И, наконец, вы соберете макроблок и настроите свои макросы.

Готовый?

Пошли!

Шаг 1: припаяйте электронику

Начните с установки переключателей в верхнюю часть распечатанного вами корпуса, а затем залудите электрические контакты каждого переключателя. Припаяйте по одному короткому проводу к каждой ножке переключателя. Мы использовали один красный провод и один черный провод для каждого переключателя, поэтому соединения легко идентифицировать.

Далее вам необходимо последовательно соединить переключатели. Для этого возьмите черный провод от верхнего левого переключателя, обрежьте его по длине и припаяйте к месту черного провода второго переключателя. Повторите этот процесс с каждым переключателем, пока между переключателями не появится единственный черный провод. Когда вы закончите, у вас также должен быть один длинный черный провод и девять красных.

Теперь вы подключите Raspberry Pi Pico к коммутаторам с помощью контактов GPIO. Припаяйте красный вывод каждого переключателя к одному выводу GPIO на Pi. Используйте следующие контакты и соответствующие им положения переключателей, как указано в списке:

Теперь подключите оставшийся черный провод от последнего переключателя к GPIO36. Этот вывод является вашим выходом 3,3 В и будет обеспечивать питание устройства при подключении кабеля micro-USB. Опять же, убедитесь, что вы используете выход 3.3V, а не 3.3V EN.

После того, как все эти соединения спаяны, самое сложное! Теперь пора запустить Pico и установить CircuitPython.

Связанный: Как сделать охранную сигнализацию с Raspberry Pi Pico

Шаг 2. Установите CircuitPython и запрограммируйте Macro Pad

Прежде чем подключить Raspberry Pi Pico к компьютеру, вы должны загрузить прошивку CircuitPython .UF2 , этот проект Novaspirit GitHub и копию Mu Editor или Thonny . Кроме того, в этой сборке показана конфигурация с использованием компьютера MacOS. Если вы используете Windows, процесс должен быть аналогичным.

Чтобы установить CircuitPython, удерживайте кнопку Bootsel на Pico и подключите его к компьютеру с помощью кабеля micro-USB. Вы должны увидеть новое устройство с именем RPI-RP2 . Это твой Пико.

Затем перетащите файл прошивки CircuitPython .UF2 в файл Pico. Дождитесь завершения копирования файла, затем извлеките и повторно подключите Pico. Имя устройства теперь должно отображаться как CIRCUITPY .

Теперь распакуйте проект Novaspirit Github и перетащите папку lib и файлы code.py из папки PiPicoMacroKeys-Main прямо в корневой каталог CIRCUITPY . Это установит библиотеки, необходимые для контроллера.

Затем нажмите CIRCUITPY . Вы должны увидеть файл с именем code.py в корневом каталоге. Откройте этот файл с помощью Mu Editor или Thonny.

Поскольку исходный файл Novaspirit code.py предлагает только шесть кнопок, вам обычно необходимо внести некоторые изменения в дополнительные функции. Однако мы включили рабочий файл code.py ниже, так что вам не обязательно. Вместо этого скопируйте и вставьте весь код в открытый экземпляр code.py, заменив все остальное в файле. Затем перезагрузите 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)

Этот код настраивается и отправляет числовые значения от одного до девяти в зависимости от того, какую клавишу вы нажимаете. Позже, чтобы изменить эти функции, вы отредактируете части кода (Keycode.ONE) в разделе while True: файла code.py.

Для этого замените любую клавишу, которую вы предпочитаете, на ОДИН . Например, вы можете использовать один или несколько экземпляров (Keycode.customkey) , например (Keycode.ALT, Keycode.TAB) .

Наконец, вам нужно проверить кнопки. Откройте текстовый файл и нажимайте клавиши на новой клавиатуре. Они должны возвращать соответствующие числовые значения от одного до девяти.

Если все работает, вы можете отключить Pico от компьютера и собрать корпус. Он защелкивается вместе, но вы можете использовать винты M3, если хотите.

Связанный: Raspberry Pi, Pico, Arduino: объяснение одноплатных микроконтроллеров

Шаг 3. Назначьте свои макросы

Теперь вы можете назначить определенные действия каждой клавише в таких программах, как OBS, или в файле code.py на самом Pico.

В OBS, например, перейдите в « Настройки»> « Горячие клавиши» и щелкните поле « Начать запись» . Затем нажмите одну из кнопок макросов. Нажмите ОК, чтобы сохранить макрос. Теперь попробуйте нажать эту кнопку. Если вы все настроили правильно, OBS начнет запись.

В отдельных программах используются разные макросы, так что поиграйте с любимым программным обеспечением и посмотрите, какие забавные сочетания клавиш вы найдете. Вот список того, что вы, возможно, захотите попробовать:

  • Назначьте клавишу для увеличения или уменьшения масштаба веб-страниц.
  • Назначьте ключ для лезвия в DaVinci Resolve.
  • Назначьте «аварийный переключатель», который сводит к минимуму все окна одним нажатием клавиши.
  • Назначьте клавишу, чтобы открыть диалоговое окно встречи в вашем календаре.
  • Назначьте ключ для увеличения или уменьшения размеров кисти в Photoshop.
  • Назначьте ключ для открытия Chrome.
  • Назначьте клавишу для переключения полноэкранного режима в чате Twitch.

Наслаждайтесь своим новым Macro Pad

Панель макросов или Stream Deck полезны для улучшения рабочих процессов потоковой передачи или повышения производительности. Но вам не нужно тратить сотни долларов, чтобы получить отличную функциональность. Вместо этого вы можете создать альтернативу со многими из тех же функций.

Вы даже можете добавить экраны RGB или OLED или другие настройки, недоступные в коммерческих единицах. А с колодой домашнего пивоварения вы будете удовлетворены тем, что создали нечто экстраординарное всего за несколько долларов и несколько недорогих запчастей.