Home » Blog » Pulsantiera per vMix e ATEM con Arduino

Pulsantiera per vMix e ATEM con Arduino

Pulsantiera ATEM

Per velocizzare e semplificare la regia video a Radio Lombardia ho pensato di centralizzare una serie di funzioni che altrimenti richiederebbero di navigare tra varie schermate: abilitare / disabilitare il picture in picture, variarne il contenuto, avviare / fermare la registrazione, etc…

È vero, esiste già Elgato Stream Deck (https://www.elgato.com/it/stream-deck), non ho inventato l’acqua calda.
Tuttavia questa pulsantiera (oltre a costare la metà) ha la particolarità di comunicare tramite ethernet anzichè USB: questo permette di pilotare più di un dispositivo, ad esempio due computer con due istanze diverse di vMix.

Basata sull’accoppiata Arduino + Ethernet Shield è sostanzialmente un semplicissimo client HTTP che invia richieste GET in funzione di quali tasti vengono premuti.

Nell’esempio che segue premendo il pulsante, il pin digitale 2 viene collegato a massa assumendo valore LOW.
Cominciamo con la parte elettronica:

Non ho inserito resistenze di pull-up perchè ho sfruttato quelle integrate nel chip Atmel, come si vede nel listato del programma:

#include <Ethernet.h>
#include <SPI.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte server[] = { 10, 0, 0, 40 };
EthernetClient client;
const int buttonPin2 = 2; 
int buttonState2 = 1;
void setup()
{
  Ethernet.begin(mac);
  pinMode(buttonPin2, INPUT_PULLUP);
}
void loop()
{
  buttonStateA5 = digitalRead(buttonPinA5);
  if (buttonStateA5 == LOW) {
    client.connect(server, 8088);
    client.println("GET /api/?Function=StartStopRecording HTTP/1.0");
    client.println();
    delay(1000); 
    client.stop();
  }
}

In questo esempio premendo il pulsante si fa alternativamente partire / arrestare la registrazione di un’istanza vMix su un computer con indirizzo IP 10.0.0.40

Chiaramente è possibile replicare il blocco “IF” per ogni funzione desiderata, con il limite del numero di porte dell’Arduino in uso (se non fossero sufficienti quelle presenti sulla scheda è possibile espanderle con uno shift register)

Il supporto per applicare i pulsanti sulla barra rack che si vede in foto l’ho realizzato con la stampante 3D, ecco il file STL:

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *