Como fazer Stream Deck/Trocador de Tela SarduDeck com Arduino
Devido ao momento que estamos vivendo em 2021/2022 a demanda por chamadas de vídeo e Lives aumentou drasticamente. É muito comum que no meio de uma transmissão de vídeo seja necessário trocar a tela que você está exibindo e muitas vezes fazer essa tarefa utilizando o mouse, acaba não sendo tão prática pois frequentemente temos que minimizar janelas abertas, abrir o software de transmissão e por final clicar na janela que deseja transmitir. Isso com todo mundo vendo que você está trocando de tela na chamada de vídeo.
Para facilitar a mudança de cenários/telas/câmeras durante uma transmissão existe o chamado Stream Deck que é um equipamento que possui um cabo USB que é ligado ao PC e possui botões configuráveis para realizar as trocas de tela de forma muito simplificada. O principal problemas desses equipamentos são o custo elevado.
Para resolver esse problemas vamos utilizar um Arduino Pro Micro, uma latinha de sardinha e alguns poucos componentes para criar o Stream Deck mais barato do planeta, o SARDUDECK! Tudo isso sem perder confiabilidade!
No final do Artigo você encontra um vídeo com todas as instruções.
Se você não possui a IDE do Arduino instalada basta baixar gratuitamente no site oficial da Arduino: https://www.arduino.cc/en/software
Para instalar basta baixar a IDE de acordo com o seu sistema operacional, clicar em cima do arquivo e aceitar tudo que o programa solicitar.
Clique aqui para baixar a Matriz de Furos. Lembre-se de imprimir na escala real de 100%.
Lista de Materiais:
- 1 Cabo USB para o Arduino Pro Micro;
- 1 Arduino Pro Micro;
- 4 LEDs 5mm difusos azuis;
- 1 LED 5 mm difuso verde;
- 4 Botões PBS-110 NA sem trava preto;
- 5 Resistores de 220 Ohms por 1/4Watts (vermelho, vermelho, marrom, dourado);
- 1,5 metros de fio 0,25mm².
Lista ferramentas:
- 1 Broca de 5mm;
- 1 Broca de 7.0mm (no vídeo falo 7.5mm, porém é 7.0mm);
- 1 Lima chata 6 polegadas;
- 1 Furadeira;
- 1 Tesoura;
- 1 Ferro de Solda;
- 50 cm de estanho 1mm SN60 PB40 Fluxo RA(T2);
- 1 Tinta Spray preto fosco;
- 1 Pistola cola quente;
- 1 Alicate de corte.
Aqui o circuito eletrônico que deve ser montado:
Aqui o código que você deve carregar no seu Arduino Pro Micro, lembre-se de selecionar na IDE o Arduino Leonardo e a porta COM utilizada. Instruções detalhadas no vídeo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 |
/********************************************* Autor: Marlon Nardi Walendorff Projeto: SarduDeck Stream Deck/Trocador de telas para PC com Arduino Pro Micro Detalhes do projeto: https://marlonnardi.com/2022/02/13/como-fazer-stream-deck-trocador-de-tela-sardudeck-com-arduino /**********************************************/ //Incluindo bibliotecas #include <Keyboard.h> //========== Mapeamento de Hadware =========================// //Entradas digitais #define pinButtonCena1 2 #define pinButtonCena2 3 #define pinButtonCena3 4 #define pinButtonCena4 5 //Saídas digitais #define pinLEDCena1 6 #define pinLEDCena2 7 #define pinLEDCena3 8 #define pinLEDCena4 9 void setup() { //========== Declaraqção de entradas e saídas =========================// //Entradas digitais pinMode(pinButtonCena1, INPUT_PULLUP); pinMode(pinButtonCena2, INPUT_PULLUP); pinMode(pinButtonCena3, INPUT_PULLUP); pinMode(pinButtonCena4, INPUT_PULLUP); //Saídas digitais pinMode(pinLEDCena1, OUTPUT); pinMode(pinLEDCena2, OUTPUT); pinMode(pinLEDCena3, OUTPUT); pinMode(pinLEDCena4, OUTPUT); //Inicia o objeto keyboard Keyboard.begin(); }//end setup void loop() { if(digitalRead(pinButtonCena1) == LOW) // Se o botão da Cena1 for pressionado { Keyboard.press(KEY_F13);//O Arduino envia a tecla F15 para o PC delay(100);//Atraso de 100ms Keyboard.releaseAll();//Solta a simulação de presionar da tecla feio acima F15 digitalWrite(pinLEDCena1, HIGH);//Liga o LED da cena 1 digitalWrite(pinLEDCena2, LOW);//Desliga o LED da cena 2 digitalWrite(pinLEDCena3, LOW);//Desliga o LED da cena 3 digitalWrite(pinLEDCena4, LOW);//Desliga o LED da cena 4 } if(digitalRead(pinButtonCena2) == LOW) { Keyboard.press(KEY_F14); delay(100); Keyboard.releaseAll(); digitalWrite(pinLEDCena1, LOW); digitalWrite(pinLEDCena2, HIGH); digitalWrite(pinLEDCena3, LOW); digitalWrite(pinLEDCena4, LOW); } if(digitalRead(pinButtonCena3) == LOW) { Keyboard.press(KEY_F15); delay(100); Keyboard.releaseAll(); digitalWrite(pinLEDCena1, LOW); digitalWrite(pinLEDCena2, LOW); digitalWrite(pinLEDCena3, HIGH); digitalWrite(pinLEDCena4, LOW); } if(digitalRead(pinButtonCena4) == LOW){ Keyboard.press(KEY_F16); delay(100); Keyboard.releaseAll(); digitalWrite(pinLEDCena1, LOW); digitalWrite(pinLEDCena2, LOW); digitalWrite(pinLEDCena3, LOW); digitalWrite(pinLEDCena4, HIGH); } }//endloop |
Veja o passo a passo no vídeo abaixo: