DIY Stream/DJ-дека Arduino

Источник:

Самодельная потоковая дека, сделанная с использованием Arduino Pro Micro, нескольких механических переключателей и одного потенциометра.
И, конечно, с 3D-принтером Prusa :)

Подготовленный Elgato Stream колода разработанных помощников Arduino pro micro и нестандартных механических шпинделей, потенциометра и самоконтроля для 3D-тискарного Prusa :)

В комплект модели входит 12 механических вращающихся потенциометров, а также 10K.

Самостоятельный Arduino для микросхемы доступен на AliExpress примерно за 50 чешских крон.

Выполненную модель можно использовать для PLA или PETG.

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

Клавишами, дополняющими размер зуба на высоту 0,10 мм и на размер 0,15-0,20 мм, можно установить предпочтительные детали в час тиски.

Я пот��жеба и 4x трубы M3x2 + 1x M3x10

Zezadu je připraveny otvor pro USB C port arduina

Нажмите кнопку потенциометра и цифровой кабель USB C.

Если вы используете код C++ для Arduino, десять зависимостей от этого, чтобы выполнить функцию, вы выбрали вашу потоковую колоду.

Если вы налепили клавиатуру на клавиатуру, вы можете вытащить ее из вашего 2D-каталога, чтобы он был урченым папкой, а не обычным папкой, а затем сломанной изоляцией. (это самая крайняя возможность)

#include

#include

#define MUTE 10

#define ПРЕДЫДУЩИЕ 14

#define PLAY_PAUSE 15

#define ПРОПУСК 16

#определить CTRL_ALT_F 6

#define CTRL_ALT_S 8

#define CTRL_ALT_P 7

#определить CTRL_ALT_C 9

#define КОПИЮ 3

#define ВСТАВКА 4

#define ARROW_LEFT 2

#define ARROW_RIGHT 5

int потенциометрPin = A0; // Контакт потенциометра

ИНТ предыдущийОбъем = -1; // Уложенные предварительные проверки (-1 за инициализацию)

// Настройка

недействительная настройка() {

// Установка контакта для подключения и входа с внутренними подтягивающими резисторами

pinMode (MUTE, INPUT_PULLUP);

pinMode (ПРЕДЫДУЩИЙ, INPUT_PULLUP);

pinMode (PLAY_PAUSE, INPUT_PULLUP);

pinMode (SKIP, INPUT_PULLUP);

pinMode (CTRL_ALT_F, INPUT_PULLUP);

pinMode (CTRL_ALT_S, INPUT_PULLUP);

pinMode (CTRL_ALT_P, INPUT_PULLUP);

pinMode (CTRL_ALT_C, INPUT_PULLUP);

pinMode (КОПИЯ, INPUT_PULLUP);

pinMode (PASTE, INPUT_PULLUP);

pinMode (ARROW_LEFT, INPUT_PULLUP);

pinMode (ARROW_RIGHT, INPUT_PULLUP);

// Инициализация HID для ключей и мультимедиа

Потребитель.begin();

Клавиатура.begin();

}

недействительный цикл() {

// *Тлачитка*

if (digitalRead(MUTE) == НИЗКИЙ) {

Consumer.write(MEDIA_VOLUME_MUTE);

задержка(200); // Мало продлева, аby se příkaz neopakoval příliš rychle

}

if (digitalRead(PREVIOUS) == LOW) {

Consumer.write(MEDIA_PREVIOUS);

задержка(200);

}

если (digitalRead(PLAY_PAUSE) == НИЗКИЙ) {

Consumer.write(MEDIA_PLAY_PAUSE);

задержка(200);

}

если (digitalRead(SKIP) == НИЗКИЙ) {

Consumer.write(MEDIA_NEXT);

задержка(200);

}

// *Комбинация клавиш*

если (digitalRead(CTRL_ALT_F) == НИЗКИЙ) {

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press('f');

задержка(200);

Keyboard.releaseAll();

}

если (digitalRead(CTRL_ALT_S) == НИЗКИЙ) {

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press('s');

задержка(200);

Keyboard.releaseAll();

}

если (digitalRead(CTRL_ALT_P) == НИЗКИЙ) {

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press('p');

задержка(200);

Keyboard.releaseAll();

}

если (digitalRead(CTRL_ALT_C) == НИЗКИЙ) {

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press('c');

задержка(200);

Keyboard.releaseAll();

}

если (digitalRead(COPY) == НИЗКИЙ) {

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press('c');

задержка(200);

Keyboard.releaseAll();

}

если (digitalRead(PASTE) == НИЗКИЙ) {

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press('v');

задержка(200);

Keyboard.releaseAll();

}

если (digitalRead(ARROW_LEFT) == НИЗКИЙ) {

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press('y'); // CTRL + Z город шипки долевой

задержка(200);

Keyboard.releaseAll();

}

если (digitalRead(ARROW_RIGHT) == НИЗКИЙ) {

Keyboard.press(KEY_LEFT_CTRL);

Keyboard.press('z'); // CTRL + Y город Шипки Доправа

задержка(200);

Keyboard.releaseAll();

}

// *Потенциометр*

intpotentiometerValue = AnalogRead(potentiometerPin);

int currentVolume = карта (potentiometerValue, 0, 1023, 0, 100);

если (текущийОбъем!= предыдущийОбъем) {

корректировкаОбъем(предыдущийОбъем, текущийОбъем

18:39
38
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.